art-zabbix

現在請け負っているサービスでZabbixとChatWorkを連携してみましたので、手順をご紹介。

『新潟の空は今日も灰色』さんのスクリプトを利用しました。

ほぼこちらの手順通りに行ったところ、意図通りのものができました!
便利なスクリプト、手順のご紹介ありがとうございます。

私の環境について

  • AWS
  • ES2にZabbixManagerが導入済み

手順

1. ChatWorkの準備

ChatWorkとは無料でも利用できるオンラインチャットサービスです。
非常に高機能で、グループをたくさん作ったり、タスクを設定する、といったことが可能です。

アカウントをお持ちなければ登録してくださいね。

さらに、外部からChatWorkに投稿するためには別途申請が必要なChatWork APIを利用します。

ChatWork APIを利用するには利用申請が必要で、上記「ChatWork APIドキュメント」から申請を行うことができます。

利用が許可されるとChatWork APIを利用するためのtokenが払い出されますので、控えてください。

注意!

また、ChatWork APIを利用するとグループのすべてのユーザのチャットグループや発言を見ることができますので、取り扱いには十分な注意が必要です。
これの対応として、tokenをリセットする機能も実装されています。

私は、、、

プロジェクト専用のChatWorkアカウントを作成し、Zabbixアラート通知用のグループチャットを用意しました。

2. スクリプトの設置

スクリプトを『新潟の空は今日も灰色』さんのgithubからDLします。
スクリプトファイルはZabbixManagerがインストールされたサーバ上にアップし、実行権限を付与します。

スクリプトのアップ場所はZabbixの設定ファイルを覗いて確認してください。

# 設定ファイルの位置
/etc/zabbix/zabbix_server.conf

# スクリプトは以下に配置
/usr/lib/zabbix/alertscripts/zabbix2chatwork.py
動作テスト!

『新潟の空は今日も灰色』さんの記事にある通り、以下のコマンドを打って通知が届くかテストします。

./zabbix2chatwork.py [chatwork_api_token]:[チャットルームID or チャットルーム名] [表題] [メッセージ本文]

お!うまくいきました!
art-zabbix_relation_chatwork

無人なのにしゃべっています。
なんとなく、嬉しいです。

3. Zabbixのアクションを設定

a. メディアタイプの追加

メディアタイプとして「ChatWork連携」を追加しましょう。

管理権限を持つユーザでZabbixにログインし、管理>メディアタイプへと進みます。

  • 説明・・・任意の名称です。今回は`ChatWork連携`とします。
  • タイプ・・・スクリプト
  • スクリプト名・・・手順2ファイルのファイル名を指定します。今回は`zabbix2chatwork.py`です。
b. ユーザにメディアを紐づける

次に、管理>ユーザに移動し、任意のユーザのメディアとして、追加したChatWork連携を紐づけます。

ユーザの作成、編集画面にあるメディアタブに移動します。

追加リンクをクリックしてダイアログを表示させ、そこからChatWork連携のメディアを追加します。

c. アクションを設定する

最後に、設定>アクションに遷移し、イベント発生時のアクションを設定してください。

アクションの追加、更新画面に移動し、アクションの実行内容タブからChatWork連携<のメディアを指定したユーザに、通知が入るようにしてください。

Zabbizの設定について、細かい説明は端折りましたが、これで一通りの設定が完了です。

ChatWorkからの通知

ChatWorkにはChromeのデスクトップ通知が利用できますが、私は設定でTo:があった場合のみ通知するよう設定しています。
これだとアラートを見落とす可能性が出てくるため、To:をつけるように設定します。

サーバスクリプトはTo指定に対応していないため、ZabbixのアラートメッセージにToを含める方法を取りました。

[code lang="text"]
[To:11111111][To:99999999]
お疲れ様でございます。
アラートが発生いたしました。サーバの状態を確認してください。

Trigger: {TRIGGER.NAME}
Trigger status: {TRIGGER.STATUS}
Trigger severity: {TRIGGER.SEVERITY}

夜中にこの通知見ても、怒りを覚えないメッセージにすることがポイントです。

感想

メールサーバを立てるのは難易度が高いですが、ChatWrokならスクリプトを叩くだけなのでずっと簡単に設定することができました。

メール通知も別に設定(SES)していますが、メインのコミュニケーションツールはChatWrokを利用しているため、常時みているツールでアラートが目に入るという理想的な設定になったと思います。

最後に、設定は完ぺきにしても、実際にはアラートが発生しないようにメンテナンスしていきたいですね。

スポンサーリンク
ad_336
ad_336
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存