
ChatWorkでDatadogのアラート通知を受けてみた
2016.07.07
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
AWSチームのすずきです。
今回、国産チャットツールとして知られるChatWork、監視SaaSのDatadogが検知した アラートの通知先として設定する機会がありましたので、その内容を紹介させて頂きます。
準備
- チャットワークAPIの利用に必要となるAPIトークンの発行と、通知先(room_id)の確認を行います。
 
APIトークン発行
- 参考リンク
 
チャットワークの「動作設定」画面に「API発行」が表示されない場合、APIトークンの発行を管理者に依頼してください。
APIテスト環境
OS
- Amazon Linux
 
APIキーの動作テストは、AmazonLinux標準の「curl」を利用しました。
追加パッケージ
- jq
 
JSONの視認性を向上、フィルタリングの実現のため、AmazonLinux標準リポジトリより「jq」をインストールしました。
sudo yum install jq -y
API実行
- APIトークンの動作確認を兼ね、参加チャットの一覧取得するAPIを実行します。
 - ChatWork APIドキュメント(エンドポイント: /rooms)
 
TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -X GET -H "X-ChatWorkToken: ${TOKEN}" "https://api.chatwork.com/v1/rooms" | head -n 3
room_id確認
- チャット通知先として利用する「room_id」を確認します。
 - チャットワークのURL、GETパラメータとして表示される「rid」は「room_id」は異なりますのでご注意ください。
 
グループチャット一覧確認
TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -X GET -H "X-ChatWorkToken: ${TOKEN}" "https://api.chatwork.com/v1/rooms" | jq '.[]|select(.type == "group") '
チャット名指定
TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl -X GET -H "X-ChatWorkToken: ${TOKEN}" "https://api.chatwork.com/v1/rooms" | jq '.[]|select(.name == "テスト") '
実行例
{
  "room_id": 0000000,
  "name": "テスト",
  "type": "group",
  "role": "member",
  "sticky": false,
  "unread_num": 2,
  "mention_num": 0,
  "mytask_num": 0,
  "message_num": 2,
  "file_num": 0,
  "task_num": 0,
  "icon_path": "https://tky-chat-work-appdata.s3.amazonaws.com/icon/ico_group.png",
  "last_update_time": 0000000
}
Datadog設定
Integration 設定
- ChatWork Integration 設定画面を開きます
 


通知先設定
- Auth token として、先に疎通テストを実施したAPIトークンを記入します。
 - Room Idは、先に確認した「room_id」を記入します。
 - Rome Name は任意の名称とします
 

監視設定
監視設定作成
- 「New Monitor」より監視設定を作成します
 

監視対象指定
- 「Metric」より監視対象を指定します
 - 今回、SQSのデッドレターキューの発生を想定し、デットレターキューとして指定したキューに蓄積したメッセージ数を、監視対象としています。
 

監視条件設定
- Alert, Warnningの閾値を指定します。
 - Datadog,Cloudwatchメトリックの取得頻度は約10分、duringの設定時にはご注意ください。
 

通知メッセージ
- チャット通知に含めるメッセージを記載します
 - 何らかの障害対応が予想されるアラートの場合、その手順などの案内が可能です
 
通知先指定
- 先にChatWork Integrationで設定したチャット情報を指定します。
 


アラートテスト
Datadogのアラート通知が実施される事を確認します。
擬似障害
- 監視対象としたSQSのキューに対し、AWSコンソールよりメッセージを投入します
 


Datadog 検出確認
- Datadogのコンソールで、アラート発生したことを確認します
 

チャットワーク通知確認
- 障害発生を示すメッセージが到着しています。
 

チャットリンク表示確認
- チャット記載のURLより、該当アラートを示すDatadogの詳細画面に遷移することができます。
 

まとめ
今回はDatadogからChatWorkへの設定例を紹介させて頂きましたが、 Datadogはチャット通知先として、SlackやHipChatなども利用可能です。
DatadogのIntegration導入、設定とも簡単に実施できますので、ぜひお試しください。









