インフラ

Datadogでサーバを監視してSlackにアラートを通知する

mmmuser

MMMサーバサイドエンジニアの柳沼です。お世話になっております。
北海道も暖かくなってきました。

最近、Datadogを使ったプロダクション環境でのノードの監視の前段として、
社内サーバでの検証を行っているのですが、驚くほど簡単に監視が実現できたので、
簡単にまとめておこうと思います。

ノードにエージェントをインストールする

Datadogはノードにインストールされたエージェントがさまざまな情報を収集し、
それらをWebの画面から閲覧する、という仕組みになっています。
まずはエージェントをインストールする必要があるのですが、コマンド1発で実現可能です。(アカウント作成は省略します。)
こちらからOSを選択して、
表示されたコマンドをノードの中で打つだけです。

DD_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXX bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"

最初のAPIキーは環境によって異なりますが、表示されたものをコピペするだけでOKです。

Slackを連携する

アラートを設定するためには、

  • Slack側にDatadog連携を設定する
  • Datadog側にSlack連携を設定する
    の2つのプロセスが必要です。

まずはSlackのアプリ連携画面からDatadogを検索し、Add Configuration からDatadogの連携を設定し、表示される Webhook URL を控えておきます。

そして、IntegrationsからSlackを検索して、 'Main Account' Slack Service Hook に先程控えたURLを指定し、 Channel to post に、連携したいSlackのチャンネル名を指定します。

アラートを設定する

アラートは、Manage Monitorsから設定します。まずは New Monitor を選択し、監視したい項目を選びます。サーバの基本的なデータは Metric で取れるので、試しにやってみます。

①〜④に従って設定していきます。
①のGetに設定する項目は、System Checkに全て説明が書いてあります。
Fromをクリックすると、Agentをインストールしたノードが表示されるので、選択しておきましょう。

②ではしきい値を設定することができます。
Alert threshold に、しきい値に設定したい値をセットして、 Trigger when the metric is の後ろのセレクトボックスを選択します。
①と②を組み合わせることで、 「CPU使用率が90%を超えた場合」「使用可能メモリが20%を下回った場合」などを表現することができます。

③にはアラートとして表示したいメッセージを、④には通知先を設定します。
通知先には、先程設定したSlackのチャンネルが表示されていると思います。
すべて設定したのがこちらです。


あとは Save ボタンを押すだけです。

最後に

まだまだ使い始めたばかりですが、プロセス・ネットワークの疎通チェックも実現できています。また、サポートのレスポンスが早いため、困ったらサポートに質問するのもひとつの手です。

AUTHOR
デロイト トーマツ ウェブサービス株式会社(DWS)
デロイト トーマツ ウェブサービス株式会社(DWS)
デロイト トーマツ ウェブサービス株式会社はアマゾン ウェブ サービス(AWS)に 専門性や実績を認定された公式パートナーです。
記事URLをコピーしました