Windows Eventlogの監視について

ZABBIX1.4.6にて、LinuxやWindowsやネットワーク機器を監視する環境を構築しているのですが、Windows2003サーバのイベントログを監視する方法、アイテムやトリガーをどの様な値を設定すればよいのかわかりません。
ZABBIXに関して素人なので、手順を教えて頂けないでしょうか?

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

アイテムのキー設定で、eventlog[]を利用するとイベントログを監視することができます。

[]にはイベントログ名を設定するのですが、この名称はWindowsのイベントビューアに表示される日本語の名前ではなく、レジストリエディタの以下の場所に登録されている英語名を設定する必要があります。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog

ただし、本家がリリースしているZABBIX 1.4.6では日本語のイベントログは文字化けしてしまいます。現在日本語のイベントログに対応した1.4.6をZABBIX-JPからリリースする準備をしておりますので少々お待ちください。

ユーザー JAM の写真

返信が遅くなりすみませんでした。
回答ありがとうございます。

教えて頂いた内容にて試してみます。
今後、また何ありました際は、よろしくお願い致します。

ユーザー kana の写真

こんにちは

日本語対応したバージョンが
ZABBIX-JP : ZABBIX 1.4.5-2.JP RPMパッケージ
としてありますが、これで日本語のイベントログも監視かのうでしょうか

また、RPMではなくFREEBSDやソラリスなどでも使えるタイプのものはありますか?

ユーザー kodai の写真

こんにちは。

1.4.5-2ではイベントログの日本語対応は行っていません。次の1.4.6で対応したものをリリース予定ですので少々お待ちください。

あと、FreeBSDやSolarisのバイナリについては今のところ予定はありませんが、エージェントについてはプラットフォームが用意可能なものについては作成・配布を行うことを考えても良いかなと思っています。

ユーザー kana の写真

kodaiさん
ありがとうございます。

・本家のマルチバイト対応が次のバージョンであると思いますが、これとはべつのものを開発されているという理解でいいんでしょうか。

>次の1.4.6で対応したものをリリース予定ですので

・対応しているOSと大体のリリース時期を教えていただくことはできますか

ユーザー kodai の写真

マルチバイト対応したパッチは、ミラクル・リナックスからZABBIX SIA(開発元)に送付しています。そのまま取り込まれるかどうかはまだ確定していませんが、開発元との連携は行っています。

あと、ZABBIX-JPでのリリースはできるだけ早くリリースしたいと考えていますが、今のところベストエフォートなので日にちは確約できません。ただ、早ければ今月中、遅くとも7月初旬までにはリリースしたいと考えています。

ユーザー stifc の写真

こんにちは

私は現在バージョン1.6.5を使用しておりますが、Windowsのイベントログやログファイルの日本語の文字列監視ができず困っています。
1.6系のZabbixで日本語対応する御予定はありますでしょうか?

ユーザー kodai の写真

こんにちは。

1.6.X系の日本語イベントログ対応版もリリース予定にしています。Windows版のエージェントの配布の対応で遅れておりますが少々お待ちください。

ユーザー stifc の写真

了解致しました。
御回答有難う御座いました。

ユーザー sakuma の写真

kodai様

いつもお世話になっております。
Asianux Server 3評価版にて1.6.4のZABBIXを検証しておりますが、Windowsのイベントログにて日本語が以下のように「???」と文字化けしてしまいます。

<最新データ画面より>
---------------------
[2010.Jan.11 14:24:49] 2010.Jan.11 14:24:14 Service Control Manager 情報 WinHTTP Web Proxy Auto-Discovery Service ????? ??? ??????????
---------------------

mysqlでhistory_logテーブルを参照すると、以下のように日本語で参照されます。
---------------------
| 1610 | 22406 | 1263182086 | 1263182037 | Service Control Manager | 1 | WinHTTP Web Proxy Auto-Discovery Service サービスは 実行中 状態に移行しました。
---------------------

DBには正しく日本語(UTF8)で格納されているようですが、フロントエンド側で何か設定等必要でしょうか?

アイテムの設定は以下の通りです。
タイプ:ZABBIXエージェント(アクティブ)
キー:eventlog[xxx] →xxxはapplication/security/system
データ型:ログ

また、my.cnfには以下のようにUTF8の設定をいれております。
default-character-set=utf8

WindowsのエージェントはZABBIX-JPよりダウンロードした、サーバと同バージョン(1.6.4)を使用しております。
また、CentOS用の1.6.8のJPパッケージにアップグレードしてみましたが、事象は変わりませんでした。

以上、お手数ですがよろしくお願いいたします。

ユーザー KAZ の写真

sakumaさん

zabbix_agentd.confのに以下の「Encoding=utf8」行入ってますでしょうか?

<code>
## Spend no more than Timeout seconds on processing
# Must be between 1 and 30

Timeout=3

# Multibyte eventlog encode translation to utf-8
# This patch is presented by MIRACLE LINUX CORPORATION.

Encoding=utf8

</code>

ユーザー sakuma の写真

KAZ様

早速の返信、ありがとうございます。
Windows側のzabbix_agentd.confはインストール時から特に変更しておりませんが、ご指摘いただいたエンコードの設定は入っております。

Encoding=utf8

以上、よろしくお願いいたします。

ユーザー KAZ の写真

sakumaさん

1)MySQLですが、下記の様になっていますでしょうか?
<code>
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.02 sec)
</code>

2)php.iniのdefault_charsetはUTF-8になっていますでしょうか?
<code>
default_charset="UTF-8"
</code>

ユーザー sakuma の写真

MySQLの確認結果は、ご教示いただいた内容と同一です。
php.iniのほうは設定を追加してhttpdを再起動(念のためzabbix-serverも)しましたが、事象は変わりませんでした。

ユーザー KAZ の写真

sakumaさん

その他の日本語は正しく表示されていますでしょうか?

ユーザー sakuma の写真

KAZ様

メニュー等は日本語で表示されています。
ZABBIXサーバ(Asianux)のシスログを監視する設定を入れてみましたが、こちらもWindowsのイベントログ同様、「???」と化けました。

log[/var/log/zabbix/user.log]

こちらもDBには日本語で格納されてますので、ログ監視系全般において文字化けが発生してしまっております。

ユーザー tsuzuki の写真

鈴木です。

mysqlのテーブル定義がutf8になってない場合に、日本語をデータベースに正常に保存できず、「???」に表示されたような気がします。
mysqlにutf8の設定をしていても、その設定をする前に文字コードを指定せずにテーブルを作成していると、utf8でないテーブルになってしまいます。

mysqlで以下コマンドを実行してテーブル定義を表示してみてください。
以下のように「DEFAULT CHARSET=utf8」がテーブル定義に含まれているか確認してください。

mysql> show create table zabbix.history_log;
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| history_log | CREATE TABLE `history_log` (
`id` bigint(20) unsigned NOT NULL default '0',
`itemid` bigint(20) unsigned NOT NULL default '0',
`clock` int(11) NOT NULL default '0',
`timestamp` int(11) NOT NULL default '0',
`source` varchar(64) NOT NULL default '',
`severity` int(11) NOT NULL default '0',
`value` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `history_log_2` (`itemid`,`id`),
KEY `history_log_1` (`itemid`,`clock`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

よろしくお願いします。

ユーザー sakuma の写真

鈴木様

返信ありがとうございます。
確認しましたが、DEFAULT CHARSET=utf8は該当テーブルの定義に含まれております。
なお、DB作成時は以下の手順を実施しております。

mysql> create database zabbix default character set utf8;

以上、よろしくお願いいたします。

ユーザー KAZ の写真

sakumaさん

言語は日本語を選んでいるのでしょうか?
その際、ロケールはどうなっていますでしょうか?

[Administration(管理)]-[Locales(ロケール)]で「Create locale(作成 ロケール)」を表示させ、下記の設定を行って次へボタンを押して下さい。

・Take for default locale : 自分が選んでいる言語
・Locale to extend : Create New(作成 新規)
・New entries : Fill with default value(デフォルト値を表示)

そうすると上から2個目にコード設定の情報が表示されます。
これがUTF-8になっていますでしょうか?

ユーザー sakuma の写真

KAZ様

ロケールを確認しました。
UTF-8が表示されております。

以上、よろしくお願いいたします。

ユーザー tsuzuki の写真

/etc/my.cnf
には
skip-character-set-client-handshake
は含まれてますでしょうか?

あと、
default-character-set=utf8
skip-character-set-client-handshake
は[mysqld]セクション内に記述する必要がありますが、大丈夫でしょうか?
設定ファイルの最後の方に追記すると、[mysqld_safe]のセクションに含まれてしまうので確認してみてください。

よろしくお願いします。

ユーザー sakuma の写真

鈴木様

/etc/my.cnfに以下の設定を追加したところ、文字化けが解消いたしました。
skip-character-set-client-handshake

KAZ様、鈴木様、長らくご対応いただき、ありがとうございました。
お手数おかけしまして、申しわけありませんでした。