Datadogでサーバを監視してSlackにアラートを通知する
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
ボタンを押すだけです。
最後に
まだまだ使い始めたばかりですが、プロセス・ネットワークの疎通チェックも実現できています。また、サポートのレスポンスが早いため、困ったらサポートに質問するのもひとつの手です。