3

Elastic Beanstalk でウェブサーバーを実行しており、ロギングに Papertrail を使用しています。デプロイ中に papertrail をセットアップするために公式の .ebextensions スクリプトを使用していますが、問題があります。remote_syslog がログを papertrail にアップロードするときに送信者として使用されるホスト名の一部として環境変数を使用します。これは展開中には問題なく機能しますが、01_set_logger_hostnameコンテナー コマンドがトリガーされると、環境の構成を変更して環境変数を変更するたびに問題が発生します。呼び出しはアプリケーション サーバーを再起動するだけであるように思われるためeb config、ebextensions コンテナー コマンドを含む、展開中に実行されるスクリプトは実行されません。

"/tmp/set-logger-hostname.sh":
    mode: "00555"
    owner: root
    group: root
    encoding: plain
    content: |
      #!/bin/bash
      logger_config="/etc/log_files.yml"
      appname=`{ "Ref" : "AWSEBEnvironmentName" }`
      instid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`
      myhostname=${SOME_VARIABLE}_${appname}_${instid}

      if [ -f $logger_config ]; then
        # Sub the hostname
        sed "s/hostname:.*/hostname: $myhostname/" -i $logger_config       
      fi

ご覧のとおり、私のホスト名は に依存しているため、が変更さ${SOME_VARIABLE}れるたびにホスト名を更新する必要があります。${SOME_VARIABLE}eb config

コマンドが実行されるたびに実行されるスクリプトをトリガーしてeb config、Web アプリケーションを再起動するだけでなくremote_syslog、更新されたホスト名で再構成して再起動できるようにする方法はありますか?

4

1 に答える 1