LoginSignup
4
8

More than 3 years have passed since last update.

Datadog基本設定メモ(CentOSサーバ)

Last updated at Posted at 2020-01-19

よく使う設定をまとめておく

Datadogエージェントの設定

対象サーバ:CentOS7
エージェント:datadog-agent v6

目次

  1. プロセス監視
  2. Datadogエージェントが正しく動作しているか
  3. 独自アプリケーションのログを記録したい

プロセス監視

プロセスのCPU負荷/メモリ負荷のモニタリング、死活監視をしたい。

▼[datadog.yaml]ファイルを編集する。

/etc/datadog-agent/datadog.yaml
######################################
## Process Collection Configuration ##
######################################
process_config:
  # "false" コンテナ情報のみ "true" コンテナとプロセス "disabled" プロセス監視を無効化
  enabled: "true"
  # 計測間隔(秒)
  intervals:
     process: 60
  # ログの文字列をマスクしたい場合(オプション)
  custom_sensitive_words:
    - 'password'

▼[Datadog]→[Infrastructure]→[Processes]の画面
image.png

▼例えば[monit]が稼働していることを監視する。[Datadog]→[Monitors]→[New Monitor]
image.png

▼[monit]の監視がスタートした。[Datadog]→[Monitors]→[Manage Monitors]
image.png

▼[monit]を5分以上止めてみる($ systemctrl stop monit)。アラート通知のメールが届きました。
image.png

▼ログに機密情報が含まれる場合はマスクすることもできる(例 "vi test.txt password 12345" の場合)。
image.png

サーバーを監視するとき、どのチェックが有効になっているのか確認したいとき。

コマンド[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]で可視化されたデータを見ます。

/etc/datadog-agent/conf.d/custom_log_collection.yaml
  logs:
    - type: file
      path: /home/user/ping.log
      source: customelog
      service: pingheatrun

できた。
image.png

トラブルシューティング

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関連記事

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8