CloudWatch Logs Insightsで、秒毎のログイベント数をカウントしたい時。すっげぇ簡単なんだけどすぐ忘れるから。
ログストリームと時間範囲指定後、以下クエリを実行する。sをm,hにして分毎、時間毎のカウントとしてもよい。
fileds @timestamp, @message
| sort @timestamp desc
| stats count(*) by bin(1s)
あとおまけで、「フィルタキーワードのor条件 + 大文字小文字区別しない」パターン。
fileds @timestamp, @message
| filter @message like /(?i)(error|fail|exception)/
| sort @timestamp desc
以下にすると、該当ログイベントを含むログストリーム数をカウントする。
fileds @timestamp, @message
| filter @message like /(?i)(error|fail|exception)/
| sort @timestamp desc
| stats count(*) by @logStream
こないだちょっと思ったのが、キーワード"hoge"を含むログのみ絞り込んで、その中でかつerrorが出力されているものを抽出したい時はどうればいいんだろう、と。こう言う時にparseが使えるんだろうか?いいかげんparse覚えたい。