diffによるファイル監視でProblem/OKが逆になってしまう

お世話になります。

ZABBIX2.2.6でdiffを使ったcsvファイルの監視を行っているのですが
有る時点からProblemとOKが逆になってしまい困っています。

トリガー条件式:
{ホスト名:vfs.file.md5sum[/xxx/yyy/zzz/ABC.csv].diff(0)}#1

正常の動作していた時点ではファイルが変更されるとProblemになり、次の監視でOKが来ていました。
それが有る時点でOKが来ない時が有り、それ以降はファイル更新が有るとOK そして次の監視でProblemという様に
逆になってしまいました。

解決方法として考えたのはトリガー削除やヒストリー/トレンドの削除です。
アドバイスを頂けると助かります。
どうぞよろしくお願い致します。

コメント表示オプション

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

障害の検出条件として diff 関数を使っているようですね
 https://www.zabbix.com/documentation/2.2/en/manual/appendix/triggers/functions
diff 関数は、前回と同じ値なら0となり、異なる値なら0以外となる判定関数です

監視設定の意図としては
「前回の収集値と異なる値が収集されたら障害として検出」
といったような想定なのだと思いますが‥

記載されている条件式では、「1」と比較しているので、diff の本来の結果値
「0 もしくは 0 以外」と比較・判定するのには条件がおかしい気がします
「異なる場合には0以外」となっている diff の結果値がたまたま「1」だったりすることも
有る‥といったような挙動から、結果的に「たまたま動作していただけ」なのではないでしょうか?

差分が常時発生し続けるような挙動が「正常」な挙動で
ファイルに変化が発生するはずなのに変化が発生しない=同じ値が収集される というのが
「プログラムやサービスの停止などの異常」を示すので、それを検出したいのであれば
「diff(0)=0」といったような条件式のほうが適しているでしょうし
さらに言えば、md5sum ベースの diff で判定するべき「障害」ではない気がします

常時同じ値が収集され、ファイルに変化が無いような挙動が本来あるべき「正常」な挙動で
何らかの変化が発生してしまって、それを検出することそのものが「異常」なのであれば
「diff(0)#0」といった条件式にするのが適しているのかと思います
ただし、こちらの場合には、ある時点でファイルに変化が発生したのを監視収集で
「障害」として検出したあと、その次の監視収集の時点では「前回と同じ値」と見なされて
トリガー的には「正常」に戻ってしまうかと思います
#ファイルは1度変化したままの異常な状態を持続しつづけているのに
#「前回との差分がない」ので監視上では「正常」に戻ってしまう‥という感じです

今回の状況では、ある時点でファイルに変化が発生して
それを「障害」と捉えたうえで、次の監視収集時には、「さらにそれとは異なる値」が収集されて‥
といった状況が起こってしまって、「障害」「正常」の判定がおかしくなったのではないかと
思います

本来の意図されている監視の想定と、判定条件式に利用する関数、それと比較すべき値を
いまいちど見直されるのが良いかと思います
#判断基準として、他のアイテム値などの要素を利用することも含めて‥です