タダです.
Mackerel を触るメンバーが自分以外にもいます.メンバーが自分の知らないところで監視設定を変更したり,Mackerel のホスト変更があった時にそのイベントを知りたいと思って調べた時に,Mackerel のホスト変更や退役,監視ルールの変更といったイベント発生時の通知を有効化し,Slack に通知してみました.どのような通知がされるのかを確認したのでこの記事にまとめていきます.
特定のチャンネルへの通知のイベントを有効化
Mackerel では Slack や Chatwork などの通知のチャンネル設定で次のイベントを通知が可能です.
- ホストステータス変更
- ホスト登録
- ホスト退役
- 監視ルールの操作
そのため,通知可能な全てのイベントを有効化にして動作を確認してみました.
ホストステータス変更
監視ホストのステータスは Working/Standby/Maintenance/Power Off
がありますが,これらのステータスを変更すると以下のように通知されます.一時的なメンテナンス後にちゃんと監視のステータスに戻したかを確認するといった事に活かせそうだと感じます.
ホスト登録・ホスト退役
自分が担当しているシステムでは AutoScaling があるので定期的に Mackerel のホストの登録と退役イベントが発生しているのでそのイベント発生時の通知を確認したところ次のように通知されました.
ホストの登録
ホストの退役
監視ルールの操作
監視ルールを設定したが,誰かが変更したり,新たに追加したりがどのように通知されるのかが気になっていたので個人的に一番気になっていた通知です.画面から監視ルールの新規追加や削除は誰が操作したかの通知がされました.mkr
コマンドでも同様に新規追加や削除は通知されました.
管理画面からの監視ルールの新規追加や削除
mkr コマンドからの監視ルールの新規追加や削除
確認した範囲では画面もmkr
コマンドからの監視ルールの設定変更(CPU 使用率の閾値の変更など)操作イベントは通知されなかったです.こういった用途は Slack をチャンネルに指定するのではなく Webhook 通知を選択するほうが良さそうです.これは別途また確認してみます.
通知チャンネルとして Webhook 通知を選択した場合は、JSON形式の通知内容に監視ルールの変更内容が含まれています。具体的には以下の通りです。
監視ルール作成と更新の場合
まとめ
Mackerel の通知イベントを Slack に通知してみました.Mackerel の操作イベントも通知してくれるので管理側として知らなかった...といった事態は避けるのをサポートしてくれているなと感じました一部通知されない操作もありましたが,別チャンネルでサポートされているようなので組み合わせて使っていきたいと思います.また他にも通知したいイベントが出てきたらリクエストも出していければと考えています!
通知対象として選べるイベントの種類は、今後も拡張を予定しています。「このイベントも対応してほしい!」といったご意見・ご要望、お待ちしております!