🐾

Datadogで成功通知をさせたい時に Datadog Workflowを使ってみる

2024/08/19に公開

Datadog Monitorを活用してアラート通知を行っています。通常、アラートは何らかのアクションを促すために設けられ、ALERTまたはWARNの状態で通知されます。Slackインテグレーションを利用している場合も、そのレベルに応じて通知が行われます。

しかし、定期バッチ処理の成功通知など、黄色や赤のアラートレベルを使いたくないケースもあります。
今回はDatadog MonitorとDatadog Workflowを組み合わせて、成功通知を実現する方法について考えてみました。

Slackメッセージ送信用のDatadog Workflowを作る

  • MonitorをトリガーとするWorkflowを作成します

  • workflowをハンドルするためのIDを決めます

  • Slackメッセージの送信を呼び出します

Message text ですが今回このようにしてモニターのnameとmessageをそのまま出力するようにしました。

{{ Source.monitor.name }}
{{ Source.monitor.message }}

※ ここは他にも様々な変数が使えます。

# モニター情報関連
{{Source.monitor.name}}: モニターの名前
{{Source.monitor.message}}: モニターのメッセージ
{{Source.monitor.id}}: モニターのID
{{Source.monitor.url}}: モニターのURL

# ステータス関連
{{Source.monitor.status}}: モニターの現在のステータス
{{Source.monitor.threshold}}: アラートがトリガーされた閾値

# イベント関連
{{Source.event.title}}: イベントのタイトル
{{Source.event.text}}: イベントの本文
{{Source.event.id}}: イベントのID
{{Source.event.url}}: イベントのURL

Datadog MonitorsからWorkflowを呼び出す

成功通知したいモニター設定を行い、Configure notificationsで作成したWorkflowを呼び出します。

{{#is_alert}}
@workflow-notification-hogehoge 
# ハンドルするためのIDで呼び出しします
# リカバリーで通知させないため is_alert 入れてます
# モニターのタイトルとメッセージをそのまま引き継ぎます
{{/is_alert}}

Slack側で通知されればOK

正直Workflowの良い使い道を思いつけてなかったですが、使いこなせるとめちゃめちゃ便利だと思うのでアイディア思いついたら使ってこうと思いました。

Discussion