概要
今回、Datadogを使い、仮想サーバーの運用監視を行う。仮想サーバーはIBM Cloudを用いて用意する。Datadogは14日間の無料トライアル版を使う。監視方法はDatadogのダッシュボードとプロセス監視モニターを用いる。
以下が全体の流れになる
- Datadogのアカウント作成~エージェント導入
- ダッシュボードの作成
- プロセス監視モニターの作成
- まとめ
前提環境
Datadogエージェントを導入できる仮想サーバー環境を用意する。
今回はIBMCloudのVSI(仮想サーバーインスタンス)を用意。
仮想サーバーはRed Hat Enterprise Linux9.xを使用。
1. Datadogのアカウント作成~エージェント導入
Datadogのアカウント作成
右上の「無料で試す」を選択

メールアドレスを入力し、「無料トライアル」を押下

開始するとホーム画面が表示される

エージェント導入
右側のメニューバーにてIntegrations>Agentを選択
今回の監視対象サーバーのOSはRed Hat Enterprise Linuxなので、Red Hatを選択
API KeyのSelect API Keyを選択

APIキーを選択し、Use API Keyを選択

Use API Keyを選択すると以下のように
AGENT INSTALLATION COMMANDコードが作成される
導入のためにコピーしておく

仮想サーバーにログイン後、コピーしておいた前述のAGENT INSTALLATION COMMANDコードを入力し、Datadog Agentをインストールする
#SSHログイン
ssh -i 〈秘密鍵のファイルパス〉 〈UserID〉@〈IPアドレス〉
#2の操作で表示されたコマンドの実行
DD_API_KEY=〈上記画面で指定されたAPIKey〉 DD_SITE="ap1.datadoghq.com" bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
エージェント導入確認
上記のコマンドを入力し、Datadog Agentをインストールすると以下のログが出力される
Installed:
datadog-agent-1:7.57.2-1.x86_64
Complete!
* Adding your API key to the Datadog Agent configuration: /etc/datadog-agent/datadog.yaml
* Setting SITE in the Datadog Agent configuration: /etc/datadog-agent/datadog.yaml
/usr/bin/systemctl
* Starting the Datadog Agent...
Your Datadog Agent is running and functioning properly.
It will continue to run in the background and submit metrics to Datadog.
If you ever want to stop the Datadog Agent, run:
sudo systemctl stop datadog-agent
And to run it again run:
sudo systemctl start datadog-agent
DatadogのWebアプリで確認するには
左側のメニューバーからInfrastructure>HostMapに

用意した仮想サーバーの情報が表示されるとエージェント導入成功

2. ダッシュボード作成
一目で仮想サーバーがCPUやメモリをどれほど使用しているか簡単に読み取れるようにダッシュボードを作成してみる
ダッシュボードではクエリーやフォーミュラ等を自由に追加できるため、自分が欲しい情報をまとめて取得することができる
まずはデフォルトのダッシュボードからクローンを作る
左のメニューバーからDashboard Listを選択

すると、デフォルトのダッシュボードが表示される
右上のCloneを選択

cloneされたダッシュボード上にウィジェットを追加できるようになる

ウィジェットを追加すれば、クローンされたダッシュボードから追加され、以下の画面になる

Dashboard Listに戻ると作成したダッシュボードが確認できる

3.プロセス監視モニターの作成
Live Processを選択すると下記のようにyamlファイルの修正とエージェントの再起動が求められる

以下のコマンドで修正を実施
sudo vi /etc/datadog-agent/datadog.yaml
以下のコマンドで修正を確認
sudo cat /etc/datadog-agent/datadog.yaml
以下のコマンドでエージェントを再起動し、稼働状況を確認
#エージェント再起動
sudo systemctl restart datadog-agent
#エージェント稼働状況確認
sudo systemctl status datadog-agent
すると以下のようにLive Process モニター作成画面に移る
Search Processから「command:agent」を選ぶ

次にSet alert conditionsで警告対象の値を設定する
閾値として稼働しているプロセス数が1より低い場合、すなわち0の場合、アラート通知が来るように設定


アラートのメッセージ内容と通知先のメールアドレスを設定し、createボタンを押す

createボタンを押すと以下のようにプロセス監視モニター画面が表示される

検証
このプロセス監視モニターが機能するか検証する
そのために以下のコマンドでエージェントを停止する
#エージェントの停止
sudo systemctl stop datadog-agent
#エージェントの稼働状況確認
sudo systemctl status datadog-agent
すると先ほど指定した宛先とアラートメッセージがメールで到着し、モニターの画面も変化する


数値(稼働しているプロセス数)が1から0に変更されたことが読み取れる

次にエージェントを起動し、復旧(プロセス起動)通知の確認をする
まずは、エージェントを再起動させる
#エージェントを起動
sudo systemctl start datadog-agent
#エージェントの稼働状況確認
sudo systemctl status datadog-agent
すると、アラート発生時と同様に、復旧メッセージが指定した宛先にメールで通知され、また、モニターの画面も変化する


まとめ
今回はDatadogを用いてダッシュボードとプロセス監視モニターを作成した。他の記事と参考資料を参考し、ダッシュボードとプロセス監視モニターを作成するにおよそ3日ほどかかった。ダッシュボードの作成は簡単にできたが、仮想サーバーの準備とプロセス監視モニターを作成するのに時間が掛かった。特に、プロセス監視モニター作成時に苦労した点としては、yamlファイル修正の際、バックアップを取らず修正を行ってしまい、Datadogが稼働しなくなったため、再インストールした点と稼働停止が反映されるまで1分ほど要するが、それを待てず設定の問題だと勘違いし、工程を2回程度繰り返した点である。今後はIBMCloud以外にもAWS上のEC2といった他社のクラウドサービス上でも検証を行っていきたい。




