Open5

CloudWatch Logs を CLI からより簡単に扱えるようにしたい

ymzksgkzymzksgkz

やりたい事は以下の 3 点

  1. ロググループが探せる
  2. ロググループを指定して tail -f 的な事ができる
  3. 開始時刻と終了時刻を指定して特定の期間のログを取得できる
ymzksgkzymzksgkz

1. ロググループが探せる

以下でロググループの一覧が出せる

$ cw ls groups

大量にある場合は適当に grep なりでフィルタリングする
自分の場合は ripgrep をよく使う

$ cw ls groups | rg hogehoge | rg fugafuga

ripgrep については以下の記事で簡単に説明してくれてそう
https://zenn.dev/uchitaka/articles/d671cf3f33b701

ymzksgkzymzksgkz

2.ロググループを指定して tail -f 的な事ができる

1 で取得したロググループ名を指定して tail -f できる。超イージー。

$ cw tail -f hogehoge
ymzksgkzymzksgkz

3. 開始時刻と終了時刻を指定して特定の期間のログを取得できる

cw tail <ロググループ名> の後、開始時刻と終了時刻を指定してあげると期間指定でログ出力できる
ログ出力しつつパイプで less コマンドに渡してログの中を検索するなりしていく

時刻は UTC で指定する
日本時刻で 2024-10-01T18:00:00 を指定したいなら 9 時間前の 2024-10-01T09:00:00 を指定する必要がある

cw tail hogehoge --start='2024-10-01T09:00:00' --end='2024-10-01T09:01:00' | less

vim とかに渡して不要な行を削除して絞り込んで行ってもよさそう

cw tail hogehoge --start='2024-10-01T09:00:00' --end='2024-10-01T09:01:00' | vim -