DatadogでWindowsのイベントログ監視を設定する方法
Contents
概要
はじめに
- 今回は、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のイベントログには不要なイベントも上がりますので、全件チェックに追われないようにご注意を!