11 アクティブチェックを使用してWindowsイベントログを監視する
はじめに
このガイドでは、Zabbixのアクティブチェックを使用してWindowsイベントログを監視する方法について説明します。ZabbixのWindows固有のアイテムキーを使用することで、重要なイベント(ログオン失敗、システムエラーなど)をリアルタイムで収集・分析できます。
このガイドの対象者
このガイドは、Windowsイベントログを監視したいZabbixの新規ユーザーやネットワーク管理者向けに作成されています。高度な設定オプションについては、Windows固有のアイテムキーのドキュメントを参照してください。
前提条件
このガイドを進める前に、OSの手順に従ってZabbixサーバーとZabbixフロントエンドをダウンロードしてインストールする必要があります。また、監視対象のWindowsマシンにZabbixエージェントをダウンロードしてインストールする必要があります。
Windowsイベントログ監視のためのZabbixエージェントの設定
1. Windowsホスト上のzabbix_agentd.conf(デフォルトパスはC:\Program Files\Zabbix Agent\zabbix_agentd.conf)を開き、ServerActiveパラメータがZabbixサーバーのIPアドレスに設定されていること、およびHostnameパラメータがZabbixフロントエンドで定義するホスト名と一致していることを確認します。これにより、エージェントは自身のホストに対するアクティブチェックを指定したZabbixサーバーから要求できるようになります。例:
ServerActive=192.0.2.0
Hostname=MyWindowsHost
2. 変更を反映するためにZabbixエージェントサービスを再起動します:
net stop "Zabbix Agent" && net start "Zabbix Agent"
3. Windowsホストが稼働していることを確認します:
- WindowsホストでZabbixエージェントサービスが実行されていることを確認します。
- Windowsホストがポート10051でZabbixサーバーに接続できることを確認します。Windowsホストから接続性をテストするには、PowerShellを開いて次のコマンドを実行します:
Test-NetConnection -ComputerName <Zabbix-server-IP> -Port 10051
Zabbixフロントエンドの設定
1. データ収集 > ホストに移動し、ホストを作成します。
- ホスト名フィールドにホスト名(例:"MyWindowsHost")を入力します。
- ホストグループフィールドにホストグループ(例:"Event log Monitoring")を入力または選択します。
- 追加を押して、設定したホストを保存します。
テンプレートフィールドに"Windows by Zabbix agent active"テンプレートを追加することで、同じホスト上の他のアクティブアイテムが更新されているかどうかを観察し、トラブルシューティングに役立てることができます。

2. 次のパラメータで新しいアイテムを作成します。
- 名前フィールドに、説明的なアイテム名(例:"Security log: failed logon events")を入力します。
- タイプドロップダウンで"Zabbixエージェント(アクティブ)"を選択します(イベントログ監視には必須)。
- キーフィールドに、eventlogアイテムキーを使用します。例えば、セキュリティログ内の失敗したログオン試行(イベントID: 4625)を監視し、アイテムの最終チェックより古いエントリを無視する(
skipパラメータを使用)には、次のアイテムキーを入力します:eventlog[Security,,,,4625,,skip] - 情報のタイプドロップダウンで"ログ"を選択します。

3. 追加をクリックしてアイテムを保存します。
収集されたメトリクスのテストと表示
おめでとうございます!ZabbixはWindowsイベントログの収集を行うように設定されました。 イベントログが収集されていることを確認するには、Windowsアカウントからログアウトし、誤った認証情報でログインを試みることで、「セキュリティログ:ログオン失敗イベント」アイテムをテストできます。
次に、Zabbixフロントエンドで収集されたログを表示します。
1. Zabbixフロントエンドの監視 > 最新データに移動します。

2. 名前フィールドで「MyWindowsHost」ホストでフィルタリングします。
3. 履歴をクリックして記録されたログ値を表示します。

4. ログ値が存在しない場合は、本ガイドのトラブルシューティングセクションに進んでください。
障害アラートの設定
このガイドでは、メールアラートを送信するための基本的な設定手順を説明します。
1. トリガーを定義するには、[データ収集] > [ホスト]に移動し、イベントログアイテムが関心のあるパターンを記録したときに発火するようにします。たとえば、セキュリティログで失敗したログオン試行を検出するには、find()関数を使用します。
find(/MyWindowsHost/eventlog[Security,,,,4625,,skip],10m,"like","Logon failed")
2. ユーザー設定 > プロファイルに移動し、メディアタブに切り替えてメールアドレスを追加します。

3. 障害通知の受信のガイドに従います。
次回、Zabbixが障害を検出したときは、メールでアラートを受信できるはずです。
トラブルシューティング
Windowsイベントログの収集や表示に問題が発生した場合は、以下のヒントを使用して一般的な問題を特定し、解決してください。
1. Zabbixサーバー(Linux)で、次のコマンドを使用してiptablesルールを一覧表示します。
sudo iptables -L -n
そして、TCPポート10051に対するACCEPTルールがあることを確認します。
2. eventlog[...]キーが、Windows固有のアイテムキーに示されている通り、正確なログ名(大文字小文字を区別)、イベントID、モード(例:skip)、その他のパラメータを正確に使用していることを確認してください。
関連情報:
- アイテムの作成 - 追加のメトリクスを追加する方法を学びます。
- Microsoft Windows上のZabbixエージェント - 詳細なインストール手順。
- ZabbixエージェントでWindowsを監視する - Zabbixエージェントを使用してWindowsマシンの基本的な監視を設定するための包括的なガイド。
- Windows固有のアイテムキー - イベントログ監視用のキーを含む、ZabbixエージェントがサポートするWindows固有のアイテムキーに関する詳細情報。
- ログファイル監視 - Windowsイベントログにも適用できる、Zabbixによるログファイルの集中監視と分析の設定手順。