ログに「出力していない」事を検知したい

皆様のお知恵をお借りできればと思います。

毎日AM3:00~AM3:30 にバッチ処理が実行、完了時に「処理完了」とログに記載されます。

■目的
AM3:30 の時点でログに「処理完了」と記述されていない場合に、検知したい
(失敗時は何も出力されない)

■トリガー
条件式を2パターン試しましたが、両方とも検知できず。


{Server:log[/test/testlog_for_zabbix].str("処理完了",30m)}=0
and
{Server:log[/test/testlog_for_zabbix].time()}=033000


{Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")}=0
and
{Server:log[/test/testlog_for_zabbix].time()}=033000
 
 

time関数の指定が良くないような気がしているのですが・・・
良い方法ありましたら教えて頂ければと思います。

Zabbix Ver : 4.0
監視対象サーバはLinux

コメント表示オプション

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

log[/test/testlog_for_zabbix]の更新間隔を0hにして、
更新間隔カスタマイズで例外設定で1-7,03:00-03:40にすればいいと思います。
※例外設定の更新間隔にもよりますが、後ろに時間をずらしておくのが無難

トリガーは下記だけで。
{Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")}=0

ユーザー ht0167 の写真

Yasumi様、ありがとうございます。

指示の通りアイテム/トリガー作成してみましたが、作成して少し時間が経つとアイテム/トリガー一覧の画面で赤い[i]マークが表示されてしまいました。
ポインタを合わせると、下記のようなメッセージが表示されます。
 
アイテムの[i]情報 … Accessible only as active check.
トリガーの[i]情報 … Cannot evaluate expression: "Cannot evaluate function "Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")": item is not supported.".
 
普通に作成しただけなのですが、これを解消する方法はありますでしょうか。

ユーザー Yasumi の写真

アイテムを「Zabbixエージェント(アクティブ)」として設定されていますでしょうか。

ログ監視は「Zabbixエージェント(アクティブ)」でないとデータ取得不可となります。

ユーザー ht0167 の写真

アイテムのタイプを「Zabbixエージェント(アクティブ)」と選択すると、「監視間隔のカスタマイズ」項目が表示されなくなります。
(以前のバージョンでは選択できていたのでしょうか)

表示させる方法/やり方はありますでしょうか?

もしくは、やはりトリガー条件式で何とかするしかないのでしょうかね。

ユーザー Yasumi の写真

なるほど。。。失念しておりました。

timeは確か下記のように使ったと思うので、下記で試してみてください。
※orがandだったかもしれません

{Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")}=0
and
({Server:log[/test/testlog_for_zabbix].time()}=030000 or {Server:log[/test/testlog_for_zabbix].time()}=034000)

ユーザー ht0167 の写真

time関数は <> ではなく = ですか?
今別件対応に取られていますので折を見て試したいと思います。

ユーザー Yasumi の写真

指摘どおりですね。修正しましたので、これで試してみてください。

{Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")}=0
and
({Server:log[/test/testlog_for_zabbix].time(0)}>=030000 and {Server:log[/test/testlog_for_zabbix].time(0)}<=034000)

参考サイトです。
https://qiita.com/biatunky/items/a7979331333cadb3aeba
https://pig-log.com/zabbix-trigger-time/

ユーザー ht0167 の写真

({Server:log[/test/testlog_for_zabbix].time(0)}>=030000 and ~
 
と、指定すると 3:00 になった途端に判定処理が走ってしまう為、最終的に下記の様になりました。
 
{Server:log[/test/testlog_for_zabbix].count(30m,"処理完了")}=0
and
(
{Server:log[/test/testlog_for_zabbix].time()}>=033000
and
{Server:log[/test/testlog_for_zabbix].time()}<=033500
)
 
これでうまくいきそうです。
Yasumi様、色々とアドバイス頂きありがとうございました。