date関数を使用したトリガーについて
logrtのキーで取得したアイテムに、今日の日付が含まれていた場合にエラーとなるトリガーを作成したいのですが、
date関数の使い方がわからないため、お教えいただきたいです。
「iregexp」や「str」の第1引数は正規表現や文字列となっていますが、
その部分に「date」関数を入れればできるのでしょうか。
(上記で試してみたのですが、書き方の問題なのかトリガーとして検知されませんでした)
アイテム (ファイルのパスには正規表現を使用したいため、logrtのキーを使用しています)
タイプ:Zabbixエージェントアクティブ
キー:logrt["D:\zbx_test\^test_er.*"]
トリガー
{TEST:logrt["D:\zbx_test\^test_er.*"].iregexp("{TEST:logrt["D:\zbx_test\^test_er.*"].date()}",#1)}=1
Yasumi - 投稿数: 380
記載いただいているようなトリガーは無効です。
トリガーの正規表現欄に、アイテムやトリガーを指定することはできません。
おそらく、「今日の日付が含まれていた場合にエラーとなるトリガー」は実現不可能だと思います。
案として考えたのが下記ですが、{DATE}はフォーマットが「yyyy.mm.dd.」になるため、汎用性はないでしょう。
・トリガー案
{TEST:logrt["D:\zbx_test\^test_er.*"].iregexp({DATE})=1
mmiya - 投稿数: 11
早速のご返答ありがとうございます。
>>おそらく、「今日の日付が含まれていた場合にエラーとなるトリガー」は実現不可能だと思います。
そうなのですね。
>>案として考えたのが下記ですが、{DATE}はフォーマットが「yyyy.mm.dd.」になるため、汎用性はないでしょう。
Zabbixの公式レファレンスには、date関数は「YYYYMMDD」の形式で値を返すとありますが、「yyyy.mm.dd.」になるのでしょうか?
Yasumi - 投稿数: 380
{DATE}はマクロであり、トリガー関数ではないです。
私自身「トリガー関数のdate」を使ったことがないですし、今までdateを使ったトリガーを見たことがないので、
どの場面でどんなトリガーにdateを組み込むのか想像もできていません。なので、関数の利用についてはあまりお力になれないです。
ただ、dateはログ監視に使うことを想定されたトリガー関数ではないと思っています。
mmiya - 投稿数: 11
Yasumi 様
コメントありがとうございます。
トリガー関数ではなく、マクロということですね。
勘違いしておりました。失礼いたしました。
{DATE}のマクロを確認したところ、
トリガーの条件式での使用はできませんでした。
別の方法を検討します。
ありがとうございました。