DatadogとSlackの連携方法と連携してできること

# はじめに
この記事は[Datadog Advend Calender 2022](https://qiita.com/advent-calendar/2022/datadog) 13日目の記事です。

自分が好きなSaaS No.1, 2である、[Datadog](https://www.datadoghq.com/)と[Slack](https://slack.com/intl/ja-jp/)の連携方法と、連携して出来ることについて書いてみます。

自分は現在、DatadogのSales EngineerとしてDatadogの技術観点の打ち合わせをさせていただいています。
その中で「Slackに通知できますか？」「プライベートチャネルにも飛ばせますか？」
といったご質問をいただくことが多いため、あらためて記事にしてみました。

なお、どちらもできます！

# なにができる
まず、なにができるかについて簡単にお伝えしたいと思います。
主な機能は下記です。
* グラフ付きアラート通知
* メトリックスグラフの表示
* インシデント管理
* Workflow連携

これらの機能を活用することで、Slackでメトリックスグラフを見ながら状況確認を行い、そのままコミュニケーションが出来るのが、非常に魅力的だと感じています。
例えば、CPUの閾値アラートが上がった際、「スパイク？」「定常的に高かった？」といったことが通知と合わせて視覚的に分かるイメージです。

アラート通知イメージ
![Image 2022-12-01 at 12.33.31 AM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/ccca9c13-c58e-ba8a-b28e-366ad89fbf98.jpeg)

# 設定
続いて実際の設定についてみていきたいと思います。
[Datadog公式ガイド](https://docs.datadoghq.com/ja/integrations/slack/?tab=slack%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#%E6%A6%82%E8%A6%81)の"セットアップ">"[インストール](https://docs.datadoghq.com/ja/integrations/slack/?tab=slack%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)"に記載の通りに設定いただく形とはなるのですが、せっかく記事にするので少し詳細に書いておこうと思います。
やることは単純で、Slackのワークスペースと連携→Slackの個別チャネルと連携、です。
流し読みいただき、実際の設定で詰まった際に活用いただけたらと思います。
では、それぞれ見ていきたいと思います。

## Slack ワークスペースとの連携方法

DatadogのIntegrationsからSlackを選択し、"Connect Slack Account"を押して、アカウントを連携します。
![Image 2022-12-01 at 12.07.45 AM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/a1efdbff-a07d-d73a-ab34-30dc8137d2fa.jpeg)

[使用方法](https://docs.datadoghq.com/ja/integrations/slack/?tab=slack%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95)に記載の下記コマンドで、連携したいSlackのチャネル上でDatadog(ユーザー)をInviteします。

```
/invite @Datadog
```

続いてDatadogのorgと連携します。

```
/datadog accounts
```

*なお、/datadogは下記のように/ddで短縮可能です。

```
/dd accounts
```

Slack上で下記のようなポップアップが表示されるので、初めてDatadogと連携する場合には、「Done」を押して完了です。
![Slack.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/087b5fab-54fa-4b4f-092e-92c7f27b3826.jpeg)

連携させたいDatadog Orgが一つの場合は、次の"Slackチャネルとの連携方法"に進んでください。

2つ目以降のDatadog Orgと連携させたい場合には、下記のように新規で連携したいOrgをプルダウンから選択し、"Connect"を押してください。
![Image 2022-11-30 at 10.46.59 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/ef20eeb2-48a7-5874-0e99-accdfc1ef8c4.jpeg)

リダイレクトされたDatadogページのConeected Workspacesに、連携したSlackのWorkspaceが表示されていれば成功です。
![Image 2022-11-30 at 10.50.38 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/6cd4c099-86bd-fbab-af2f-ebfd5331b337.jpeg)
Slackのポップアップ画面は「Done」で終了してください。

## Slackチャネルとの連携方法

DatadogのUI上で、Integrations > Slack > Add Channelを押します。
*こちらは前述の"Slackワークスペースとの連携"が完了していることが前提となります
![Datadog-Slack-Additional.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/72bf3e90-f55c-69ca-4679-bbb30668b35f.jpeg)

# 実際の見え方
ここからは、設定をすると実際にどのように見えるのか、具体的に見ていきたいと思います。
項目は下記です。
* グラフ付きアラート通知
* メトリックスグラフの表示
* インシデント管理
* Workflow連携

## グラフ付きアラート通知
検知したメトリックスについて自動でスクリーンショット付きで通知してくれます。
スクリーンショットだけでなく、サービスの状況をまとめたDashboardのリンクや、対応手順のリンクも貼ることが可能です。
こんな感じの通知が飛ばせます。
![Image 2022-11-30 at 11.17.07 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/4776e3cf-ec00-c4f0-306f-837f1ef2d354.jpeg)

また、アラートを簡単にミュートできる操作感も魅力の一つです。
上記スクリーンショットの一番下にあるボタンからアラート通知を任意の期間ミュートすることが可能です。
これにより、障害対応中に対応中アラート通知がガンガン飛ぶことを防ぎ、作業に集中することや不要な通知による不要な関係者の巻き込みを防ぐことが可能となります。
![Image 2022-11-30 at 11.21.23 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/a1132cb7-4961-73e1-db17-8697ae91e806.jpeg)

## メトリックスグラフの表示
Slack上で、
```
/datadog dashboard
```
もしくは

```
/dd dashboard
```
を実行します。

ポップアップが表示されるので、表示させたいメトリックスグラフを選択することで、Slack上で確認することが可能となります。
![Image 2022-11-30 at 11.36.49 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/095540c0-5385-0030-4319-45ab7ba0de95.jpeg)

## Slackでインシデントの更新
ミュート同様に、受け取ったアラートからボタンクリックでインシデントを起票することが可能です。
その際、手動で入力が必要なのはSeverityのみです。また、全ての項目は後から編集が可能です。
![Image 2022-11-30 at 11.24.05 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/0a48a41c-d5a0-1b95-e0f4-4d28c9ae42bd.jpeg)
Incidentを作成すると、Datadog上でインシデントチケットと、Slack上にインシデント対応専用のChannelが作成されます。
![Image 2022-11-30 at 11.30.26 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/49fc73e7-09f3-34cd-ba0e-1b57ab82b3a1.jpeg)
やり取りの一部だけをインシデントのTimelineに載せたり、インシデントのTaskに追加したりすることが可能です。
この機能により、つい障害対応優先で後回しになってしまうインシデントの"入力"や"管理"の手間を最小化し、管理のために後から対応ログをまとめるといった作業が不要となります。
![Image 2022-11-30 at 11.33.26 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/18c53c20-692b-c2b9-d4fb-1976ad987790.jpeg)

## Workflow連携
最後にWorkflow連携です。
まだベータ版の機能ではありますが、2022年10月の[Datadog Dash](https://www.datadoghq.com/blog/dash-2022-new-feature-roundup/#workflow-automation) でアナウンスされた
[Workflow Automation](https://www.datadoghq.com/blog/automate-end-to-end-processes-with-datadog-workflows/)を活用することで、Slackとの連携の幅が今後も広がっていく見込みです。
Workflow Automationは、スケジュール機能やリトライ機能、AWS Lambdaの関数実行など、様々な機能をWorkflowで定義して実行させる機能で、処理の中にSlackへの通知を追加できます。
より詳細についてはこちらの[公式ガイド](https://docs.datadoghq.com/ja/workflows/)と[ブログ](https://www.datadoghq.com/blog/automate-end-to-end-processes-with-datadog-workflows/)を参照ください。

WorkFlow Automationのイメージ
![Image 2022-12-03 at 8.32.25 PM.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2727432/20b11199-9dea-e4ac-c372-3a8e205f66fa.jpeg)

# さいごに
以上が、DatadogとSlackの連携方法と連携してできる主な機能紹介となります。
ご興味を持っていただけた場合には、ぜひ無料トライアルでお試しください！

https://www.datadoghq.com/ja/?utm_source=advertisement&utm_medium=search&utm_campaign=dg-google-japan-apac-brand&utm_keyword=datadog%20trial&utm_matchtype=p&utm_campaignid=8700484236&utm_adgroupid=84283271981&gclid=Cj0KCQiA4uCcBhDdARIsAH5jyUlK8X8aoeHTlZXmtB8CoVIbbZfUdFUaH5qnY2ZK-v4qvfsnwSZdiRgaAmDtEALw_wcB

無料トライアルや本記事の内容についてご相談がある場合には、本記事のコメントか、Twitter([@Taka2noda](https://twitter.com/taka2noda))でお声がけください。

また、DatadogとSlackを組み合わせてインシデント管理をする現状と導入後のイメージについて簡単にまとめた資料が下記となります。
1年前ほど前、Datadog入社前に整理した資料とはなりますが、もしよろしければ併せてご確認ください。

https://speakerdeck.com/taka2noda/incident-management-with-datadog

以上です。ありがとうございました。