Windowsにおける日本語ログファイルの監視
[概 要]
本ドキュメントでは、Windows版のZabbix エージェントにおいて、SJISおよびUTF-8で保存されている日本語ログファイルを文字化けすることなく収集する設定方法をご紹介します。
[注意事項]
この機能はミラクル・リナックス配布のWindows版 zabbix-agentd 1.6.8-4 以降の 1.6 系バージョンにおいてにて利用可能です。
[確認環境]
Zabbixサーバ: ミラクル・リナックス配布のLinux版 zabbix-server 1.6.8-4 以降
Zabbixエージェント: ミラクル・リナックス配布のWindows版 zabbix-agentd 1.6.8-4 以降
Zabbixサーバ動作確認OS: Asianux Server 3 ==MIRACLE LINUX V5(32bit、64bit)
Zabbixエージェント動作確認OS: Windows 2000 Server, Windows Server 2003 x86, Windows Server 2003 x64, Windows Server 2008 x86, Windows Server 2008 x64
[事前準備]
以降の手順を実施する前に、必ず以下の点について確認して下さい。
■MySQLのZabbixデータベースがutf8のテーブルで構成されている
以下コマンドでテーブルがutf8で構成されていることを確認してください。
utf8で構成されている場合には太字部分のように「DEFAULT CHARSET=utf8」と表示されます。
# echo "show create table history_log;" | mysql -u「Zabbixデータベースのユーザ名」 -p 「Zabbixデータベース名」
Enter password: ・・・Zabbixデータベースのパスワードを入力
Table Create Table
history_log CREATE TABLE `history_log` (\n `id` bigint(20) unsigned NOT NULL default '0',\n `itemid` bigint(20) unsigned NOT NULL default '0',\n `clock` int(11) NOT NULL default '0',\n `timestamp` int(11) NOT NULL default '0',\n `source` varchar(64) NOT NULL default '',\n `severity` int(11) NOT NULL default '0',\n `value` text NOT NULL,\n PRIMARY KEY (`id`),\n UNIQUE KEY `history_log_2` (`itemid`,`id`),\n KEY `history_log_1` (`itemid`,`clock`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8
この設定が存在しない場合には、再度Zabbixデータベースを以下オプションを付けて作成し直す必要があります。
mysql> create database 「Zabbixデータベース名」 default character set utf8;
なお、ミラクル・リナックス提供のZabbixインストール手順書は、utf8の設定がされる手順になっているため、ミラクル・リナックス提供の手順書に従ってインストールした場合にはすでにこの設定は完了しています。
■MySQLの設定ファイル/etc/my.cnfの[mysqld]セクションにutf8の設定が存在する
/etc/my.cnfの内容を確認し、[mysqld]セクションに以下の設定が存在することを確認してください。
[mysqld]
(略)
default-character-set=utf8
skip-character-set-client-handshake
(略)
なお、ミラクル・リナックス提供のZabbixインストール手順書は、utf8の設定がされる手順になっているため、ミラクル・リナックス提供の手順書に従ってインストールした場合にはすでにこの設定は完了しています。
[手 順]
■Zabbixに登録している監視対象ホストのホスト名と、設定ファイルzabbix_agentd.confのHostnameが一致していることを確認
Hostname=「監視対象ホストのホスト名」
この設定をしていない場合は、zabbix_agentd.confに設定してZabbixエージェントを再起動して下さい。
■Zabbixエージェントの設定ファイルzabbix_agentd.confに以下の記述が存在することを確認
Encoding=utf8
この設定が存在しない場合は、zabbix_agentd.confに追記してZabbixエージェントを再起動して下さい。
なお、ミラクル・リナックス配布のWindows版 zabbix-agentd にはデフォルトで設定が記述されています。
■日本語ログファイルの監視設定
日本語ログファイルの監視に対応するために、監視設定に使用するキーの引数を拡張しています。以下を参考にキーの設定をしてください。
log[ログファイル <, 正規表現, ログローテート後のログファイル名, エンコード指定>]
引数1: 監視対象のログファイル名を指定してください
引数2: 正規表現(省略可能)
引数3: 監視対象のログファイルのログローテート後のファイル名を指定してください(省略可能)
引数4: 監視対象のログファイルのエンコードを指定してください。「ACP」(SJISを使用する場合はこちら)もしくは「UTF8」を指定可能です。何も指定しない場合はASCII文字列として読み込みます。(省略可能)
今回の例では以下のような設定をしました。
名前: log[c:\out.log,,,ACP] ・・・任意の文字列を設定可能
タイプ: ZABBIXエージェント(アクティブ)
キー: log[c:\out.log,,,ACP] ・・・次のキーについての説明を参照のこと
データ型: ログ
更新間隔(秒): 1 ・・・ログの取りこぼしを避けるため、1秒に設定することを推奨
ヒストリの保存期間(日): 7 ・・・任意の期間を設定可能
ステータス: 有効
キーについての説明:
log[c:\out.log,,,ACP]
引数1: 監視対象のログファイル名として、c:\out.log を指定
引数2: なし
引数3: なし
引数4: SJISで記録されるファイルを監視するため、「ACP」を指定
■監視ログを確認
数分待つと以下のようにログが収集されはじめます。
[更新履歴]
2010年 2月 3日 新規作成