Zabbixバージョン2.2で日本語のTrapが文字化けする件について
初めまして。
掲題の件についてご質問させて頂きたく投稿いたします。
現在、日本語のTrapをZabbixで受けた際、snmpdでUTF-8の文字コードを
正しく受け取ることができず、16進数に文字化けして受信してしまいます。
バージョン1.Xであればsnmptrap.shを修正することで
解消するという事例も見つけることができたのですが、
2.xよりTrap受信方法が大きく変わっているようで
snmptrap.shではなくsnmpttに置き換わっており、その
方法を試すことができない状況です。
詳しく調べてみると、ソースコード内にsnmptrap.shが
存在するようで、もしかするとそちらを使用し同様の
結果が得られるのではと思ったのですが、具体的に
どのようにすればよいかわからず苦慮しております。
もしお分かりの方がいらっしゃれば、上記について
ご教示頂けますと幸いです。
以上、よろしくお願いいたします。
heya - 投稿数: 319
こんにちは。
1.8 のときと同様の方法でもできますよ。
(1) snmptrapd.conf はこんな感じ(パスは適当に変更)。
authCommunity log,execute,net public
traphandle default /bin/bash /home/zabbix/bin/snmptrap.sh
(2) snmptrap.sh 内では最終的に
zabbix_sender -z Zabbixサーバーのアドレス(※) -p 10051 -s ホスト名 -k アイテムのキー -o "値"
というコマンドを実行すればいいので、snmptrap.sh 内の該当する部分で、各引数の値が適切になっていることを確認する。
※名前解決できるならホスト名でもいい。
(3) Zabbix でアイテムを設定する。
アイテムを設定するホストは -s で指定したホスト、アイテムのタイプは Zabbixトラッパー、キーは -k で指定したもの。(※)
※データ型は 文字列(255文字まで) または テキスト(文字数制限なし) だったと思うんですが、それでよかったですよね?>詳しい方々
ここが割と近いことをやっているようです。
http://cuturn2460.hatenablog.com/entry/20130225/1361763933
うちだ店長 - 投稿数: 8
heyaさん
早々のご連絡ありがとうございます。(大変助かります!)
ご教示頂いた内容で稼働テストしてみたいと思います。
結果はまたご連絡いたします。
以上、よろしくお願いいたします。
KAZ - 投稿数: 1085
うちださん
snmpの仕様です。
snmpのプロトコルは1バイト文字以外は16進に変換する仕様になっています。
なので、snmpttでHEX-String受けたら16進文字列 -> 16進変換すれば良いです。
ただし、16進にしても文字コードがUTF-8でないとZabbixは対応できないので届いた文字コードが何なのかも分からないといけません。
UTF-8以外ならUTF-8に変換が必要です。