45

Elastic Beanstalk アプリケーションからのログを追跡するための CLI ユーティリティはありますか。具体的には、Python フラスコ アプリケーションです。

eb CLI を使用してスナップショットを取得できます...

eb logs

しかし、私はやりたいです(herokuが提供するものと同様)...

eb logs --tail

これを達成した人はいますか?

ありがとう!


参考文献:

4

12 に答える 12

26

更新:私の回答は賛成票を獲得し続けていますが、2013 年以降は状況が変わりました。EB ログを追跡するのが簡単になりました。より簡単な方法については、poslabsの回答を参照してください :-)。


元の答え:

私もこれで苦労したことがあります。現在、eb CLI ユーティリティでは、アプリケーション ログのテーリングが許可されていないようです。

ただし、次の方法でこれらのログを追跡できます。

  1. EC2 コンソールでのキー ペアの作成 (.pemファイルが作成されます)
  2. EB インスタンスをこのキーペアにリンクする (EB コンソールで)
  3. EC2 コンソールでインスタンスのパブリック DNS を見つける
  4. ssh 経由でインスタンスに接続する (`ssh -i [yourpemfile.pem] ec2-user@[your.public.dns]
  5. ログファイルをテーリングします。Node.js アプリケーションの場合、それはtail -f /var/log/nodejs/nodejs.log. Flask アプリケーションに相当するものは何かわかりません。

(これについて正しい方向に向けてくれたRichard Soutarに感謝します。)

于 2013-09-04T22:42:49.840 に答える
7

eb ログは必要ないかもしれません。eb ssh最初に試してから試してください

tail -f /var/log/*
于 2014-06-14T14:41:29.357 に答える
2

そのため、まだ探している他の人のために、エラスティック Beanstalk 環境のログを追跡するための小さなツールを作成しました。環境名とファイル名を指定するだけで、SSH が実行され、各インスタンスのファイルが追跡されます。

./eb-tail env-name

また

./eb-tail env-name -f '/path/to/file'

https://github.com/ahmednasir91/eb-tail

于 2016-02-14T15:38:47.863 に答える
1

SSH でeb logs --streamand withを使用してエラーが発生したため、より詳細な回答:tail

  1. このコマンドを使用して、eb CLI で Cloudwatch を有効にしますeb logs --cloudwatch-logs enable

  2. AWS コンソールに移動し、Cloudwatch を開きます。次に、ログ グループに移動し、ストリーミングするログ (私の場合は web.stdout.log) を選択し、下の画像で強調表示されているパスをコピーします。

    ここに画像の説明を入力

  3. ここで、eb CLI を再度開き、 と入力しeb logs -g your_copied_path --streamます。例: eb logs -g /aws/elasticbeanstalk/yourEbsApp-env/var/log/web.stdout.log --stream. そして、ログテーリングが始まります。

  4. (オプション) 3 番目のポイントを完全にスキップして、CloudWatch パネルの上にあるログを直接ストリーミングできます。ログ グループを開いて、その下にあるログ ストリームを選択するだけです。

于 2021-03-15T12:06:53.523 に答える
0

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

これにより、ローカル マシンで複数のリモート インスタンスを監視できます。

于 2015-03-03T21:47:55.000 に答える
0

私にとっては、2 つのステップが必要でした。

を実行する必要がありますがeb logs --stream、その前に次を実行してください。 eb logs --cloudwatch-logs enable

出来上がり!

于 2020-05-16T07:30:02.947 に答える
-6

これをテストできる環境はありませんが、コードを見ると、次のことができるように見えます。

eb ログの末尾

constants.py の 129 行目を確認してください

于 2013-06-21T13:04:21.927 に答える