Datadog agent使ってAzure VMのプロセスを監視
Datadogを利用したプロセスやサービス監視設定をやってみます。
Datadog agentを使う事によりAzure VMをはじめとしてOSのプロセスやサービス監視する事が出来ます。
-
- Datadog Agentを使ってプロセスやサービスのステータスや情報をDatadogへ転送
- Datadog側でプロセスやサービス監視設定
Datadog Agentはプロセスやサービスのステータスを送信するだけで、実際の監視設定はDatadog側での設定になります。
今回はまずDatadog Agentを使ったCent OS 7とWindows Server 2019のプロセスやサービスのステータスをDatadogへ送信設定をやってみました。
なおライブプロセスとプロセス2つの方法で試しています。
Datadog Agentを使ったログ転送についてはこちら
Cent OS 7でDatadog Agent使ったプロセス情報の送信
Cent OSにDatadog Agentをインストール
まず最初にOSにDatadog Agentを導入します。導入方法についてはこちらを参考に実施願います。
Datadog Agent使ったプロセス情報の送信方法はライブプロセスとプロセスの2つ
Datadog Agentでプロセス情報をDatadogを送るにはライブプロセスとプロセスの2つになります。
-
- ライブプロセスはOSのプロセスやサービスの情報をすべて(除外項目を除く)送信します。
- 設定ファイルの場所は/etc/datadog-agent/datadog.yaml
- ライブプロセスはOSのプロセスやサービスの情報をすべて(除外項目を除く)送信します。
-
- プロセスはプロセスのステータスをDatadog Agent側で判断してその結果を送信します。
- 設定ファイルの場所は/etc/datadog-agent/conf.d/process.d/conf.yaml
- プロセスはプロセスのステータスをDatadog Agent側で判断してその結果を送信します。
ライブプロセスとしてdatadog.yamlを設定
デフォルトではライブプロセスが無効になっているのでこれを有効化します。設定はDatadog公式サイトを参考に進めます。
datadog.yamlの設定箇所は2か所(2行)だけです。# process_config:と# enabled: “true"のこの2行のコメントアウト(#)を除くだけです。これでライブプロセスの有効化設定は完了です。
[root@test-vm ~]# vi /etc/datadog-agent/datadog.yaml 【修正前】 770 # process_config: 【修正後】 770 process_config: |
設定が完了したらDatadog Agentを再起動します。
[root@test-vm ~]# systemctl restart datadog-agent |
Datadog側のInfrastractureのProcessesのメニューを選択すると現在のプロセス、CPU使用量、メモリ使用量等が表示されます。
個別でプロセスの状態を判断するconf.yamlを作成
個別でプロセスのステータス情報を送るにはconf.yamlにステータス判断するプロセスの情報を記載します。
プロセス監視用のconf.yamlを作成します。
作成場所は/etc/datadog-agent/conf.d/process.d/conf.yamlになります。今回は新規作成しています。
[root@test-vm ~]# vi /etc/datadog-agent/conf.d/process.d/conf.yaml |
追記内容は下記の通りになります。今回はSSHとCronの設定しています。(Confファイル内でスペースが入ってないとエラーになったりするケースがあります。この場合適時スペースを調節してみて下さい。)
init_config: instances: – name: ssh – name: crond |
設定が完了したらDatadog Agentを再起動します。
[root@test-vm ~]# systemctl restart datadog-agent |
datadog-agent statusコマンドでプロセスの監視状況が確認出来ます。processの項目を見るとcrondとSSHの値が取得出来ている事が確認出来ます。
process (1.XX.0) Instance ID: process:ssh:XXXXXXXXXXXXXXXXX [OK] |
Datadogのポータル上でもMonitor>New Monitor>で確認するとプルダウンに設定したプロセスが表示されており取得出来ている事が確認出来ます。
Windows 2019でDatadog Agent使ったサービス情報の送信
Windows ServerにDatadog Agentをインストール
まず最初にWindows OSにDatadog Agentを導入します。導入方法についてはこちらを参考に実施願います。
Datadog Agent使ったwindows サービスステータスの送信方法はライブプロセスとプロセスの2つ
Windowsの場合も同様に、Datadog AgentでサービスステータスをDatadogを送るにはライブプロセスとプロセスの2つになります。
-
- ライブプロセスはOSのプロセスやサービスの情報をすべて(除外項目を除く)送信します。
- 設定ファイルの場所はC:\ProgramData\Datadog\datadog.yaml
- ライブプロセスはOSのプロセスやサービスの情報をすべて(除外項目を除く)送信します。
-
- Windows サービスはプロセスのステータスをDatadog Agent側で判断してその結果を送信します。
- 設定ファイルの場所は:\ProgramData\Datadog\conf.d\windows_service.d\conf.yaml
- Windows サービスはプロセスのステータスをDatadog Agent側で判断してその結果を送信します。
ライブプロセスとしてdatadog.yamlを設定
デフォルトではライブプロセスが無効になっているのでこれを有効化します。同様に設定はDatadog公式サイトを参考に進めます。
datadog.yamlの設定箇所は1か所(1行)だけです。process_config: enabled: “false"をtrueに変更するだけです。これでライブプロセスの有効化設定は完了です。
logs_enabled: false(修正前)→logs_enabled: true 修正後
【設定対象ファイル】 【修正前(316行目ー317行目】 【修正前】 process_config: |
※行番号は環境やVerによって前後する可能性がありますので参考程度で。
設定が完了したらDatadog Agentを再起動して確認します。
まずはDatadog Agentを再起動します。Datadog AgentはC:\Program Files\Datadog\Datadog Agent\embedded配下にagent.exeとして存在しています。
C:\>cd “C:\Program Files\Datadog\Datadog Agent\embedded" C:\Program Files\Datadog\Datadog Agent\embedded>agent.exe restart-service |
Datadog側のInfrastractureのProcessesのメニューを選択すると現在のプロセス、CPU使用量、メモリ使用量等が表示されます。
個別でサービスの状態を判断するconf.yamlを作成
サービス監視用のconf.yamlを作成します。Datadog公式サイトの情報を参考に進めます。
こちらのPower Shellを確認すると、以下のように結果が得られますのでサービス名をメモします。
まず最初にサービス名を確認します。サービス一覧はこちらのページのPower Shellを使って確認します。こちらのPower Shellを確認するとサービス一覧が表示されます。
Windowsの謎 ~サービス一覧を出すコマンド~(Qiita)
こちらのPower Shellを確認すると、以下のように結果が得られますのでサービス名をメモします。
表示名 サービス名 スタートアップの種類 状態 |
GUIで確認する場合は、コントロール パネル\システムとセキュリティ\管理ツール\サービスでサービス一覧が表示されます。
Windows Timeの場合はこちらのように表示されます。サービス名の項目を利用して指定して設定します。
作成場所はC:\ProgramData\Datadog\conf.d\windows_service.d\conf.yamlになります。今回はWindows Timeを例に新規作成しています。
※ログとサービスでは設定ファイルの場所が違うので要注意です。
init_config: instances: – services: |
先ほどと同様にDatadog Agentを再起動します。
C:\>cd “C:\Program Files\Datadog\Datadog Agent\embedded" C:\Program Files\Datadog\Datadog Agent\embedded>agent.exe restart-service |
次にDatadog Agentでステータスを確認します。
C:\Program Files\Datadog\Datadog Agent\embedded>agent.exe status |
windows_serviceの項目を見るとServiceの情報が取得出来ている事が確認出来ます。
windows_service (2.7.0) |
Datadogのポータル上でもMonitor>New Monitor>Custom Checkで確認するとプルダウンに設定したプロセスが表示されており取得出来ている事が確認出来ます。