zabbix_senderでのダブルバイト文字の使用について
お世話になります。
Zabbix標準のアイテムで監視できない内容は、エージェントが導入されているサーバ上で
シェルスクリプト(UNIX系)、DOSバッチ(Windows系)を実行し、その結果をzabbix_senderで
Zabbixサーバに通知しようと思っておりますが、-oでダブルバイトを指定すると文字化けします。
■環境
Zabbix 2.0.3
Apache 2.2.15
Mysql 5.5.28
PHP 5.3.17
■アイテム設定
タイプ:Zabbixトラッパー
キー:CRITICAL
データ型:文字列
■トリガー
名前:{ITEM.VALUE}
条件式:({hostname:CRITICAL.str(.)}=0) & ({hostname:CRITICAL.count(60)}<11)
障害イベントを継続して生成:チェック有り
深刻度:重度の障害
■zabbix_senderの書式
zabbix_sender -z xx.xx.xx.xx -p 10051 -s hostname -k CRITICAL -o TEST
→イベント画面に問題なく表示されます。
zabbix_sender -z xx.xx.xx.xx -p 10051 -s hostname -k CRITICAL -o テスト
→イベント画面に文字化けし表示されます。表示内容→?e?X?g
(Ver1.8.4の環境でもダブルバイトは表示できず。実際には空白でイベントが表示される)
最新データの画面上で、既に化けていますのでZabbixサーバで受信した時点で
化けていると思うのですが、zabbix_senderはダブルバイトに対応していないのでしょうか。
ログ監視やディスク使用率監視など他のアイテムでは化けは発生していません。
(zabbix_senderの利用用途が違っているかもしれませんが)
対応していない場合、「ログに出力しログ監視で設定する以外」に
対応可能な設定方法はありますでしょうか。
以上です。宜しくお願いします。
TNK - 投稿数: 4768
文字コードにUTF-8を利用しているLinuxなどUNIX系OSからであれば、
マルチバイト文字でもzabbix_senderで送ることができます。
しかし、Windows環境や文字コードにUTF-8以外の文字コードを利用
しているUNIX系OSからでは文字コードが異なるため、文字化けが発
生してしまっているのではないでしょうか。
試しに、サーバ側、zabbix_sender実行側両方とも、
Zabbixのバージョン:
Zabbix 2.0.4
OS:
CentOS 6.3(x86_64)
LANGの設定がja_JP.UTF-8
の環境で試してみたところ「テスト」という文字をzabbix_senderで
送ることができました。
設定のみで対応する方法としては、ログを利用する方法になると思
います。
zabbiler - 投稿数: 27
TNK様
早速のご回答ありがとうございます。
記載が洩れましたが、文字化けしたのはWindows環境です。
ご回答頂きましたとおりUTF-8のLinuxでは文字化けしませんでした。
スクリプトの実行結果が単一行の場合はログ監視で対応できそうですが
複数行の場合は別途検討しようと思います。