arthur-1 Mackerel Advent Calendar 2023 マラソン4日目の記事です。
Mackerelにはいろんなところにメモがある
Mackerel上に存在する様々なリソースにはメモが設定できるようになっています。思いついたものをざっと挙げるだけでこんなにあります:
これらのほとんどが汎用的なメモ機能として用意されており、ユーザーが自由に目的を定めて使うことができます。
しかし、典型的でかつ有用な活用方法があれば、それを意識してデザインや仕様を特化させ、各種メモをより便利な機能にすることができると考えています。場合によってはアラートクローズ理由のメモのように、単純なメモを超えて目的をはっきりさせた機能として切り出す選択肢もあるでしょう。
ということで、今回は自分が考えている各種メモの活用方法についてご紹介します。
監視ルールのメモ
監視ルールにはメモを設定することができ、このメモはアラート画面やアラート通知などで表示されます。
監視ルールのメモは、アラートが発生した時の対応手順や参照すべきドキュメントへのリンクを貼っておく場所として有用です。アラートが発生して通知が来ているのに気づいたけど、いざ対応しようとしてもどうしたら良いかわからない、という経験はありませんか?playbook や runbookのリンクを貼ることで、アラート通知を目にした人が迷わず初期対応にあたることができます。
また、そもそもアラートは何らかのアクションを取る必要ある緊急事態にのみ発報されるのが理想的だと考えています。なぜなら、不要なアラート通知が何度もやってきていると通知を無視する習慣ができてしまい、結果的に対応すべきアラートを見逃してしまう可能性があるからです。対応は不要だけどイベントとして知っておきたいので監視ルールや通知を設定する場合には、対応不要な旨を監視ルールのメモに書いておくと良いでしょう。
監視ルール一覧でもメモは表示されるので、定期的にメモが書いていない監視ルールを見つけて棚卸しするのもチームで監視を育てる手段として有用かと思います。
アラートのメモ
アラートのメモは、アラート対応にまつわる様々な情報を書いておくのに便利な場所です。ただ、アラートの対応となるとメモ機能では文字数が足りない・多人数で同時に編集できない、など不便と感じる点もあるでしょう。その場合には、別途Google DocumentやScrapboxなどのページへのリンクを貼ると良いでしょう。
Mackerel APIでも読み書きができるので、EventBridgeチャンネルなどを用いた連携により、自動で関連するログを持ってきてアラートのメモに書き込む便利ツールを作ることもできます。実際に面白法人カヤック様がprepalertというツールを開発して運用しており、Mackerel Meetup #14 Tokyoなどで事例を共有いただきました。
これはアイデアですが、GitHubのPull Requestテンプレートのように、監視ルールに設定を加えて、発報されるアラートのメモのテンプレートが設定される機能ができると面白いのではないかなと思います。以下のような文章が発報されるアラートのメモに自動で入っているイメージですね。
担当者: (ここを埋める) 障害対応ログURL: (ここも埋める)
APIキーのメモ
再びカヤック様のブログを参照しますが、秘密情報を管理する際には出どころを記録しておきましょうという話題があります。
自分はさらに、単方向のリンクではなく相互にリンクできるよう、シークレットストア→各サービスの秘密情報だけでなく、各サービスの秘密情報→シークレットストアと辿れるように各サービスに記録すべきだと考えています。このルールを徹底すれば、秘密情報をローテートする際の影響調査がぐんと楽になるでしょう。
MackerelのAPIキーにはメモが書けるので、どのホストで使われているか、どのシークレットストアに登録されているかなどの情報を記録することができます。
いかがでしたか?
冒頭に述べた通り、メモの具体的な活用事例を集めることで、メモ機能のデザイン改善のアイデアが生まれることを狙っています。
実際に以下のリリースノートにて、アラートメモの活用方法に関するフィードバックを受けて、メモに含まれるURLをクリック可能にした事例が掲載されています:
Mackerelユーザーの皆さまにもMackerel MeetupやDrink Up、あるいはMackerel Advent Calendarで、メモの活用例を共有いただけますと幸いです。