。
AWSCLI:AWSログフィルタログ・イベント
AWSCLIは、AWSサービスのためのCLI公式で、今ではあまりにもログをサポートしています。
ヘルプを表示するには:
$ aws logs filter-log-events help
フィルタがに基づいてすることができます。
- ログ・グループ名
--log-group-name
(最後のもののみが使用されている)
- ログ・ストリーム名
--log-stream-name
(指定することができます複数回)
- 開始時刻
--start-time
- 終了時刻
--end-time
(ない--stop-time
)
- フィルタパター
--filter-pattern
のみ--log-group-name
必須です。
時間はミリ秒(秒ではない)を使用してエポックとして表されます。
呼び出しは次のようになります。
$ aws logs filter-log-events \
--start-time 1447167000000 \
--end-time 1447167600000 \
--log-group-name /var/log/syslog \
--filter-pattern ERROR \
--output text
それは、タブ区切りテキストの6列を出力します。
- 第一:
EVENTS
は(表すために、ラインは、ログレコードやその他のない情報であり、 eventId
- 第三:第2回)
timestamp
(時間はイベント時刻として記録によって宣言)
- 第4回:
logStreamName
- 第5回:
message
- 6位:だから
ingestionTime
お手元にLinuxのコマンドラインユーティリティを持っているとはわずか約2015-11-10T14:50:00Z
から2015-11-10T15:00:00Z
に間隔の記録ログメッセージを気にしている場合、あなたは可能次のようにそれを得る:プラグインcwlogsと
$ aws logs filter-log-events \
--start-time `date -d 2015-11-10T14:50:00Z +%s`000 \
--end-time `date -d 2015-11-10T15:00:00Z +%s`000 \
--log-group-name /var/log/syslog \
--filter-pattern ERROR \
--output text| grep "^EVENTS"|cut -f 5
AWSCLI
cwlogs
AWSCLIプラグインが使用する方が簡単です:
$ aws logs filter \
--start-time 2015-11-10T14:50:00Z \
--end-time 2015-11-10T15:00:00Z \
--log-group-name /var/log/syslog \
--filter-pattern ERROR
それは、人間が読める日時を期待し、常に(スペース区切り)の列でテキスト出力を返します。
- 第一:
logStreamName
- 第2:
date
- 第3:
time
- 第4番目まで終了:一方
message
、それは(プラス現在pip
を行うには、さらにいくつかの手順は、信頼できるものとしてインストールドメインを宣言する必要があります)少し難しくインストールすることです。 jorgebastida/awslogs
から
$ pip install awscli-cwlogs --upgrade \
--extra-index-url=http://aws-cloudwatch.s3-website-us-east-1.amazonaws.com/ \
--trusted-host aws-cloudwatch.s3-website-us-east-1.amazonaws.com
$ aws configure set plugins.cwlogs cwlogs
(あなたが最後のコマンドでタイプミスをする場合は、ちょうど~/.aws/config
ファイルでそれを修正)
awslogs
コマンドこの1私のお気に入りになって - 、インストールが簡単に強力、使いやすいです。
インストール:
$ pip install awslogs
使用可能なログ・グループを一覧表示するには:
$ awslogs groups
ログレコードを取得し、それらに従って
$ awslogs streams /var/log/syslog
ストリーム一覧表示するには(彼らのように新しいものを参照してください来る):
$ awslogs get --watch /var/log/syslog
そして、あなたは、時間帯によってレコードをフィルタリングすることができる:バージョンが--filter-pattern
オプションもそこに持っている0.2.0以来
$ awslogs get /var/log/syslog -s 2015-11-10T15:45:00 -e 2015-11-10T15:50:00
。
出力は列があります。
- 第一:あなたが最初の二つを切り替えること
--no-stream
--no-group
を使用してmessage
と:
第三ストリーム名をログに記録: 第二グループ名をログに記録列はオフになります。 --no-color
を使用すると、出力にカラーコントロール文字がなくなることがあります。
編集:awslogs
バージョン0.2.0は、--filter-pattern
を追加します。
私は私の質問を明確にしました。我々はメトリクスを必要とせず、必要とせず、各ログラインは自由形式の文字列です。私はログインをカウントしたり、コードを返そうとしていません。デバッグ出力が他の多くの出力に散在している特定の時点から特定の問題をデバッグしようとしています。そしてこの問題は数分続いたので、ウェブビューからコピーアウトするのは一般的に実行可能な解決策ではありません。 – Zach