DatadogでWindowsのイベントログ監視を設定する方法

2019-11-05

概要

はじめに

  • 今回は、DatadogでWindows Serverのイベントログ監視を設定する方法をご紹介します。
  • DatadogはOSにインストールしたAgent を利用して、Windows Serverのイベントログ監視を提供します。Datadog の概要は、下記のログミーTechで公開されている服部さんの記事を参照ください。
 

Datadogで実現するWindows Serverイベントログ監視

  • Datadogのプロセス監視を利用して、Windows Serverのイベントログ監視が可能です。“win32_event_log.d” のconf を使用します。
  • Datadogのドキュメントは、下記を参照ください。
 

datadog.yaml の設定変更

  • /etc/datadog-agent/datadog.yaml の”logs_enabled” を設定変更します。Datadog Agentの再起動は、ここでは行いません。
  • 本設定変更後、agent.exe status の結果が「Logs Agent is not running」から変わります。(後述)

← デフォルトはfalse のため、trueに変更
logs_enabled: true
 

conf.yamlを作成する

  • conf.yamlを作成します。以下に、サンプルを記載します。
  • channel_path、sourceには、”System”, “Security”, “Application”のいずれかを指定します。Datadog のパイプラインで制御することも可能ですが、ログを送信するパターンに”Level: 2” 以上を指定します。
  • ruleのtypeには、include_at_match, exclude_at_matchの種類があり、patternの文字列を含む場合(include)と文字列を含まない場合(exclude)が指定できます。(下記サンプルは、include_at_matchですね)

init_config:
  
logs:
  - type: windows_event
    channel_path: System
    source: System
    service: eventlog
    sourcecategory: windowsevent
    log_processing_rules:
    - type: include_at_match
      name: level_error
      pattern: \"Level\":\s*\"2\"

  - type: windows_event
    channel_path: Security
    source: Security
    service: eventlog
    sourcecategory: windowsevent
    log_processing_rules:
    - type: include_at_match
      name: level_error
      pattern: \"Level\":\s*\"2\"

conf.yamlを配置する

  • conf.yaml をC:\ProgramData\Datadog\conf.d\win32_event_log.d配下に配置します。
  • datadog-agentを再起動します。PowerShell を管理者として起動し、下記コマンドを実行します。

PS C:\Users\Administrator> cd "C:\Program Files\Datadog\Datadog Agent\embedded"
PS C:\Program Files\Datadog\Datadog Agent\embedded> ./agent.exe restart-service
PS C:\Program Files\Datadog\Datadog Agent\embedded> ./agent.exe status
  • agent.exe statusコマンドの結果、正しくプロセス監視が行われているかをチェックします。

===============
Agent (v6.14.1)
===============

* 省略 *

==========
Logs Agent
==========
    LogsProcessed: 0
    LogsSent: 0

  win32_event_log
  ---------------
    Type: windows_event
    ChannelPath: System
    Status: OK
    Type: windows_event
    ChannelPath: Security
    Status: OK
 

Datadogでmonitor を作成する

  • monitor typeに「Logs」を選択し、monitorを作成します。
  • クエリに”Event System Level”を指定します。もし、送信されたイベントログにLevel: 2以上のイベントがない場合は、”No data” となります。
 
  • イベントが検出されている場合は、Log Explorerを使用して詳細を確認します。
 
  • Datadogを使用することで、各Windows Serverのイベントログをまとめて監視することが可能ですね。ただし、Windows Serverのイベントログには不要なイベントも上がりますので、全件チェックに追われないようにご注意を!