vfs.file.md5sumはハッシュ値のついでにファイルの存在を確認してくれるのか
お世話になります。
発報条件として
「ファイルの存在しない場合」あるいは「ファイルのハッシュ値が変わった場合」を設定したいのですが
vfs.file.md5sumがあればvfs.file.existsはアイテム登録する必要がないと思うのですがどうでしょうか?
条件式は
{TEST:vfs.file.exists[/etc/passwd].last()}=1
or
{TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=0
と設定すれば発報条件は満たせるのですが
vfs.file.md5sumは「戻り値が前回のハッシュ値と異なれば発報する」というものであれば
{TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=0
のみで発報条件を満たすのでしょうか?
TNK - 投稿数: 4753
vfs.file.md5sum[]で引数に指定したファイルが存在しない場合、
そのアイテムの状態は、「取得不可」となります。
取得不可の状態になってしまうと、トリガーの条件式は評価されま
せん。
そして、デフォルトでは、5分後にならないと再度アイテムの値を
取得しにいかないのでご注意ください。
vfs.file.exists[]の方は、引数で指定したファイルが存在しなけ
れば0となりますし、存在すれば1となります。
なので、ファイルが存在しないというのは、
{TEST:vfs.file.exists[/etc/passwd].last()}=0
ではないでしょうか?
あと、
{TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=0
とありましたが、ハッシュ値が変わったことを示すなら、
{TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=1
ではないでしょうか?
あと、この条件式のみとした場合、アイテムの状態が取得不可にな
った時に注意が必要です。
ご確認ください。
yk_taiko - 投稿数: 184
トリガー条件の中にエラーのアイテムが一つでもあるとトリガーは動かなかった と思いますので、
vfs.file.exists を使う場合も、「or」で繋げずトリガーは分けた方が無難かと思いました。
sho-san - 投稿数: 3
>vfs.file.md5sum[]で引数に指定したファイルが存在しない場合、
>そのアイテムの状態は、「取得不可」となります。
>取得不可の状態になってしまうと、トリガーの条件式は評価されません。
ありがとうございます。
ファイルが無い=戻り値が異なる
とzabbix側が勝手に解釈してくれるだろうと思いこんでいました。。。
>vfs.file.exists[]の方は、引数で指定したファイルが存在しなけ
>れば0となりますし、存在すれば1となります。
>なので、ファイルが存在しないというのは、
>{TEST:vfs.file.exists[/etc/passwd].last()}=0
>ではないでしょうか?
>あと、
> {TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=0
>とありましたが、ハッシュ値が変わったことを示すなら、
> {TEST:vfs.file.md5sum[/etc/passwd].diff(0)}=1
>ではないでしょうか?
ご指摘感謝いたします。
おっしゃる通り全くの逆の事を言っていました。。。
失礼しました。
sho-san - 投稿数: 3
ご回答ありがとうございます。
なるほど、zabbixが良いように解釈してくれると勘違いしていました…
>トリガー条件の中にエラーのアイテムが一つでもあるとトリガーは動かなかった と思いますので、
>vfs.file.exists を使う場合も、「or」で繋げずトリガーは分けた方が無難かと思いました。
管理しやすいようにorで無理やり繋げて一つにまとめるやり方をとっていましたが
仰る通り発報しなくなるリスクを考えると、トリガーをあえて分けたほうが良いかもですね。
今後の参考にいたします。