Datadogのプロセス、サービス監視設定手順纏め

2021-01-11Azure,DataDog,Others

Datadogを利用したプロセスやサービス監視設定手順を纏めてみました。

仮想マシン(Azure VM)OSにDatadog Agentをインストール、設定するとプロセスやサービスのステータスをDatadog側で監視する事が出来ます。
仮想マシン(Azure VM)だけではなく様々なパブリッククラウドやオンプレミス環境のリソースも監視する事が出来ます。

今回はDatadogを使ったLinux(Cent OS)のプロセスやWindows Server 2022のサービス監視設定手順を纏めています。

    • Datadog Agentで監視対象のプロセスやサービスを設定
    • Datadog Monitorsでアラートルール作成、監視

スポンサーリンク

DatadogでLinux(Cent OS)のプロセス監視

プロセスやサービスの状態取得方法は2種類

Datadogのプロセスやサービス情報取得方法にはライブプロセス(Live Process)とプロセスの2つあります。
今回はプロセスを使った手順を纏めています。
ライブプロセスについてはこちらに纏めています。

Datadog Agentをインストール 

OSにDatadog Agentをインストールします。
インストール方法についてはこちらを参照ください。

process.dのconf.yamlを作成

conf.yamlに取得するプロセスの情報を記載します。
プロセス個別に指定します。
公式サイトの情報を確認しながら設定を進めます。

プロセス(Datadog公式)

ファイル作成場所は/etc/datadog-agent/conf.d/process.d/conf.yamlです。
今回はchrony(chronyd)を監視します。

conf.yaml作成
conf.yamlを新規作成します。

[root@test-vm-01 ~]# vi /etc/datadog-agent/conf.d/process.d/conf.yaml

nameでプロセス名を定義します。
seaech_stringに検索するプロセスの文字列を設定します。

init_config:

instances:
– name: chronyd
search_string: ['chrony’,’chronyd’]

Datadog Agentを再起動します。

[root@test-vm-01 ~]# systemctl restart datadog-agent

ステータス確認

Datadog AgentでProcessのステータスを確認します。

ステータス確認
Datadog Agentのステータスを表示します。

[root@test-vm-01 ~]# datadog-agent status

processがOKになっている事を確認します。
conf.yamlが読み込まれている事も確認出来ます。

アラートルール作成

Datadog Monitorsでアラートルールを作成します。
Datadog Agentで設定したchrony(chronyd)を監視します。

アラートルール作成
MonitorsでProcess Checkを選択します。

Pick a Processで監視対象のプロセスを選択します。今回はChronydを選択します。
Pick monitor scope で監視対象を選択します。今回はtest-vm-01を選択しています。

Set alert conditionsでアラートの基準を選択します。Warningのアラートは3、Crticalは5、OK(回復)は3を選択しています。
連続失敗回数や連続成功回数の指定になります。

アラートの条件を設定する

※今回はalert for eachを選択してません。監視対象が複数台に渡る場合はHostを選択します。ホスト単位での検知になります。
※Warning設定していますが使えません。

Notify your teamで通知方法を指定します。
タイトル部分がアラートルール名になります。
今回はchronyd Process Check Ng {{host.name}}としています。

※{{host.name}}とする事でアラート発生時にホスト名を表示する事が出来ます。

Createでアラートルールを作成します。

アラートルール確認

作成されたアラートルールを確認します。

アラートルール確認
Managed Monitorにアラートルール一覧と各アラートルールのステータスが表示されます。
作成したアラートルールも表示されています。

選択するとアラートルールの詳細が表示されます。
ステータスの状態(履歴)も表示されます。
OKとなっておりプロセスのステータスが取得出来ている事が確認出来ます。

プロセス停止してアラートを確認

監視対象のプロセス(chronyd(デーモン))を停止してアラート発生を確認します。

アラート確認
chronydを停止します。

[root@test-vm-01 ~]# systemctl stop chronyd

しばらくするとアラートルールのステータスがALERTになります。
Status & HistoryでもAlertとなっている事が確認出来ます。
chronydを起動します。

[root@test-vm-01 ~]# systemctl start chronyd

アラートルールのステータスがOKになります。
Status & HistoryでもOKとなっており、ALERT状態から回復しています。
Eventsでアラートの履歴を確認します。
[Triggered]と[Recovered]の履歴が確認出来ました。

※一部画面は別アラート発生時のもの使用しています。

メトリック(リソース監視)についてはこちらに纏めています。
アラート発生時のメール通知方法はこちらに記載しています。

—-

Windows 2019でDatadog Agent使ったサービス情報の送信

まず最初にWindows OSにDatadog Agentを導入します。導入方法についてはこちらを参考に実施願います。

個別でサービスの状態を判断するconf.yamlを作成

サービス監視用のconf.yamlを作成します。
Datadog公式サイトの情報を参考に進めます。

Windows Service(Datadog公式)

サービス名はPowerShellのGet-Serviceコマンドレットで確認出来ます。
今回はW32Time(Windows Time)を監視対象とします。

Datadog Agent Managerを利用してファイル編集をしています。
直接ファイル操作する場合は以下のパスに新規ファイル(conf.yaml)を作成します。

ファイル作成場所(例)
C:\ProgramData\Datadog\conf.d\windows_service.d\conf.yaml

conf.yaml作成
conf.yamlを新規作成します。

ChecksのManage Checksでconf.yamlを作成編集出来ます。
Add a Checkでファイル追加出来ます。
作成するディレクトリ(windows_service)
servicesでサービス名を定義します。
seaech_stringに検索するプロセスの文字列を設定します。

Datadog Agentを再起動します。

instances:
 – services
  – W32Time

StatusのCollectorで確認出来ます。

コマンドプロンプトでDatadog Agentを再起動

コマンドプロンプトで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

アラートルール作成

Datadog Monitorsでアラートルールを作成します。
Datadog Agentで設定したW32Time(Windows Time)を監視します。

アラートルール作成
MonitorsでService Checkを選択します。

Pick a Service Checkにはwindows_service.stateを選択します。
Pick monitor scopeで監視対象のサービス名を選択します。今回はw32Timeを選択しています。

※ホストを限定する場合はPick monitor scopeにホスト名を設定します。

Set alert conditionsでアラートの基準を選択します。Warningのアラートは3、Crticalは5、OK(回復)は3を選択しています。
連続失敗回数や連続成功回数の指定になります。

アラートの条件を設定する

※今回はalert for eachを選択してません。監視対象が複数台に渡る場合はHostを選択します。ホスト単位での検知になります。
※Warning設定していますが使えません。

Notify your teamで通知方法を指定します。
タイトル部分がアラートルール名になります。
今回はWindows Time Ng Service {{host.name}}としています。

※{{host.name}}とする事でアラート発生時にホスト名を表示する事が出来ます。

Createでアラートルールを作成します。

アラートルール確認

作成されたアラートルールを確認します。

アラートルール確認
Managed Monitorにアラートルール一覧と各アラートルールのステータスが表示されます。
作成したアラートルールも表示されています。

選択するとアラートルールの詳細が表示されます。
ステータスの状態(履歴)も表示されます。
OKとなっておりサービスのステータスが取得出来ている事が確認出来ます。

サービスを停止してアラートを確認

監視対象のサービス(w32Time)を停止してアラート発生を確認します。

アラート確認
サービス(W32Time)を停止します。
しばらくするとアラートルールのステータスがALERTになります。
Status & HistoryでもAlertとなっている事が確認出来ます。
サービス(W32Time)を起動します。
アラートルールのステータスがOKになります。
Status & HistoryでもOKとなっており、ALERT状態から回復しています。
Eventsでアラートの履歴を確認します。
[Triggered]と[Recovered]の履歴が確認出来ました。

最後に

Datadog を使ったプロセスやサービスの監視設定に手順について纏めてみました。
今回は1つのホストで実施していますが、複数のホストを1つのアラートルールで監視する事も出来ます。
また1つの設定ファイルで複数のプロセスやサービスの監視設定も可能です。

今後もDatadogについて色々試してみたいと思います。

仮想マシン(Azure VM)のメトリック(リソース)監視設定についてはこちらに纏めています。
アラート発生時のメール通知もこちらに記載しています。

Datadog Agentを使ったログ転送についてはこちら

https://www.tama-negi.com/2021/01/10/datadog-agent-azure-vm/

スポンサーリンク