OpManagerのアラートをChatworkの通知で受け取る
OpManagerは、装置に関連付けた監視に応じて発報されるアラートの通知を、複数のプロファイルタイプから選択することができます。
通知プロファイル設定
https://www.manageengine.jp/products/OpManager/help/configuring-notifications.html
本記事では、OpManagerが発報するアラートの情報を、Chatworkに通知する方法を紹介します。
以後の解説は、OpManagerと、通知を受信したいChatworkがすでに導入されていると仮定します。Chatworkの導入については 株式会社kubell公式サイトをご参照ください。
Chatwork
https://go.chatwork.com/ja/
便利な使い方
組織内のコミュニケーションツールとしてChatworkをすでに利用している場合、OpManagerのアラートを業務コミュニケーションと同じプラットフォーム上で管理でき、受け取る情報の種類が変わるたびに異なるツール間を移動する煩雑さが軽減されます。メッセージ内にURLを配置すると受信するメッセージ上で自動的にリンクが付加されるため、アラートが発生している装置の情報にワンクリックでアクセスできます。
アラート通知が必要な装置をすべて通知プロファイルに関連付ければ、OpManagerのアラートの通知をChatworkに一元的に集約して確認できます。
また、OpManagerのアラートをWebhookで送信するために必要なChatwork APIのエンドポイントURLは、Chatworkの個々のチャットに対して一意に発行されるroom IDに紐づける形で発行できます。組織内のグループごとにエンドポイントURLを追加し、通知プロファイルをエンドポイントURLごとに設定すれば、発生したアラートの通知がその発生源に応じて対応するグループのチャットに送信され、グループ内で即座に対応者や対応方針の確認を行えるようになります。
たとえば、以下の「静岡監視グループ」と「みなとみらい監視グループ」は監視対象の装置が設置されている拠点が異なり、各拠点の装置を監視するグループメンバーも異なっています。それぞれのグループに通知されるアラートを確認したら、そのままこのグループチャット内でメッセージのやり取りを行い、情報共有や対応方針の決定を行えます。
実現すること
OpManagerの通知プロファイルタイプ「Webhookの実行」を利用して、ChatworkのAPIエンドポイントにOpManagerのアラート通知を送信し、Chatwork上でメッセージとして受信します。
事前準備
OpManagerからChatworkにメッセージを送信するために、あらかじめChatworkのAPIトークンを取得する必要があります。ChatworkのAPI管理画面にアクセスし、APIトークンの発行を行っておきます。
API管理画面
https://www.chatwork.com/service/packages/chatwork/subpackages/api/token.php
※API管理画面へのアクセスには管理者アカウントでのログインが必要です。
APIトークンはOpManager上での通知プロファイルの設定時に使用します。
連携の設定手順
以下の手順にてOpManagerとChatworkの連携を設定します。
チャットのroom IDの確認
メッセージを受信するチャットのroom IDを取得します。room IDはChatwork上の個々のチャットに固有の番号です。当該のチャットを表示した状態で、画面右上のChatworkデスクトップアプリのタブ上に表示されるChatworkアイコンをクリックすると確認できます。
OpManagerのWebhook通知プロファイルの設定
OpManagerの[設定]タブ→「通知」→[通知プロファイル]から、プロファイルタイプの「Webhookの実行」を選択し、Webhookの設定を行います。
「hook URL」には、Chatworkのチャットにメッセージを投稿するAPIエンドポイントのURLを入力します。詳細は、以下のページをご参照ください。
チャットにメッセージを投稿する
https://developer.chatwork.com/reference/post-rooms-room_id-messages
エンドポイントURL内の「{room_id}」には、手順1で取得したroom IDを記載します。
「データタイプ」は「フォームURL(エンコード済み)」を選択します。
「カスタムパラメーター」の「キー」に「body」を、「値」に表示させるメッセージを入力します。コンテンツbody内では変数を利用できます。これにより、アラート発生元の装置の情報を反映したメッセージを生成できます。使用可能な変数の一覧は、通知プロファイルの編集画面でご確認いただけます。
また、コンテンツbody内にURLを配置すると受信するメッセージ上で自動的にリンクが付加されます。
各変数の詳細は以下のヘルプページをご参照ください。
ワークフローで使用可能な変数
https://www.manageengine.jp/products/OpManager/help/workflow-variables.html#alert
その後、「リクエストヘッダー」のキーをフォーム横の[+]ボタンで追加し、「キー」に「x-chatworktoken」を、「値」に本投稿の「事前準備」で取得したAPIトークンを入力します。
Webhookを使った通知プロファイルのその他の設定手順については、OpManagerヘルプドキュメントをご参照ください。
Webhook通知
https://www.manageengine.jp/products/OpManager/help/webhook_notification.html
通知プロファイルの編集画面上の[テスト実行]にて、各フィールドに入力した内容をもとにメッセージ送受信のチェックが行えます。テストの成否はOpManagerのUI上にポップアップ表示されるメッセージで確認できます。
なお、Chatwork APIの仕様、書式については、ChatworkのAPIドキュメントをご参照ください。
APIドキュメント
https://developer.chatwork.com