Mackerelのアラート通知をChatworkに飛ばしてみました。

2016.08.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんばんわ、吉江です。
以前の記事で触れていたMackerelを最近触ることが多く、
その中でアラート通知方法の確認として、メール通知ではなく、Chatworkへのアラート通知方法をやってみました。

前提条件

以下の環境で確認作業を行ってみました。

  • Linux環境(Amazon Linux AMI 2016.03.3 x86_64 HVM)

実作業手順

下準備

下準備として、ChatWork側で以下の作業を実施しておく必要があります。
詳細な手順はこちらのブログをご確認頂ければと思います。

  • chatworkAPIトークンの取得
  • アラート通知部屋を作成

Mackerel設定

監視ルール設定変更

チャンネル設定を選択します。 2016-08-12_15_46_04

チャンネル設定変更

デフォルトでは登録されているユーザーに対してメールでの通知のみとなってます。
ここでchatworkを通知チャンネルに追加します。

右上の「通知グループ/通知チャンネルを追加」を選択します。 2016-08-12_15_46_19

チャンネル候補の中からChatWorkを選択します。 2016-08-12_15_46_24

選択後は、表示されてるテキストボックスに情報を入力して作成を選択します。 2016-08-12_15_47_00

問題なく登録されれば以下の画像にように通知チャンネルが追加されます。 2016-08-12_15_47_03

通知テスト

今回は死活監視を妨げる方法でアラート通知を実現するので、 監視エージェントを停止します。

mackerel-agent停止

$ sudo service mackerel-agent stop

通知部屋確認

うまい具合にアラート通知が到着しました。 2016-08-12_16_54_45

おまけ

MackerelではMackerel-agentをインストールするだけで自動で監視対象に登録されます。
サーバー側でホスト登録を考えなくて済むことからAnsibleなどの構成ツールを使ってエージェントをインストールすれば容易に監視が始められます。
ただ、AutoScalingで自動スケールアウト/スケールインを行うことを考慮すると実装方法はちょっと考える必要があるかなと感じてました。

そこでドキュメントを読んでみると、「自動退役」という設定がありましたのでご紹介します。
以下の「AUTO_RETIREMENT=1」をmackerel-agentに記載することで、監視ホストでmackerel-agentが停止すると監視対象から外れてくれます。

$ echo "AUTO_RETIREMENT=1" >> /etc/sysconfig/mackerel-agent
$ sudo /etc/init.d/mackerel-agent stop

最後に

実際に作業してみた感想としては、導入にさほど苦労することなく使えたというのが率直な感想です。
あとは通知メッセージの変更が出来るかが気になる所ですが、まだ触れ切れていないところが多いので追々記事にできたらと思います。

参考URL

Mackerel公式:ChatWorkに通知を表示する
Mackerel公式ヘルプ
Chatwork公式:APIドキュメント