トリガーのステータスについて

こんにちは。

いつもアドバイスをいただき、ありがとうございます。

トリガーのステータスについてですが、False/True/Unknownの3つがある、と思うのですが、Unknownになる条件を教えてください。
アイテム、トリガーともに有効(enable)にも関わらず、トリガーステータスがUnknownになってしまいます。
具体例でいうと、リモートのサーバのディスク(/opt)使用率をnet-snmpにてデータを取得しています。
Monitoring>>Latest dataだときちんとデータは取得できています。なのでアイテムの設定は問題ないと思われます。
ところがMonitoring>>Triggers>>Statusを確認するとUnknownという表示です。
zabbix_server.log(DebugLevel=3)を見ると、
OID [.1.3.6.1.4.1.2021.9.1.9.5] value #2 has unknow type [81]
となっています。
*.1.3.6.1.4.1.2021.9.1.9.5は、ディスク(/opt)使用率を意味するnet-snmpのOIDです。

「value #2 has unknow type [81]」とは、何を意味するのでしょうか?

なおドキュメントを見ると、Unknownになるケースとして、
1)server is unreachable
2)trigger expression cannot be evaluated
が挙げられています。

リモート側ホストのステータスはAvailableですし、同ホストの他トリガーはFalseもしくはTrue表示ですので、1)ではないです。
2)についても他のディスク使用率に関する記述と比較しても間違っているようにも見えません。
 ディスク(/)の場合:{NetSNMP_t:dskPercent.1.last(0)}>75
 ディスク(/opt)の場合:{NetSNMP_t:dskPercent.5.last(0)}>75

zabbix_serverの再起動や該当トリガーを無効にして再度有効にする方法も試しましたが、状況は変わりませんでした。

何かご教授いただけると幸いです。

宜しくお願いします。

コメント表示オプション

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

本家にてこんなものを見つけました。

http://www.zabbix.com/forum/showthread.php?t=5188

申告している内容がほぼ同じなので解決になると思ったのですが、このスレッドに載っているtriggers.inc.phpはv1.3のようです。
当方はv1.1.6を使用していますが、v1.1.6のtriggers.inc.phpでは、上記に相当する箇所はどの辺りになるかご存知でしょうか?

ユーザー kodai の写真

こんにちは。

ZABBIX 1.1.6では、同じくinclude/triggers.inc.phpの1082行目
<code>1080 if(isset($trhosts[$hostname]))
1081 {
1082 if($trhosts[$hostname]['value'] == TRIGGER_VALUE_FALSE) $style = 'normal';
1083 elseif($trhosts[$hostname]['value'] == TRIGGER_VALUE_UNKNOWN) $style = 'unknown_trigger';
1084 else $style = 'high';</code>
が本家のフォーラムで指摘されている点と同じ箇所になると思いますが、この部分はCSSを選択しているだけのように見えます。
# まだあまり詳しく調べられていないので、半分推測なのですが...

頂いている情報から、「/」と「/opt」の監視を行っており、/optだけUnknownになってしまうと認識しているのですが、合っているでしょうか。この2つの設定や監視条件に違いはないでしょうか。

また、「value #2 has unknow type [81]」のエラーログは、SNMPで取得した値のチェック処理の際に出力されます。この文字列が出力される可能性としては、アイテムの設定でSNMPのバージョンやデータ型の設定が実際と異なる場合が考えられます。再度アイテム設定を見直してみて頂けないでしょうか。

ユーザー tiger の写真

こんにちは。

>頂いている情報から、「/」と「/opt」の監視を行っており、/optだけUnknownになってしまうと認識しているのですが、合っているでしょうか。この2つの設定や監視条件に違いはないでしょうか。

アイテムのkeyとOIDが異なるのみで他は同一です。
まず、「/」と「/opt」共通するものとして、、、
NetSNMP_tというテンプレートにてアイテム、トリガーは登録しています。複数の監視対象サーバ(ホスト)がNetSNMP_t配下です。
違いというと、、、
ホストによっては「/opt」を持たないものがあり、zabbix_server側で無駄な負荷をかけたくないので、テンプレート(NetSNMP_t)単位での「/opt」のトリガーは有効にしたまま、ホスト単位で「/opt」のトリガーを無効にしたりしています。
(そうするといつの間にか「/opt」のトリガー状態が表示されなくなっていたのです)
全ホストの「/opt」のトリガーを有効に戻してみましたが、状況は変わりませんでした。
ふと、zabbix側にてUnknown→Falseの状態変更は出来ないんじゃないかな、と思ったのですが、いかがでしょうか?

>また、「value #2 has unknow type [81]」のエラーログは、SNMPで取得した値のチェック処理の際に出力されます。この文字列が出力される可能性としては、アイテムの設定でSNMPのバージョンやデータ型の設定が実際と異なる場合が考えられます。再度アイテム設定を見直してみて頂けないでしょうか。

keyとOIDが違うだけですね。これらは違って然るべきですが。
Monitoring>>latest dataだと、ちゃんと毎回データは更新されているので、アイテムは問題ないと思います。

ユーザー kodai の写真

ホストによっては「/opt」を持たないものがあり、zabbix_server側で無駄な負荷をかけたくないので、テンプレート(NetSNMP_t)単位での「/opt」のトリガーは有効にしたまま、ホスト単位で「/opt」のトリガーを無効にしたりしています。
(そうするといつの間にか「/opt」のトリガー状態が表示されなくなっていたのです)

了解しました。こちらでも同じ条件(SNMPのテンプレートを利用して、ホスト側でアイテムは有効、トリガーは無効)で試してみます。
ところで、このような状態になるのはSNMPの監視だけでしょうか?ZABBIXエージェントを利用した監視でも同様の現象が起こったことがあればお教えください。

ふと、zabbix側にてUnknown→Falseの状態変更は出来ないんじゃないかな、と思ったのですが、いかがでしょうか?

UnknownになっているアイテムやトリガーをFalseに設定することは可能なはずです。そのようなことが発生するのであれば、バグの可能性があると思います。