Zabbix2.2で、各Windows監視対象のイベントログを取得できるみたいなので、やってみた。
監視対象にAgentインストールして、アクティブチェック機能を有効にした状態で動作させる必要があります。
ちゃんと、日本語文字列も化けないで取り込めるのでうれしい。
SNMP関係やZabbix_Senderは普通に使うと文字化けしてしまうので、対応方法を思案中・・・・・
Zabbix_Senderの文字化け対策のほうは何とか見つけたので、そちらは後日。
以下設定メモ
Agent側で必要と思われる設定
- 取得対象のWindowsにZabbixAgentをインストールする
Agentはインストーラ付のZabbixAgent1.8.15でもOK
デフォルトのインストール先はC:\Program Files\ZABBIX Agent - ZabbixAgent設定のServerに、ZabbixServerのIPアドレスを設定する。
(ZabbixServer側でSourceIPを設定している場合はそれに合わせる)
Server=192.168.29.153 - ZabbixAgent設定のHostsNameには、
ZabbixServer上での監視対象のホスト名と一致させる必要がある。
IPで登録している場合は、IPアドレスを指定。
HostsName=192.168.29.40 - ZabbixAgent設定にDisableActive=0と設定するか、コメント化されている必要がある。
(アクティブチェックを有効にする必要有り)
zabbix_agentのサービスを再起動して、以下のようなエラーメッセージが出ないことを確認
HostsNameが一致していないと、2分ぐらいに1回、以下のようなメッセージが出る模様
3192:20140113:142500.960 No active checks on server: host [xp-vmclient] not found
Zabbixサーバ側の設定
アイテム設定
システムイベントログ
タイプ ZABBIXエージェント(アクティブ)
キー eventlog[system]
データ型 ログ
アプリケーションイベントログ
タイプ ZABBIXエージェント(アクティブ)
キー eventlog[application]
データ型 ログ
セキュリティイベントログ
タイプ ZABBIXエージェント(アクティブ)
キー eventlog[security]
データ型 ログ
Windowsサーバだとほかに、
「Directory Service」、「File Replication Service」も参照できるそうです。
トリガー設定
トリガーには以下の項目が設定可能
ログの出力元アプリケーションを指定する場合
書式
{%HOST%:eventlog[system].logsource(文字列)}=判定
判定
1=文字列にマッチする
0=文字列にマッチしない
ログ内の文字列を指定する場合
書式
{%HOST%:eventlog[system].iregexp(文字列)}=判定
判定
1=文字列にマッチする
0=文字列にマッチしない
ログ内の深刻度(重要度)を指定
書式
{%HOST%:eventlog[system].logseverity()}=判定
判定
1=情報
2=警告
4=エラー
8=セキュリティ
テンプレートのサンプルとして、以下のものがZabbix2.2.xでも使えました。
https://www.zabbix.com/wiki/templates/windows/eventlog
名称やトリガ条件などをちょっとだけ変えて使っています。
ちょっこっといじったテンプレート(異常発生30秒で自動回復するよう変更)
Template Windows Event Log.xml
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2014-01-13T14:04:41Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>Template Windows EventLogs</template>
<name>Template Windows EventLogs</name>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<items>
<item>
<name>Application Log</name>
<type>7</type>
<snmp_community>public</snmp_community>
<multiplier>0</multiplier>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<key>eventlog[Application]</key>
<delay>30</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>2</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params>DSN=<database source name>\nuser=<user name>\npassword=<password>\nsql=<query></params>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Directory Service Log</name>
<type>7</type>
<snmp_community>public</snmp_community>
<multiplier>0</multiplier>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<key>eventlog[Directory Service]</key>
<delay>30</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>2</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params>DSN=<database source name>\nuser=<user name>\npassword=<password>\nsql=<query></params>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>File Replication Service Log</name>
<type>7</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>eventlog[File Replication Service]</key>
<delay>30</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>2</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>Security Log</name>
<type>7</type>
<snmp_community>public</snmp_community>
<multiplier>0</multiplier>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<key>eventlog[Security]</key>
<delay>30</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>2</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params>DSN=<database source name>\nuser=<user name>\npassword=<password>\nsql=<query></params>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<valuemap/>
</item>
<item>
<name>System Log</name>
<type>7</type>
<snmp_community>public</snmp_community>
<multiplier>0</multiplier>
<snmp_oid>interfaces.ifTable.ifEntry.ifInOctets.1</snmp_oid>
<key>eventlog[System]</key>
<delay>30</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>2</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params>DSN=<database source name>\nuser=<user name>\npassword=<password>\nsql=<query></params>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Windows Event Logs</name>
</application>
</applications>
<valuemap/>
</item>
</items>
<discovery_rules/>
<macros/>
<templates/>
<screens/>
</template>
</templates>
<triggers>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Application].logseverity(0)}=4&{Template Windows EventLogs:eventlog[Application].nodata(30)}#1</expression>
<name>Application Log ERROR: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Application].logseverity(0)}=1&{Template Windows EventLogs:eventlog[Application].nodata(30)}#1</expression>
<name>Application Log INFORMATION: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Application].logseverity(0)}=8&{Template Windows EventLogs:eventlog[Application].nodata(30)}#1</expression>
<name>Application Log SECURITY: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>0</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Application].logseverity(0)}=2&{Template Windows EventLogs:eventlog[Application].nodata(30)}#1</expression>
<name>Application Log WARNING: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Directory Service].logseverity(0)}=4&{Template Windows EventLogs:eventlog[Directory Service].nodata(30)}#1</expression>
<name>Directory Service Log ERROR: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Directory Service].logseverity(0)}=1&{Template Windows EventLogs:eventlog[Directory Service].nodata(30)}#1</expression>
<name>Directory Service Log INFORMATION: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Directory Service].logseverity(0)}=8&{Template Windows EventLogs:eventlog[Directory Service].nodata(30)}#1</expression>
<name>Directory Service Log SECURITY: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>0</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Directory Service].logseverity(0)}=2&{Template Windows EventLogs:eventlog[Directory Service].nodata(30)}#1</expression>
<name>Directory Service Log WARNING: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[File Replication Service].logseverity(0)}=4&{Template Windows EventLogs:eventlog[File Replication Service].nodata(30)}#1</expression>
<name>File Replication Service Log ERROR: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[File Replication Service].logseverity(0)}=1&{Template Windows EventLogs:eventlog[File Replication Service].nodata(30)}#1</expression>
<name>File Replication Service Log INFORMATION: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[File Replication Service].logseverity(0)}=8&{Template Windows EventLogs:eventlog[File Replication Service].nodata(30)}#1</expression>
<name>File Replication Service Log SECURITY: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>0</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[File Replication Service].logseverity(0)}=2&{Template Windows EventLogs:eventlog[File Replication Service].nodata(30)}#1</expression>
<name>File Replication Service Log WARNING: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Security].logseverity(0)}=4&{Template Windows EventLogs:eventlog[Security].nodata(30)}#1</expression>
<name>Security Log ERROR: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Security].logseverity(0)}=1&{Template Windows EventLogs:eventlog[Security].nodata(30)}#1</expression>
<name>Security Log INFORMATION: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Security].logseverity(0)}=8&{Template Windows EventLogs:eventlog[Security].nodata(30)}#1</expression>
<name>Security Log SECURITY: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>0</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[Security].logseverity(0)}=2&{Template Windows EventLogs:eventlog[Security].nodata(30)}#1</expression>
<name>Security Log WARNING: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[System].logseverity(0)}=4&{Template Windows EventLogs:eventlog[System].nodata(30)}#1</expression>
<name>System Log ERROR: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[System].logseverity(0)}=1&{Template Windows EventLogs:eventlog[System].nodata(30)}#1</expression>
<name>System Log INFORMATION: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>1</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[System].logseverity(0)}=8&{Template Windows EventLogs:eventlog[System].nodata(30)}#1</expression>
<name>System Log SECURITY: {ITEM.VALUE}</name>
<url/>
<status>1</status>
<priority>0</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
<trigger>
<expression>{Template Windows EventLogs:eventlog[System].logseverity(0)}=2&{Template Windows EventLogs:eventlog[System].nodata(30)}#1</expression>
<name>System Log WARNING: {ITEM.VALUE}</name>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<dependencies/>
</trigger>
</triggers>
</zabbix_export>
Views: 410