Elastic BeanstalkアプリケーションからのログをテーリングするためのCLIユーティリティはありますか?具体的には、python flaskアプリケーションです。
彼らのeb CLIを使用してスナップショットを取得できます...
eb logs
しかし、私はしたいのですが( herokuが提供するものと同様に )...
eb logs --tail
誰かがこれを達成しましたか?
ありがとう!
いくつかの参照:
これは次のように簡単です。
eb logs --stream
https://docs.aws.Amazon.com/elasticbeanstalk/latest/dg/eb3-logs.html
(私は ポジティブラボの答え がすでに含まれていることを理解しています--stream
オプションですが、1つのグループだけでなく、すべてのログを表示したいので、その答えをざっと見ます。そして、私の記憶が良ければ、同じ質問をグーグルで続けて同じ場所に行く必要はありません。)
UPDATE:私の回答は賛成票を獲得し続けていますが、2013年以降は状況が変更されています。EBログを追跡するのが簡単になりました posit labs's答え それを行うためのより簡単な方法:-)。
元の答え:
私もこれに苦労していた。現在、eb CLIユーティリティでは、アプリケーションログを調整することはできません。
ただし、次の方法でこれらのログをテールすることができます。
.pem
ファイル)tail -f /var/log/nodejs/nodejs.log
。 Flaskアプリケーションに相当するものはわかりません。( Richard Soutar に感謝します。これで私を正しい方向に向けてくれました。)
-g
フラグを使用してロググループを設定し、--stream
を使用して結果をストリーミングできます。特定のマシンにsshする必要はありません。
eb logs -g /aws/elasticbeanstalk/yourApp-env/var/log/nodejs/nodejs.log --stream
Ebログは必要ない場合があります。最初にeb ssh
を試してください。
tail -f /var/log/*
したがって、まだそれを探している他の人のために、Elastic Beanstalk環境のログをテールする小さなツールを書きました。環境名とファイル名を指定するだけで、SSHを実行して各インスタンスのファイルをテールします。
./eb-tail env-name
または
./eb-tail env-name -f '/path/to/file'
これが私がすることです:
eb logs
から必要なログファイルの場所を取得します
eb logs
EBが表示する各ログには、その前/前に-------
が付いています。たとえば、PassengerがRailsにログオンする場合:
-------------------------------------
/var/app/support/logs/production.log
-------------------------------------
次に、サーバーにSSHでログインし、ログを記録します。
eb ssh # may have to eb ssh --setup for first time use
# from inside the server
tail -f /var/app/support/logs/production.log
これはeb-cliを使用しませんが、ログをストリーミングする最も簡単な方法は、eb logs -cw enable
を使用してから、cloudwatchポータルでストリームを読み取ることです。
Awsを含む複数のサーバーからのログを追跡するために使用するものは次のとおりです。
for $server in server-1 server-2 server-3 server-4; do
ssh -t $server -f "tail -f /var/log/some-process/error.log|sed -e 's/^/$server /'" &
done
ソース: https://Gist.github.com/iolloyd/da60ef316643d7894bdf
ローカルマシンの複数のリモートインスタンスを監視できます。
AWS EBは複数のログをまとめて収集するため、ログを直接テールにすることはできません。関心があるのはアプリケーションログであると想定して、EC2タブに移動し、実際のサーバーの接続ボタンを押すことができます(キーペアを定義する必要がある場合があります。指示に従ってください)。サーバーにログインすると、そこからログを記録できます。