職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

CloudWatch Logs のログを華麗に読む CWLReader を公開

CWLReader という小さなソフトウェアを公開しました。

github.com

解決しようとした課題

AWS でいろいろ運用している皆さんの多くは、各種ログを CloudWatch Logs へ溜め込んでいることでしょう。
ログの内容に不審な点があれば通知を投げるといった仕組みも一緒に設けられていることが多いと思いますが、特に立ち上げ間もないシステムの場合は、人力で全てのエラーログに目を通すことは重要です。何故なら、どういったログがどのように出ていれば通知を投げれば良いのかという知見が蓄積されていないからです。

そこでログを見る訳ですが、公式の CloudWatch Logs のツールだと、「どこまで読んだ」という情報が管理されないため、全てのログを漏れなく見るためには、自分でその情報を管理する必要があります。

CWLReader の特徴

  • ログを見る権限だけの IAM ユーザを用意し、そのキーを使ってログを取得できる
  • IAM ユーザのキーは、ブラウザの LocalStorage で管理される
  • 「どこまで読んだ」の情報は、LogGroup ごとに、これも LocalStorage で管理される
  • ログの続きを読もうとするとき、前回の「どこまで読んだ」の情報に基づいて続きからロードできる
  • ファイル1個で稼働する
    • file:// で読ませることも可能だけど、これは LocalStorage の内容を他のスクリプトに読まれる危険性があるのでオススメはできない

さいごに

何かお気付きの点などございましたら、issue を上げて頂きますと嬉しいです。
英語書くのしんどいよ〜という方は、Twitterで連絡下さい(ブロックしてたらゴメンなさい)。