Datadog監視設定(Linuxプロセス監視)
Datadogの監視設定として、DatadogAgentを導入したEC2に対して設定を施します。 今回はCentOS6にDDAgent7をインストールした状態で、プロセス監視設定を実装する手順を以下に記載しました。
作業手順
1. プロセス監視用の設定ファイルを作成
対象の設定ファイルの場所に移動し、サンプルファイルをコピー
[root@ ~]# cd /etc/datadog-agent/conf.d/process.d [root@ process.d]# ls -la 合計 16 drwxr-xr-x 2 dd-agent dd-agent 4096 4月 23 12:10 2020 . drwxr-xr-x 135 dd-agent dd-agent 4096 4月 23 12:10 2020 .. -rw-r----- 1 dd-agent dd-agent 4876 3月 25 00:33 2020 conf.yaml.example [root@ process.d]# [root@ process.d]# cp -p conf.yaml.example conf.yaml [root@ process.d]# [root@ process.d]# ls -la 合計 24 drwxr-xr-x 2 dd-agent dd-agent 4096 4月 23 15:56 2020 . drwxr-xr-x 135 dd-agent dd-agent 4096 4月 23 12:10 2020 .. -rw-r----- 1 dd-agent dd-agent 4876 3月 25 00:33 2020 conf.yaml -rw-r----- 1 dd-agent dd-agent 4876 3月 25 00:33 2020 conf.yaml.example [root@ process.d]#
2. 1で作成した設定ファイルを編集
まずは事前作業
▼OS確認
[root@ init.d]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.8 (Santiago)
▼プロセス確認
起動中のプロセスのプロセス名を確認
※以下はrsyslogdをgrepして確認
# # ps -ef | grep rsyslogd root 995 1 0 2016 ? 00:06:09 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5 root 2842 20678 0 15:35 pts/1 00:00:00 grep rsyslogd
事前作業で確認したプロセス名で以下の通り設定ファイルを修正する (監視したいプロセスを羅列すればOK, その他の行は全てコメントアウトされていないと失敗するので注意)
[root@ process.d]# vim conf.yaml
▼設定ファイルの内容
init_config: instances: - name: sshd search_string: - sshd exact_match: False - name: rsyslogd search_string: - rsyslogd exact_match: False - name: ntpd search_string: - ntpd exact_match: False - name: crond search_string: - crond exact_match: False - name: postfix search_string: - postfix exact_match: False - name: httpd24-httpd search_string: - httpd24-httpd exact_match: False - name: rh-php56-php-fpm search_string: - rh-php56-php-fpm exact_match: False - name: rh-mysql56-mysqld search_string: - rh-mysql56-mysqld exact_match: False
3. 設定反映のためdatadog-agentの再起動
Datadog7系なので、以下の公式ドキュメント通りに「sudo service datadog-agent restart」で行けると思いきや、いけない。。
実際コマンドも公式ドキュメントとは違うので注意。 公式ドキュメント記載の再起動コマンド(sudo service datadog-agent restart)が効かないので、以下のブログを参考に対処しました。
大事な箇所を抜粋。
起動/停止/再起動 Amazon Linux、CentOS 6、Ubuntu 14 は以下のように変わります。 (Ubuntu 14 は service コマンドも利用可能です)
DDAgentのバージョン <= 5.x.x
service datadog-agent start
↓
DDAgentのバージョン >= 6.0.0
initctl start datadog-agent
systemctl を使う CentOS 7、Ubuntu 16 は変わりません。systemctl start datadog-agent
Datadog logs(パブリックベータ) を試してみる... - AWS Exchange
要はCentOS6、Datadog6系以上なので、実行コマンドが変わるよという話でした。公式ドキュメントにも書いてほしい。。
以下のコマンドで再起動してステータスが確認できればOK!
# initctl restart datadog-agent # initctl status datadog-agent
設定されたプロセス監視は以下のコマンドで確認できます。
# datadog-agent status
実行結果(プロセス監視のcondの部分だけ抜粋)
(略) process (1.11.1) ---------------- Instance ID: process:crond:dafad716de36d393 [OK] Configuration Source: file:/etc/datadog-agent/conf.d/process.d/conf.yaml Total Runs: 1 Metric Samples: Last Run: 15, Total: 15 Events: Last Run: 0, Total: 0 Service Checks: Last Run: 1, Total: 1 Average Execution Time : 17ms Last Execution Date : 2020-04-24 16:18:49.000000 JST Last Successful Execution Date : 2020-04-24 16:18:49.000000 JST (略)
あとは設定したプロセス監視項目が、DD管理画面上からモニターを作成する時にプルダウンで出てくればOKです!
今日もお疲れ様でした。