Win 32 event log

Supported OS Windows

Integrationv2.13.2

概要

Win 32 Event Log は、Windows のイベントログを監視して Datadog に転送します。このチェックを有効にして、以下のことができます。

  • システムとアプリケーションのイベントを Datadog で追跡できます。
  • システムとアプリケーションのイベントを他のアプリケーションと関連付けることができます。

セットアップ

インストール

Windows Event Log チェックは Datadog Agent パッケージに含まれています。追加のインストールは必要ありません。

コンフィギュレーション

  1. Agent の構成ディレクトリのルートにある conf.d/ フォルダーの win32_event_log.d/conf.yaml を編集します。使用可能なすべての構成オプションの詳細については、サンプル win32_event_log.d/conf.yaml を参照してください。

  2. Agent を再起動すると、Windows イベントが Datadog に送信されます。

: イベントとログは別々に構成されます。ログは、各インスタンス内で構成されません。ログコレクションの構成については、下記のログコレクションをご参照ください。

ログの収集

まず、datadog.yamllogs_enabled: true が設定されていることを確認します。

特定の Windows イベントからログを収集するには、チャンネルを conf.d/win32_event_log.d/conf.yaml ファイルに手動で追加するか、Datadog Agent Manager を使用します。Windows イベントログのドキュメントを参照してください。

チャンネルの一覧を表示するには、PowerShell で以下のコマンドを実行します。

Get-WinEvent -ListLog *

最もアクティブなチャンネルを表示するには、PowerShell で以下のコマンドを実行します。

Get-WinEvent -ListLog * | sort RecordCount -Descending

このコマンドは、チャンネルを LogMode MaximumSizeInBytes RecordCount LogName の形式で表示します。次に応答例を示します。

LogMode MaximumSizeInBytes RecordCount LogName
Circular 134217728 249896 Security

LogName 列の値は、チャンネルの名前です。上の例では、チャンネル名は Security です。

win32_event_log.d/conf.yaml コンフィギュレーションファイルの logs セクションにチャンネルを追加します。各チャンネルは、ファイルの instances セクションのエントリも必要です。この例では、Security<CHANNEL_2> チャンネルのエントリを示しています。

init_config:
instances:
  - path: Security 
    legacy_mode: false
    filters: {}

  - path: "<CHANNEL_2>" 
    legacy_mode: false
    filters: {}
logs:
  - type: windows_event
    channel_path: Security
    source: windows.events
    service: Windows

  - type: windows_event
    channel_path: "<CHANNEL_2>"
    source: "windows.events"
    service: myservice

<CHANNEL_X> パラメーターは、イベントの収集に使用する Windows チャンネル名に変更してください。 インテグレーションの自動処理パイプラインを利用するには、対応する source パラメーターを windows.events に設定します。

最後に、Agent を再起動します。

: Security ログチャンネルの場合は、Datadog Agent ユーザーを Event Log Readers ユーザーグループに追加してください。

イベントの絞り込み

Windows イベントビューア GUI を使用して、このインテグレーションを使用してキャプチャできるすべてのイベントログをリストします。

正確な値を決定するには、次の PowerShell コマンドを使用してフィルターを設定します。

Get-WmiObject -Class Win32_NTLogEvent

たとえば、Security ログファイルに記録された最新のイベントを表示するには、次のコマンドを使用します。

Get-WmiObject -Class Win32_NTLogEvent -Filter "LogFile='Security'" | select -First 1

コマンドの出力にリストされる値を win32_event_log.d/conf.yaml で設定して、同種のイベントをキャプチャできます。

Get-EventLog PowerShell コマンドまたは Windows イベントビューア GUI から提供される情報が、Get-WmiObject から提供される情報とは多少異なる場合があります。
設定したイベントがインテグレーションによってキャプチャされない場合は、Get-WmiObject を使用してフィルターの値をダブルチェックしてください。
  1. イベントログに 1 つ以上のフィルターを構成します。フィルターを使用すると、Datadog に取り込むログイベントを選択できます。

    次のプロパティにフィルターを設定できます。

    • type: Warning、Error、または Information
    • log_file: Application、System、Setup、または Security
    • source_name: 使用可能な任意のソース名
    • user: 有効な任意のユーザー名

    win32_event_log.d/conf.yaml のコンフィギュレーションファイルに、フィルターごとにインスタンスを追加します。

    いくつかのフィルターの例を示します。

    - type: windows_event
      channel_path: Security
      source: windows.events
      service: Windows       
      log_processing_rules:
      - type: include_at_match
        name: relevant_security_events
        pattern: .*(?i)eventid.+(1102|4624|4625|4634|4648|4728|4732|4735|4737|4740|4755|4756)
    
    - type: windows_event
      channel_path: Security
      source: windows.events
      service: Windows       
      log_processing_rules:
      - type: exclude_at_match
        name: relevant_security_events
        pattern: \"EventID\":\"1102\"|\"4624\"t\"
    
    - type: windows_event
      channel_path: System
      source: windows.events
      service: Windows       
      log_processing_rules:
      - type: include_at_match
        name: system_errors_and_warnings
        pattern: .*(?i)level.+((?i)(warning|error))
    
    - type: windows_event
      channel_path: Application
      source: windows.events
      service: Windows       
      log_processing_rules:
      - type: include_at_match
        name: application_errors_and_warnings
        pattern: .*(?i)level.+((?i)(warning|error))
    
    instances:
      # 以下は、SQL Server からエラーと警告を取得し、
      # すべてのイベントを MSSQLSERVER ソースに置き、#sqlserver でタグ付けしています。
      - tags:
          - sqlserver
        type:
          - Warning
          - Error
        log_file:
          - Application
        source_name:
          - MSSQLSERVER
    
      # このインスタンスは、すべてのシステムエラーを取得し、#system でタグ付けしています。
      - tags:
          - system
        type:
          - Error
        log_file:
          - System
    
  2. Agent Manager を使用して Agent を再起動します (またはサービスを再起動します)。

ログをフィルタリングする例については、高度なログ収集のドキュメントを参照してください。

EventID によるフィルタリング

以下は、特定の EventID から Windows イベントログを収集するための正規表現パターンの例です。

logs:
  - type: windows_event
    channel_path: Security
    source: windows.event
    service: Windows
    log_processing_rules:
      - type: include_at_match
        name: include_x01
        pattern: \"value\":\"(101|201|301)\"

: ログのフォーマットにより、パターンが異なる場合があります

検証

Datadog Agent Manager の情報ページを確認するか、Agent の status サブコマンドを実行し、Checks セクションで win32_event_log を探します。以下のようなセクションが表示されるはずです。

Checks
======

  [...]

  win32_event_log
  ---------------
      - instance #0 [OK]
      - Collected 0 metrics, 2 events & 1 service check

収集データ

メトリクス

Win32 Event log チェックには、メトリクスは含まれません。

イベント

すべての Windows イベントが Datadog に転送されます。

サービスのチェック

Win32 Event log チェックには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。

その他の参考資料

ドキュメント

ブログ