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


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

Datadogエージェントの設定

構成:Windows Server 2012 R2
エージェント:Datadog-agent v6.11.3

目次

  1. Agentを設定する
  2. IISをモニタリングする
  3. Windowsサーバを死活監視する
  4. Agent設定をGUIでカスタマイズする

Datadog Agent のディレクトリ構成

C:\ProgramData\Datadog\datadog.yaml
C:\ProgramData\Datadog\conf.d\
C:\ProgramData\Datadog\checks.d\
C:\Program Files\Datadog\Datadog Agent\embedded\agent.exe

Agent のコマンド

コマンドプロンプトは管理者権限で実行する

C:\Program Files\Datadog\Datadog Agent\embedded\agent.exe
agent.exe status
agent.exe check
agent.exe stopservice
agent.exe restart-service
agent.exe start-service

C:\Program Files\Datadog\Datadog Agent\embedded>agent status
Getting the status from the agent.

===============
Agent (v6.11.3)
===============

  Status date: 2020-01-18 21:32:22.185888 JST
  Agent start: 2019-12-08 14:52:17.723536 JST
  Pid: 5100
  Python Version: 2.7.16
  Check Runners: 4
  Log Level: info

Datadogダッシュボードでサーバーリソース(CPU、メモリ、ディスク、他)が可視化された

エージェント自体のリソース

メモリ18MBくらい消費する。

ディスクは400MBくらい。

IISをモニタリングする

  1. チェックを有効にするコマンド[Get-WmiObject]を実行する。
  2. インストールできたかコマンド[Get-WindowsFeature]で確認する。
  3. 初回のみパフォーマンスカウンタ設定コマンド[winmgmt /resyncperf]を実行する。
PS C:\Windows\system32> Get-WmiObject -List -Namespace root\cimv2 | select -Property name | where name -like "*Win32_Per
fFormattedData_W3SVC*"

Name
----
Win32_PerfFormattedData_W3SVC_WebService
Win32_PerfFormattedData_W3SVC_WebServiceCache
Win32_PerfFormattedData_W3SVCW3WPCounterProvider_W3SVCW3WP

PS C:\Windows\system32> Get-WindowsFeature web-* | where installstate -eq installed | ft -AutoSize

Display Name                               Name                 Install State
------------                               ----                 -------------
[X] Web Server (IIS)                       Web-Server               Installed
    [X] Web Server                         Web-WebServer            Installed
        [X] Common HTTP Features           Web-Common-Http          Installed
<略>

PS C:\Windows\system32> winmgmt /resyncperf
PS C:\Windows\system32> 

コンフィグを定義する
ディレクトリ[C:\ProgramData\Datadog\conf.d\iis.d\]にサンプルファイル[conf.yaml.example]があるので、このファイルを下記[iis.yaml]のように複製する。

\ProgramData\Datadog\conf.d\iis.yaml
init_config:

instances:

  # "."はカレントホストを意味する。
  #
  - host: .

iisの監視を設定できたか検査する。文字コードに挟まれているOKを確認する([[32mOK[0m])。

C:\Program Files\Datadog\Datadog Agent\embedded> agent check iis

<中略>

  Running Checks
  ==============

    iis (2.4.0)
    -----------
      Instance ID: iis:7e275ccbbebc2875 [[32mOK[0m]
      Total Runs: 1
      Metric Samples: Last Run: 44, Total: 44
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 2, Total: 2
      Average Execution Time : 2.078s

しばらくするとDatadogダッシュボードに(IIS-Metrics)が追加された。コネクション数とかリクエスト数などが可視化された。

サーバーの死活監視

[Monitors]→[New Monitor]でサーバーのホスト名を選び、この例では10分以上データが欠損したらアラート通知する。

仮想サーバーを止めてみる(10分間)。

アラート通知のメールが届いたよ。

Agent設定をGUIでカスタマイズする

なんとWEBブラウザが起動して、設定情報を見られるし、datadog.yamlを編集できる。Power Shell を管理者権限で起動して、コマンド[.\agent launch-gui]を実行。

PS C:\Program Files\Datadog\Datadog Agent\embedded> .\agent launch-gui
GUI opened at 127.0.0.1:5002
PS C:\Program Files\Datadog\Datadog Agent\embedded>

Linuxに慣れてるとびっくり、[Checks]の設定はGUIで出来るようだ。

Datadog関連記事