【1.8.2】net.if.in(out)が取得できない
こんにちは、いつも活用させて頂いております。
(Zabbix1.8.2、postgreSQLを使用しています)
あるタイミングから「net.if.in」、「net.if.out」の値が取得できない現象が発生しておりまして、
出力ログから原因を調査していたら、本フォーラムに同様の現象の記載を見つけました。
<ログ>
[server1:net.if.in[lo,bytes]] error: Type of received value [4411236541630] is not suitable for value type [Numeric (float)]
[server1:net.if.out[lo,bytes]] error: Type of received value [4411236546993] is not suitable for value type [Numeric (float)]
<同現象のフォーラム>
http://www.zabbix.jp/modules/newbb/viewtopic.php?viewmode=flat&order=DESC&topic_id=486&forum=4&move=prev&topic_time=1272039011
Zabbixのバグが原因との事ですが、「1.8.2」のままで、何か良い方法で解決なされた方がいらっしゃいませんでしょうか?
ZabbixのVersionを「1.8.1」や「1.8.3」に変更すれば、対応できるかもしれないのですが、
容易にVersion変更出来る状況ではないため、ソース変更やパッチ適用などで「1.8.2」のままで解決したい次第です。
よろしくお願い致します。
TNK - 投稿数: 4740
ソース変更やパッチ適用をするより、1.8.3にバージョンアップする方がより安全な方法だと思います。
確かZabbixサーバがZabbixエージェントから値を受け取って処理するところの問題だったと思うので、まずはZabbixサーバだけでも1.8.3にすることを検討されてはいかがでしょうか?
何も確認せずにバージョンアップをするということは不安だと思われますので、まずは、Zabbixサーバのみを1.8.3にバージョンアップして解決するのかを、本番のZabbixサーバのバージョンアップを行う前に以下のような手順で確認されてはいかがでしょうか?
1.確認用のZabbixサーバを別途たてて1.8.3をインストールする
2.値が取得できていないサーバのうち数台をピックアップする
3.ピックアップしたサーバ上のZabbixエージェントの設定ファイル内に
ある「Server」の値としてカンマ(,)で区切ってZabbix 1.8.3のサーバを
追加し、エージェントを再起動する
4.確認用のZabbixサーバ上に監視対象として追加する
5.値がちゃんと取得できているか確認する
特に今回問題となっていた「net.if.in」「net.if.out」の値が取得できて
いるか確認する
これで問題が無ければ、本番のZabbixサーバも1.8.3にバージョンアップすればよいと思います。
本来であれば、サーバ側とエージェント側のバージョンを合わせた方が良いと思いますが、以前、自分が管理している環境でのバージョンアップ時に一度に全サーバのZabbixのバージョンアップを行うことは困難でしたので、先にサーバのみバージョンアップして、段階的にエージェント側もバージョンアップするという手順をとりました。
その際、サーバ側が1.8.3でエージェント側が1.8.2であっても問題は発生しなかったと思います。
ただし、1.8.3ではIPMI関連やProxy利用時の不具合があるなど別の不具合による問題が発生する可能性があります。
その為にも、事前に上記のような方法を利用するなどして確認を行ってからのバージョンアップをお勧めします。
注意点としては、上記のような1台のZabbixエージェントに複数台のZabbixサーバを接続して監視する場合、「Zabbixエージェント(アクティブ)」を利用して監視を行うログ監視などは、複数台のうち1台のZabbixサーバでしか監視できませんのでご注意下さい。
# 複数台で監視したい場合は、先日の「第3回ZABBIX-JP勉強会」の内容をご確認ください。
# http://www.slideshare.net/BlueSkyDetector/zabbix-meeting-20101218021-takanori-suzuki