Zabbix障害通知をメールからChatworkに変更する方法

Zabbixの障害通知をメールから、Chatworkに変更する。

みなさん、こんにんちは!
大内です!

今回は、サーバー監視業務の効率化を目指して障害通知をメールではなく、Chatworkにする手順をご紹介します。

なぜ、Chatwork通知が良いのか?

今回、メールからChatworkへ通知の変更を検討した理由は以下の2点です。

  1. ポップアップ通知設定をしていると障害時の通知により早く気付くことが可能。
  2. その後のアクションや動きをChatworkグループで共有できるため、メンバー間疎通が取れやすい

つまりは、「より早く、より円滑に」を目的としています!

次からは、具体的な設定方法をご紹介します。

Chatworkへの通知設定手順

設定にあたり前提条件は以下になります。

前提条件

  • 監視対象となるホストが登録されていること(アイテム、トリガーを含む)。
  • 通知先となるChatworkアカウントが用意されていること。

1. Zabbixサーバーに通知用のスクリプトを配置

障害通知をChatworkへ送信するスクリプトを作成します。

  1. /usr/lib/zabbix/alertscripts/配下にスクリプトを配置する
  2. スクリプトの中身を記載する
  ## Chatwork Account API Token
  TOKEN="CHATWORK_TOKEN"  ←送り主アカウントのトークン情報  
  (チャットワークアカウント情報→動作設定→API発行で取得する)
          

  ENDPOINT="https://api.chatwork.com/v2/rooms/${1}/messages" 
  SUBJECT=${2}
  MESSAGE=${3}

  /usr/bin/curl -X POST -H "X-ChatWorkToken: ${TOKEN}" -d "body=[info][title]${SUBJECT}[/title]${MESSAGE}[/info]" ${ENDPOINT}

2. メディアタイプの作成

配置したスクリプトをメディアタイプとして設定する。

  1. メディアタイプの作成
    1. 「管理」→「メディアタイプ」→「メディアタイプの作成」を押下する
    2. 任意の名前を記載し、タイプを「スクリプト」に設定する
    3. スクリプト名を、/usr/lib/zabbix/alertscripts/配下に作成したスクリプト名と同一にする
    4. パラメータに以下の3つのマクロを設定する
      1. {ALERT.SENDTO}
      2. {ALERT.SUBJECT}
      3. {ALERT.MESSAGE}
    5. 「追加」を押下する

 

3. ユーザー作成

始めにZabbix管理画面から通知相手となるユーザーを作成します。

  1. ユーザーグループの作成
    1. 「管理」→「ユーザーグループ」→「ユーザーグループの作成」を押下する
    2. グループ名を記述し、ユーザーグループを指定し「追加」を押下する

 

  1. ユーザー作成
    1. 「管理」→「ユーザー」→「ユーザーの作成」を押下する
    2. 「エイリアス」(ユーザー名)入力、グループを選択し、「パスワード」「言語」「更新」「ページあたりの表示行数」を指定する
      1. 「メディア」タブを選択し、「追加」を押下する
      2. 「タイプ」で通知方法を指定し、送信先情報を入力、チャットワークならルームIDを入力
      3. 「追加」を押下する

4. アクションの設定

続いて、通知アクションの設定を行います。

  1. 通知アクションの登録
    1. 「設定」→「アクション」→「アクションの作成」を押下する
  2. アクションの設定
    1. 任意の「名前」と、障害アクション条件を設定する
  3. 実行内容 
    1. 「実行内容」タブを押下し、メッセージ条件・内容を設定する
    2. 実行内容「新規」を押下する
    3. 実行内容の詳細を設定する
      1. 実行内容のタイプ  :メッセージの送信
      2. ユーザーに送信   :作成したユーザーを選択
      3. 次のメディアのみ使用:作成したメディアタイプを選択
  4. 復旧時実行内容
    1. 「復旧時実行内容」タブを押下し、復旧時のメッセージを設定する
    2. 実行内容「新規」を押下する
    3. 実行内容の詳細を設定する
      1. 実行内容のタイプ:復旧メッセージの送信

  5. 障害対応コメント入力時実行内容
    1. 「障害対応コメント入力時実行内容」タブを押下し、復旧時のメッセージを設定する
    2. 実行内容「新規」を押下する
    3. 実行内容の詳細を設定する
      1. 実行内容のタイプ  :障害対応コメントを残したすべての人に通知
      2. 次のメディアのみ使用:作成したメディアタイプを選択

動作確認

以上で設定手順は完了です。

最後にテストアラートを上げて、問題なく届くか確認してみてください!

 

このようにChatworkに通知が届けば成功です!

まとめ

メールでの通知ではなく、Chatworkへの通知に切り替えたことにより、
障害の早期発見や対応時のメンバー間連携がスムーズになりました。
※状況報告や対応者確認をそのままChatworkで行えるため。

Webサイトやシステムを運用している方であれば、サーバー障害は緊急を要するものかと思います。
現在、

  • 障害の発見が遅くなってしまう
  • 複数人で運用している場合に、誰が障害対応しているのか解らず連携が取れない

などでお悩みの方は是非、試してみて下さい!

ABOUTこの記事をかいた人

1992年栃木の小山生まれ、横浜在住。福島大卒。 経歴:運用・保守→Webアプリケーション開発→ディレクター。 オウンドメディア運用・社内報運用・勉強会運用に奮闘中。