Slack

概要

Slack を Datadog に接続すると、以下のことを可能にして、チームのコラボレーションを促進できます。

  • チームのプライベートチャンネルまたは公開チャンネルで、同僚とグラフを共有できます。
  • Slack 内で Datadog からのアラートや通知を受けることができます。

セットアップ

インストール

US1、US3、US5、EU1 の Datadog サイトをお使いの方は、Slack のワークスペースに Datadog Slack アプリをインストールします。

  1. Datadog サイトで、「Integrations」の下にある Slack インテグレーションタイルへ移動し、タイル下部の Connect Slack Account ボタンをクリックします。

  2. Slack と Datadog のアカウントが接続されたことを確認します。: この変更を Datadog ワークスペースの管理者に承認してもらう必要がある場合があります(一度のみ)。

: Slack App ディレクトリでの Slack インテグレーションは、US1、US3、US5、または EU1 Datadog サイトをご使用の場合のみ可能です。他のリージョンについては、Slack Webhook ドキュメントを参照してください。

使用方法

アプリがインストールされたら、Slack アプリをチャンネルに招待できます。

/invite @Datadog

次に、Datadog アカウントを Slack アカウントに接続します。

/datadog accounts

追加機能により、Datadog の一部をコマンド 1 つで Slack で利用することができます。

/datadog dashboard

あらゆるウィジェットを Datadog から Slack へコピーして貼り付けることも可能です(CMD + CCTRL + C のショートカット、またはウィジェットの拡張アイコンをクリックして “copy” を選択)。貼り付けると、チャンネルに送信されたウィジェットとして展開されるリンクが表示されます。

モニターの接続

ボタンをクリックするだけで、Slack のトリガーモニターをミュートすることができます。

Slack アプリから送信されるようモニターを更新するには、以下の 2 つの方法があります。

一括更新: すべてのモニターが Slack アプリから送信されるように一括で更新することができます。また、コンフィギュレーションの上部にある “Upgrade” ボタンをクリックことで、Datadog のインテグレーションタイルにある各 Slack アカウントにミュートボタンを含められます。

手動: すべてのチームに展開する前にこの機能をテストしたい場合は、Slack インテグレーションのコンフィギュレーションで、手動でチャンネルを新しいアプリのアカウントコンフィギュレーションに追加することができます。 : 同じチャンネルの重複参照を削除する必要がある場合があります。

Datadog インシデントの使用

以下を使用して、Slack アプリから新しいインシデントを宣言します。

/datadog incident 

: Datadog へのアクセス権の有無を問わず、Slack 組織内の誰でもインシデントを宣言できます。

新しいインシデントが作成されると、対応する Slack チャンネル #incident-(unique number ID) が作成され、新しいインシデントチャンネルの使用について伝えるメッセージがチャンネルに送信されます。チャンネルのトピックは、インシデントとともに変わります。

次を使用して、インシデントの状態(重大度など)を更新します。

/datadog incident update

次を使用してオープン(アクティブで安定している)インシデントをリスト表示します。

/datadog incident lists

メッセージのアクションコマンド (#incident チャンネルで送信されたメッセージにカーソルを合わせると右の方に表示される3点リーダー) を使用して、Incident App Timeline にメッセージを送信します。

Slack コンフィギュレーション

インシデントの更新チャンネル

インシデントの更新チャンネルを使用すると、チームは Slack ワークスペースから、組織全体にすべてのインシデントのステータスを直接公開することができます。ワークスペースで、更新を投稿するチャンネルを選択すると、チャンネルでは以下の投稿を受信します。

  1. 新しく宣言されたインシデント。
  2. 重要度、ステータスの移行、インシデントコマンダーへの変更点。
  3. アプリ内のインシデントの概要ページへのリンク。
  4. 該当するインシデントの Slack チャンネルへの参加リンク。

Slack アプリをインストールしたら、Incident Settings ページに移動します。Incident Updates Channel セクションまでスクロールして、セットアップの手順を開始します。

Slack アプリに入ったら、インシデント更新のためのチャンネルを設定します。

このチャンネルのセットアップ方法:

  1. インシデント設定にアクセスします。
  2. Incident Updates Channel セクションに移動します。
  3. インシデント更新のための Slack ワークスペースと特定の Slack チャンネルを定義します。
インシデントの更新チャンネル

インシデントタスクの管理

Slack アクションおよび /datadog Slack コマンドを使用することで、Slack から直接インシデントタスクを作成・管理できます。インシデントタスクのコマンドはインシデントチャンネルで使用する必要があります。

Slack アクション: Slack アクションを使用して、インシデントチャンネルで送信されたメッセージにマウスオーバーすることでタスクを作成できます。カーソルを合わせると、メッセージの右側に 3 点ドットが表示され、そこから「タスクをインシデントに追加」することができます。

利用可能なコマンド:

  • /datadog task はインシデントのタスクを作成します。表示されるモーダル画面でタスクの説明の入力、チームメイトの割り当て、期限の設定を行うことができます。
  • /datadog task list はあるインシデントについて作成されたすべてのタスクのリストを表示します。このリストを利用してタスクを完了としてマークしたり、再開したりすることができます。

作成されたすべてのタスクは、インシデント UIの “Incident Tasks” の ‘Remediation’ タブで管理することができます。詳しくは、インシデント管理ドキュメントを参照してください。

US5 または US1-FED Datadog サイトを使用している場合は、Slack Webhook を使用します。

インストール

Slack インテグレーションは、Datadog サイトのインテグレーションタイルを使用してインストールします。

コンフィギュレーション

  1. Slack アカウントで、Datadog (レガシー) アプリにアクセスします。
  2. Install –> Add Integration の順に選択し、次に Slack の Webhook URL をコピーします。
  3. Datadog-Slack インテグレーションタイルの Configuration タブに移動します。
  4. Add Account をクリックします。
  5. 選択した Slack アカウント名を追加します。
  6. Slack Account Hook フィールドに Webhook URL を貼り付けます。
  7. Save をクリックします。
  8. Slack のポスト先のチャンネルを追加します。
Slack コンフィギュレーション
  1. グラフへのコメントごとに通知を受けるには、各チャンネルの Transfer all user comments チェックボックスをオンにします。このチェックボックスをオフのままにする場合、コメントが Slack にポストされるようにするには、@slack-<ACCOUNT_NAME>-<CHANNEL_NAME> 構文を使用する必要があります。アカウントを 1 つだけ使用する場合、または最初のアカウントのみを参照する場合は、@slack-<CHANNEL_NAME> も使用できます。

モニターイベントストリームから Slack にアラートを送信するように構成することもできます。

モニターアラートからの Slack @-mentions

Slack インテグレーションをセットアップしたら、通知メッセージに @slack を入力すると、通知の送信先として使用可能なチャンネルがリストされます。

モニターのメッセージテンプレートで @username< > で囲み(例: @slack-SLACK_CHANNEL <@USERNAME> または @slack-SLACK_ACCOUNT-SLACK_CHANNEL <@USERNAME>)、Slack 通知内で定義されているユーザーに @ 通知します。

: 通知の際に問題が発生した場合、Slackの表示名の代わりに username をお使いください。 usernameユーザー名 以下の Slack account settings にあります。

<!here> または <!channel> を使用して、それぞれ @here または @channel をメンションできます。

ユーザーグループには、<!subteam^GROUP_ID> を使用します。GROUP_ID は、Slack の usergroups.list API エンドポイントを検索して見つけられます。たとえば、12345 という ID を持つユーザーグループでは、次の構文を使用します。

<!subteam^12345>

標準の Datadog 通知と同じルール、テンプレート変数、タグ、条件を使用します。たとえば、この通知は、再通知時に、infrastructure と呼ばれる Slack チャネルのサブチームに ping を送信します。

CPU usage has exceeded {{warn_threshold}} on {{ @machine_id.name }}.
{{#is_renotify}}
Notifying @slack-infrastructure <!subteam^12345>
{{/is_renotify}}

: Slack @ 通知の場合、チャンネル名の後に特殊文字を付けることはサポートされていません。 たとえば、@----critical_alerts は機能しますが、@--critical_alerts-- は通知を受信しません。

メッセージテンプレート変数を使用して動的に @ メンションを作成する

モニターメッセージ内でメッセージテンプレート変数を使用して、動的に @ メンションを作成できます。

たとえば、Slack インテグレーションで、次の変数がチャンネルとしてセットアップされている場合

  • @slack-{{owner.name}} は、このモニターの所有者のチャンネルにメッセージを投稿します。

  • @slack-{{host.name}} は、#host.name チャンネルに Slack メッセージを投稿します。

または、特定のメールに直接アクセスする @メンションを作成します。

  • @team-{{team.name}}@company.com は、チームのメーリングリストにメールを送信します。

Slack の通知内容を完全に制御する

Slack チャンネルのモニターアラートは、いくつかのフィールドを含んでいます。

  • メッセージ
  • モニターのトリガーとなったクエリのスナップショット (グラフ)
  • 関連するタグ
  • 誰が通知されたのか

Slack インテグレーションタイルで、各フィールドのオン/オフを切り替えることができます。各チャンネルで、通知に含めたい各フィールドの横にあるチェックボックスを選択します。その他のチェックボックスはチェックを外したままにしてください。

Slack 通知構成

収集データ

メトリクス

Slack インテグレーションは、メトリクスを提供しません。

イベント

Slack インテグレーションには、イベントは含まれません。

サービスのチェック

Slack インテグレーションには、サービスのチェック機能は含まれません。

アクセス許可

Datadog Slack アプリは、以下の OAuth Scope を必要とします。詳しくは、Slack の権限スコープに関するドキュメントを参照してください。

ボットトークンのスコープ

スコープリクエスト理由
app_mentions:readこのアプリは、直接メンションされた場合に返信することができます。
channels:joinボットは、以前に構成された公開チャンネルに自動的に参加します。
channels:manageインシデント管理のためのチャンネルを作成します。
channels:readDatadog の Slack インテグレーションタイルのチャンネルオートコンプリート。
chat:write承認されたチャンネルと会話でメッセージを送信します。
commands/datadog コマンド。
groups:readDatadog の Slack インテグレーションタイルのチャンネルオートコンプリート。
im:readダイレクトメッセージで /datadog コマンドを使用します。
im:write追加の権限が必要な場合、管理者に通知します。
links:readDatadog リンクのプレビューを確認します。
links:writeDatadog リンクのプレビューを確認します。
mpim:read/datadog コマンドを使用します。
reactions:writeインシデントタイムラインにメッセージが追加されたことを示します。
team:readDatadog の Slack インテグレーションタイルで、ワークスペースの状態を常に最新に保つことができます。
users:readタイムゾーンに合わせてカスタマイズされたレスポンス。
users:read.emailSlack 以外で作成されたインシデントのメッセージ/ユーザーを追加します。
workflow.steps:executeワークフローのステップからウィジェットを共有します。

ユーザトークンのスコープ

スコープリクエスト理由
identity.basicユーザーは、Datadog アカウントを Slack に接続することができます。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。