1.8.1 から 1.8.2 にアップグレードすると一部取れない値が出てくる

お世話になっております。

先日1.8.1から1.8.2へアップグレードをした所、zabbix_server.logに下記のようなエラーが出て
一部の値が取れなくなってしまいました。
1.8.1を再度インストールしたら解消しています。

3470:2010xxxx:xxxxxx.017 Parameter [xxxxxxxx:net.if.in[eth1,bytes]] is not supported by agent Old status [0]
3473:2010xxxx:xxxxxx.053 Item [xxxxxxxx:net.if.out[eth1,bytes]] error: Type of received value [5901252713822] is not suitable for value type [Numeric (float)]

agent側はバージョン1.8.1のままなのですが、
値が取れているサーバと取れていないサーバがおり、
共通項といえばRHEL5系のOSであるぐらいです。
(RHEL4系以下は普通にとれています)

agent側を1.8.1から1.8.2にすれば解消するか試してみますが、
他に原因等調査できる事象は考えられますでしょうか。

コメント表示オプション

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

kugu_kuguさん

3470:2010xxxx:xxxxxx.017 Parameter [xxxxxxxx:net.if.in[eth1,bytes]] is not supported by agent Old status [0]

上記が出力される場合はアイテムが取得不可能(NOT SUPPORTED)になっているかエージェントがエラーを返却した場合の2通りとなります。

アイテムが取得不可能(NOT SUPPORTED)になっていない場合はエージェントをZabbix1.8.2にアップすることで解決できる可能性があります。

アイテムが取得不可能(NOT SUPPORTED)になっている場合はなぜ取得できないのかを調査しないとわからないかと…

3473:2010xxxx:xxxxxx.053 Item [xxxxxxxx:net.if.out[eth1,bytes]] error: Type of received value [5901252713822] is not suitable for value type [Numeric (float)]

上記は1.8.1ではMySQLでチェックされていなかったデータの上限・下限チェックが1.8.2からMySQLも対象になったので発生しています。
※:Zabbixサーバ側のチェックです。

net.if.out[eth1,bytes]の取得値が5,901,252,713,822となってますが合ってますでしょうか?CentOSならifconfigを実行した結果のTX値と大体一致するのですが…

一致しない場合は、Zabbixエージェント側の不具合と思われますので、Zabbixエージェントを1.8.2にアップすることをお勧めします。

一致する場合は、Zabbixエージェントを1.8.2にしても解決しない可能性が高いです。(Zabbixサーバ側のチェックなので)

ユーザー kugu_kugu の写真

返信ありがとうございます。

3470:2010xxxx:xxxxxx.017 Parameter [xxxxxxxx:net.if.in[eth1,bytes]] is not supported by agent Old status [0]

上記が出力される場合はアイテムが取得不可能(NOT SUPPORTED)になっているかエージェントがエラーを返却した場合の2通りとなります。

アイテムが取得不可能(NOT SUPPORTED)になっていない場合はエージェントをZabbix1.8.2にアップすることで解決できる可能性があります。

アイテムが取得不可能(NOT SUPPORTED)になっている場合はなぜ取得できないのかを調査しないとわからないかと…

上記は一部しか載せてなかったのですが、アイテム自体はNOT SUPPORTEDになっており、下記メッセージと同様なエラーが出
ていました。

KAZさんは書きました:

3473:2010xxxx:xxxxxx.053 Item [xxxxxxxx:net.if.out[eth1,bytes]] error: Type of received value [5901252713822] is not suitable for value type [Numeric (float)]

上記は1.8.1ではMySQLでチェックされていなかったデータの上限・下限チェックが1.8.2からMySQLも対象になったので発生しています。
※:Zabbixサーバ側のチェックです。

net.if.out[eth1,bytes]の取得値が5,901,252,713,822となってますが合ってますでしょうか?CentOSならifconfigを実行した結果のTX値と大体一致するのですが…

一致しない場合は、Zabbixエージェント側の不具合と思われますので、Zabbixエージェントを1.8.2にアップすることをお勧めします。

一致する場合は、Zabbixエージェントを1.8.2にしても解決しない可能性が高いです。(Zabbixサーバ側のチェックなので)

TXの値を確認しましたが5ケタぐらい少ない数値で、
全然一致していなかったので不具合でしょうか…

ちなみにアイテムが「net.if.in」になった場合はifconfigの該当インターフェースのRXの値ってことでよろしいでしょうか。

足元マシンで同じ環境を構築し、再現するか確認したのですが
再現しなかったのでいまいち不安です…

簡単にバージョンを上げ下げできる環境ではなくなってきてい
るので、時期を見てサーバとクライアント両方をあげてみて、
取得できるか試してみたいと思います。

ユーザー kodai の写真

こんにちは。

問題が出ている監視対象サーバのOSはLinuxと思っていて良いでしょうか?

ちなみにアイテムが「net.if.in」になった場合はifconfigの該当インターフェースのRXの値ってことでよろしいでしょうか。

はい、ifconfigの結果の「RX bytes:」の後ろの値と同じになるはずです。

足元マシンで同じ環境を構築し、再現するか確認したのですが
再現しなかったのでいまいち不安です…

KAZさんがコメントされている1.8.2のサーバに追加された上限下限チェックに引っかかって発生している問題であれば、足下にあるマシンでもRX bytesの値が十分大きくないと再現しないんじゃないかと思います。

ユーザー TNK の写真

iSCSIで多くのデータを読み書きするネットワークで、同様と思われる現象を再現できました。
CentOS 5.4上で、エージェントとサーバ両方ともZabbix 1.8.2、DBMSにMySQL 5.0.77を利用してみました。

以下のようなメッセージがログに出力され、以降のデータを取得できなくなります。
<code>
Item [ホスト名:net.if.in[eth1,bytes]] error: Type of received value [1190010918212] is not suitable for value type [Numeric (float)]
Item [ホスト名:net.if.out[eth1,bytes]] error: Type of received value [1058766636115] is not suitable for value type [Numeric (float)]
</code>
数値的には、ifconfigの出力にある、RX bytesやTX bytesと近い値になってました。

これは、BUGS AND ISSUESとして報告↓されているようです。
https://support.zabbix.com/browse/ZBX-1741
https://support.zabbix.com/browse/ZBX-1126
https://support.zabbix.com/browse/ZBX-2272
他のDBMSでの問題として報告されていますが、MySQLでも同様のようです。

現時点では、まだ修正されていないようですので、1.8.1で問題なく取得できていたのであれば、1.8.1を継続して利用するのが良いのではないでしょうか。