よく使う設定をまとめておく
#Datadogエージェントの設定
対象サーバ:CentOS7
エージェント:datadog-agent v6
##目次
- プロセス監視
- Datadogエージェントが正しく動作しているか
- 独自アプリケーションのログを記録したい
##プロセス監視
プロセスのCPU負荷/メモリ負荷のモニタリング、死活監視をしたい。
▼[datadog.yaml]ファイルを編集する。
######################################
## Process Collection Configuration ##
######################################
process_config:
# "false" コンテナ情報のみ "true" コンテナとプロセス "disabled" プロセス監視を無効化
enabled: "true"
# 計測間隔(秒)
intervals:
process: 60
# ログの文字列をマスクしたい場合(オプション)
custom_sensitive_words:
- 'password'
▼[Datadog]→[Infrastructure]→[Processes]の画面
▼例えば[monit]が稼働していることを監視する。[Datadog]→[Monitors]→[New Monitor]
▼[monit]の監視がスタートした。[Datadog]→[Monitors]→[Manage Monitors]
▼[monit]を5分以上止めてみる($ systemctrl stop monit)。アラート通知のメールが届きました。
▼ログに機密情報が含まれる場合はマスクすることもできる(例 "vi test.txt password 12345" の場合)。
##サーバーを監視するとき、どのチェックが有効になっているのか確認したいとき。
コマンド[datadog-agent status]を実行すると各チェック(httpとかapacheとかメトリックを収集するモジュール)の何を有効にしているかを表示してくれる。
- どのチェックが有効になっているか
- 各チェックが正常(OK)に動いているか
- 各チェックがどのコンフィグを有効にしているのか
なども確認することもできる。このサンプルの場合、ログファイルを読み込めない、それ以外はOKとなっている。
$ sudo datadog-agent status
Getting the status from the agent.
===============
Agent (v6.15.1)
===============
<中略>
=========
Collector
=========
Running Checks
==============
No checks have run yet ← このあたりデバッグ用に大事
========
JMXFetch
========
Initialized checks
==================
no checks ← このあたりデバッグ用に大事
Failed checks
=============
no checks ← このあたりデバッグ用に大事
Hostnames
=========
hostname: sl01.kano.local
=========
Collector
=========
Running Checks
==============
apache (1.8.0)
--------------
Instance ID: apache:345000000000055d4de [OK] ← このあたりデバッグ用に大事
Configuration Source: file:/etc/datadog-agent/conf.d/apache.d/conf.yaml
<以後同様に中略>
cpu
---
Instance ID: cpu [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/cpu.d/conf.yaml.default
disk (2.5.1)
------------
Instance ID: disk:e5d00000024336f [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/disk.d/conf.yaml.default
http_check (4.3.1)
------------------
Instance ID: http_check:Kano_Azure_WebApp-Linux:931000003809 [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/http_check.yaml
Instance ID: http_check:Kano_Azure_WebApp-Win:cd0000006f66f0 [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/http_check.yaml
Instance ID: http_check:Kano_SL01_searchlocation:8fb000097d6 [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/http_check.yaml
kano (0.0.2)
------------
Instance ID: kano:kano-script:1fa43400000dad [OK]
Configuration Source: file:/etc/datadog-agent/conf.d/kano.yaml
==========
Logs Agent
==========
system-probe
------------
Type: file
Path: /var/log/datadog/system-probe.log
Status: OK
Inputs: /var/log/datadog/system-probe.log
apache
------
Type: file
Path: /var/log/httpd/error_log
Status: OK
Inputs: /var/log/httpd/error_log
Type: file
Path: /var/log/httpd/access.log
Status: Error: file /var/log/httpd/access.log does not exist
kano
----
Type: file
Path: /home/user/ping.log
Status: Error: file /home/user/ping.log does not exist ← このあたりデバッグ用に大事
##独自アプリケーションのログを記録したい
syslogとかjournalとかログの大量保管はDatadogの課金増加になるので、独自アプリのログだけ記録することもできる。例えば、独自アプリ(ping heat run)が出力したログファイル[ping.log]をDatadogでモニタリングする場合、コンフィグ[custom_log_collection.yaml]にログファイルを書きます。agentを再起動して、check custom_log_collectionで動作確認したらdatadogメニュー[logs]で可視化されたデータを見ます。
logs:
- type: file
path: /home/user/ping.log
source: customelog
service: pingheatrun
###トラブルシューティング
datadogエージェントがログを読む権限がない時は、例えばコマンド[sudo datadog-agent status]を実行した時に、"ファイル does not exist"のエラーが表示されます。ファイルでは無くフォルダに実行権限が必要なようです。下記例では、コマンド[chmod 755 user]を実行します。
$ sudo datadog-agent status
custom_log_collection
---------------------
Type: file
Path: /home/user/ping.log
Status: Error: file /home/user/ping.log does not exist ← このエラーが出た時
$ cd /home
$ chmod 755 user
$ ls -la
drwxr-xr-x 39 user user 4096 Jan 19 10:42 user
$ sudo datadog-agent status
custom_log_collection
---------------------
Type: file
Path: /home/user/ping.log
Status: OK
Inputs: /home/user/ping.log
Datadog関連記事
- [図解で、Datadogエージェントの設定手順] (https://qiita.com/1Kano/items/3533a8ebe5f6777840a6)
- [DatadogカスタムCheckの一番小さなコード] (https://qiita.com/1Kano/items/f1f897d8ee943f318c3e)
- [Datadogのデータ予測機能を使う] (https://qiita.com/1Kano/items/b6b484ae3e9afca3d296)
- [図解で、うちのワンコを真夏の暑さから守る(Datadogで)] (https://qiita.com/1Kano/items/5f2eed58794f13776a8e)
- [Datadog基本設定メモ(Windowsサーバ)] (https://qiita.com/1Kano/items/633b17fecec058a8eb2c)
- [Datadog基本設定メモ(CentOSサーバ)] (https://qiita.com/1Kano/items/6851fbe099f9be3fbe14)
- [Datadog基本設定(Log Explorer)] (https://qiita.com/1Kano/items/1c959c20cba3151db071)
- [Datadog基本設定(APM)] (https://qiita.com/1Kano/items/33dbcbc6bc86d369146a)