Contents
必要な権限と OAuth スコープの確認
Datadog と Slack を連携させる際に最も重要なのは、Slack 側で正しいスコープが付与されていることです。スコープが不足すると認証エラーが発生し、アラートが届かない状態になります。本セクションでは、Datadog が公式に推奨している Slack スコープと、その設定手順を具体的に解説します。
必要な Slack スコープ
Datadog のドキュメント(公式リンク)では、以下のスコープが最低限必要とされています。
- chat:write – Bot が任意のチャンネルへメッセージを書き込む権限。
- incoming-webhook – 外部サービスから Slack に Webhook を送信できる権限。
- channels:read(オプション) – 公開チャンネル一覧を取得し、通知先として選択できるようにするための読み取り権限。
これらのスコープが揃っていれば、Datadog からのアラート送信・通知設定は問題なく機能します。
スコープの設定手順
Slack アプリに必要なスコープを追加する手順です。管理者権限を持つユーザーで作業してください。
1. Slack API のアプリ管理画面(https://api.slack.com/apps)へアクセスし、対象の Datadog アプリを選択します。
2. 左メニューの OAuth & Permissions を開きます。
3. Scopes → Bot Token Scopes に chat:write、incoming-webhook、(必要に応じて)channels:read を追加し、ページ下部の Save Changes をクリックします。
4. 変更を反映させるために Install App to Workspace(または Reinstall to Workspace)ボタンを押して再インストールします。
ポイント:スコープ追加後は必ず再インストールしないと新しい権限が有効化されません。
Slack アプリのインストールと Datadog 側設定
Slack の公式 App Marketplace から Datadog アプリを導入し、Datadog コンソール側で連携を完了させるまでの流れを解説します。正しい UI 操作手順に沿って実施すれば、余計な手戻りが発生しません。
Slack App Marketplace から追加
2024 年現在の Slack UI に基づく手順です。
1. Slack の左サイドバー下部にある Apps をクリックします(※「アプリ」アイコンは拡大鏡の隣にあります)。
2. 検索バーに Datadog と入力し、表示された公式アプリを選択します。
3. アプリ詳細画面で Add to Slack を押すと OAuth 認可画面が開きます。ここで先ほど設定したスコープ(chat:write・incoming-webhook など)が一覧に表示されるので、許可 (Allow) をクリックします。
参考:公式インテグレーションガイドは https://docs.datadoghq.com/integrations/slack/ に掲載されています。
Datadog コンソールで Slack 連携を有効化
Datadog の UI は「Integrations」タブから Marketplace にアクセスできます。以下の手順で連携設定を完了させます。
1. Datadog にログイン後、左メニューの Integrations → Marketplace を選択します。
2. 検索ボックスに Slack と入力し、検索結果から Slack カードの Install ボタンをクリックします。
3. ポップアップが表示されたら Connect Slack Account を選び、先ほどインストールした Slack ワークスペースを指定して Authorize します。
4. 認証が成功すると「Integration installed successfully」のメッセージと共に自動生成された Webhook URL が表示されます。この URL は Datadog 側で内部的に使用され、外部から変更する必要はありません。
ポイント:Slack アプリのインストールを先に完了させておくと、Datadog の認証画面がスムーズに進みます。
Datadog Bot の招待と通知先チャンネル設定
Datadog が生成する Bot ユーザーは、実際のアラート配信先となる Slack チャネルへ招待する必要があります。本節では Bot 招待コマンドと、Datadog コンソール上でデフォルト通知チャネルを指定する手順をまとめました。
Bot ユーザーのチャネルへの招待
Slack 上で以下のコマンドを実行すると、Datadog Bot を任意のチャンネルに追加できます。
|
1 2 |
/invite @datadog |
- 複数チャンネルへ同時に招待したい場合は、スペース区切りで
#channel1 #channel2と列挙します(例:/invite @datadog #infra-alerts #ops-notify)。
デフォルト通知チャンネルの設定方法
Datadog コンソールから全モニター共通の通知先を決める手順です。
1. Integrations → Slack 設定ページへ移動します。
2. 「Default Channels」欄に、Bot を招待済みのチャンネル名(例:#infra-alerts)を書き込みます。
3. 必要に応じて Channel Overrides でモニター単位・重要度別に個別チャネルを上書き設定できます。
4. 設定が完了したら画面右下の Save Changes をクリックします。
ポイント:デフォルトチャンネルは全モニターに適用され、オーバーライド設定で柔軟な通知先切り替えが可能です。
モニター作成時に Slack 通知を組み込む手順
Datadog のモニター(アラート)作成ウィザード内で Slack 通知を有効化する具体的な流れと、メッセージカスタマイズ例をご紹介します。通知設定が抜けていると、重要な障害情報が届かずに運用リスクが高まります。
新規モニターで Slack 通知を追加する流れ
- Monitors → New Monitor をクリックし、対象タイプ(Metric・Log など)を選択します。
- 条件式を入力したら「Next」へ進み、Notify your team セクションが表示された段階で Add a notification channel ボタンを押します。
- ドロップダウンメニューから Slack を選び、先ほど設定したデフォルトチャンネル(例:
#infra-alerts)またはオーバーライド用のチャネルを指定します。 - 必要に応じて Message Template のチェックボックスを有効化し、カスタムテンプレートを選択します。設定が完了したら Save してモニター作成を終了します。
通知メッセージのカスタマイズ例
Datadog は Slack 向けに Markdown 形式のメッセージをサポートしています。以下は可読性と緊急度が一目で分かるテンプレート例です。
|
1 2 3 4 5 |
:warning:*{{monitor.name}}* がトリガーされました。 *条件*:{{alert_condition}} *対象ホスト*:{{host.name}} *詳細*:{{link_to_monitor}} |
- カスタマイズ手順
- Integrations → Slack → Message Templates に移動します。
- Create New Template をクリックし、テンプレート名と上記本文を貼り付けます。
- 変数は Datadog の公式ドキュメントに沿って
{{monitor.name}}・{{alert_condition}}などを使用してください。保存後はモニター作成時の通知設定画面で選択可能です。
ポイント:Markdown による装飾と絵文字の併用で、アラートの重要度が視覚的に伝わりやすくなります。
/datadog コマンド活用とテンプレート管理
Slack 内から直接 Datadog の情報を取得できる /datadog コマンドは、運用効率を大幅に向上させます。ここでは代表的なコマンド例と、メッセージテンプレートの作成・適用手順を解説します。
主なコマンド例
| コマンド | 機能概要 |
|---|---|
/datadog alert list --status triggered |
現在トリガー中のアラート一覧を表示 |
/datadog monitor run <monitor-id> |
指定モニターを手動で実行し、結果を取得 |
/datadog incident create <title> |
新規インシデントを即座に作成 |
これらは Slack の任意のチャネルで入力するだけで、Datadog 側の API が呼び出されリアルタイムに情報が返ります。
メッセージテンプレートの作成手順
- Datadog コンソールの Integrations → Slack → Message Templates にアクセスします。
- Create New Template をクリックし、名前(例:
high_severity_alert)と本文を入力します。利用可能な変数は{{alert.name}}・{{alert.status}}・{{alert.link}}などです。 - テンプレート保存後、コマンド実行時に
--template <テンプレート名>オプションを付与すれば、統一されたフォーマットで出力できます(例:/datadog alert list --status triggered --template high_severity_alert)。
ポイント:社内で共通のテンプレートを定義しておくと、通知メッセージの品質が一定に保たれ、情報共有コストが削減されます。
連携テストとトラブルシューティング
実装後は必ずテストアラートで動作確認を行い、エラー発生時の対処フローを把握しておくことが重要です。本節ではテスト手順とよくあるエラー・その解決策をチェックリスト形式でまとめました。
テストアラート送信手順
- Datadog コンソールで Monitors → 任意のモニター を開き、右上の Test Notification ボタンをクリックします。
- 「Slack」チャネルを選択し、Send Test を実行します。
- Slack の対象チャンネルにテストメッセージが届いたことを確認できれば、連携は正常です。
よくあるエラーと対処法
| エラー内容 | 主な原因 | 推奨対策 |
|---|---|---|
OAuth error: invalid_scope |
必要スコープが不足または誤字 | Slack の OAuth & Permissions で chat:write・incoming-webhook・channels:read を再確認し、再インストール |
| Bot がメッセージ送信できない | チャンネルに Bot が未招待 | /invite @datadog コマンドで対象チャネルへ招待 |
| テンプレートが反映されない | テンプレート名のスペルミスまたは保存忘れ | Message Templates ページで名前を正確に確認し、モニター設定画面で再選択 |
完全チェックリスト
- [ ] Slack アプリに
chat:write・incoming-webhook(必要ならchannels:read)が付与されているか - [ ] スコープ変更後に Reinstall App to Workspace を実施したか
- [ ] Datadog の Integration ページで OAuth 認証が成功しているか
- [ ] Bot が通知対象チャンネルへ招待済みか(
/invite @datadog) - [ ] モニター作成時に正しい Slack チャネルとテンプレートを選択したか
- [ ] テストアラートで実際にメッセージが届くことを確認したか
上記項目をすべてクリアできれば、Datadog と Slack の連携は本番環境でも安定して稼働します。
参考リンク(公式)
- Datadog Slack Integration 公式ドキュメント: https://docs.datadoghq.com/integrations/slack/
- Slack API アプリ管理画面: https://api.slack.com/apps
このガイドを手順どおりに実施すれば、権限設定からテストまで一貫したフローで安全かつ確実に Datadog と Slack の統合が完了します。