Datadogで設定したアラートを一時ミュートする方法


定期的なメンテナンスで監視対象になっているサーバーが停止することが予め分かっている場合など、無駄にアラートが飛ぶのを止めておきたいものですよね。

またサーバーに障害が発生し、対処に手こずっているいる横でアラートが出続けるのもあまり気分の良いものではないですよね。

日頃、地道に頑張っているインフラ管理者の気持ちを察して、Datadogではアラートをミュートする方法を2つ準備しています。

1. ダッシュボードからアラートをミュートする方法
2. Datadog APIを使ってアラートをミュートする方法 (MUTE/UNMUTE ALL ALERTING)


## 1. ダッシュボードからアラートをミュートする

例えば、Datadogのダッシュボードから`Monitors` --> `Manage Monitors` --> `Hosts`とクリックしていきます。この段階で、Datadog Agentからのメトリクスデータに関するアラートの一覧が表示されているはずです。ミュートしたいアラートの行に移動すると、右隅の黄色いスピーカーマークが表示されます。このスピーカーマークをクリックし、条件を指定しください。

![mute-alert.png](https://qiita-image-store.s3.amazonaws.com/0/53101/3ab017c9-969a-5beb-6211-ea17e1d3b40f.png "mute-alert.png")

ミュートしたいサーバーのスコープを別途決めたい場合は、`Muted Scope`で、細かく指定してください。(文字入力すると、自動で候補が表示されます)

メニューにある`Host`,`Metrics`,`Integration`,`Process`,`Networkservice`,`Custom Check`は、それぞれ異なるタイプのアラーを分類して一覧表示するためのメニューです。(Datadogでは、用途に合わせて６種類のアラートのタイプを持っています。)

なぜ`Host`を選んでいるかというと、ホストの死活監視をする場合には、Datadog Agentから一定の時間メトリクスが受信できなかったことを条件にアラートをするように設定しますすが、その設定ができるのが`Host`タイプのアラートになるからです。

![mute-alert4.png](https://qiita-image-store.s3.amazonaws.com/0/53101/c6c5f404-d2cf-ea80-0b1f-4227a164998e.png "mute-alert4.png")


アラートがミュートされると、`Status`の項目にミュートが解除されるまでの残り時間が表示されます。

![mute-alert2.png](https://qiita-image-store.s3.amazonaws.com/0/53101/47190ca1-2b23-1203-5c80-b872f0ebd650.png "mute-alert2.png")

作業が早く終了した場合など、直ちにミュートを解除したい場合は、ミュート時にクリックしたスピーカーマークを再度クリックするとミュートは解除されます。

![mute-alert3.png](https://qiita-image-store.s3.amazonaws.com/0/53101/69c33514-1349-5dd2-5f40-2b9fe9190517.png "mute-alert3.png")

以上のように、アラートは、ダッシュボードから簡単にミュート/ミュート解除することができます。


## 2. APIを使ってアラートをミュートする


[http://docs.datadoghq.com/api/#monitor-mute](http://docs.datadoghq.com/api/#monitor-mute)のAPI仕様を読む限りでは、ダッシュボードからの操作の方がミュートの粒度が細かいような気がするのですが、APIからもアラートをミュートすることができます。

書くプログラ言語向けのAPIライブラリーがインストールされていれば、次のように`mute_alerts()`関数を実行します。

``` python
from dogapi import dog_http_api as api

api.api_key = 'aaaaaaaaaaaaaaaa'
api.application_key = 'bbbbbbbbbbbbbbbbbbbbbbb'

# Mute all alerts
api.mute_alerts()

```

``` ruby
require 'rubygems'
require 'dogapi'

api_key='aaaaaaaaaaaaaaaa'
app_key='bbbbbbbbbbbbbbbbbbbbbbb'

dog = Dogapi::Client.new(api_key, app_key)

# Mute all alerts
dog.mute_alerts()
```

同様に、ミュートを解除する場合も、次のように`unmute_alerts()`を実行します。


``` python
from dogapi import dog_http_api as api

api.api_key = 'aaaaaaaaaaaaaaaa'
api.application_key = 'bbbbbbbbbbbbbbbbbbbbbbb'

# Unmute all alerts
api.unmute_alerts()

```

``` ruby
require 'rubygems'
require 'dogapi'

api_key='aaaaaaaaaaaaaaaa'
app_key='bbbbbbbbbbbbbbbbbbbbbbb'

dog = Dogapi::Client.new(api_key, app_key)

# Unmute all alerts
dog.unmute_alerts()
```

これで、安心して定期メンテナンスや障害対処に取り組めるようになった思いませんか。Datadogには詳細な日本語ドキュメントサイトはまだ準備されていませんが、インフラを運用する際に一般的に必要な機能はすでに実装されていることが多いです。もしも、「これって、どのように設定するのだろう....」と思うような時は、是非[support@datadoghq.com](mailto:support@datadoghq.com)へ問い合わせてみてください。


```
注) 2014/11/24以前に、Datadogのユーザー登録を済ませている場合は、アラート管理部分は前世代のUIになっています。従って、ダッシュボード上からのMuteの方法が多少異なります。上記に表示した"Monitors"タブを含む新UIへのアップデートに関しては、support@datadoghq.comまで"ダッシュボードのアップデート"のリクエスト(日本語可)を申し出てください。

(個人的な見解ですが、ダッシュボードのアップデート依頼は超オススメです。)
```

追記:

旧UIでは、`Metrics` --> `Manage Monitors`とクリックすると次のようなアラーの一覧ページが表示されます。この段階で、"No Data Alert"を設定してるアラートをミュートします。用途に合わせて、`Mute All Monitors`と個別の`mute`を使い分けてください。

![mute-alert5.png](https://qiita-image-store.s3.amazonaws.com/0/53101/95df04fa-92d8-7c64-5eb4-36e7d90299e5.png "mute-alert5.png")


---

**最後に、もしもこの投稿を読んでDatadogの本当の魅力について知りたいと思うなら、[ユーザー登録](https://app.datadoghq.com/signup)ページからフリートライアルに申し込んでみてください。**