ログ監視アイテムがログの削除後、ログが作成されても取得不可から有効に戻らない

既に解決しているので困ってはいないのですが、情報共有の為+情報が有りましたら寄せて頂ければ幸甚です。

下記の様にログ監視のアイテムを設定し、トリガーを設定しました。
当該のログは書込停止する時間帯が有り、日次で停止時間にログローテーションされる。つまりBBB.logは毎日作成と削除が繰り返される。
ログの削除後にアイテムは一旦取得不可になる。そしてしばらくしてまた作成されるのだが、作成されても自動的に取得不可から有効にならなかった。
アイテムを手動で有効にすると次に削除されるまで有効が続くが、削除後に取得不可になって自動では有効に戻らない。
同様にログローテーションされるログ監視アイテムで、全く同じ設定で自動で取得不可から有効になるものも有ったため、すぐには原因が解らなかった。

---アイテムの設定---
タイプ: log[/BBB.log,@正規表現名]
データ型:ログ

---トリガーの設定---
条件式: 
{Template名:log[/BBB.log,@正規表現名].nodata(3600)}=0
--------------------

環境
OS:Linux 5.4
ZABBIX:1.8.2

原因はそのアイテムが一度もトリガーにかかったことが無い為、のようです。
つまり、監視データ-->最新データ でそのアイテムを見たときに,
「最新のチェック」、「最新の値」が '‐' 表示であったアイテムは自動で有効に戻らず、2つに時間と値の記録が入っていたものは有効になっていたのです。
戻らなかったものには一度トリガーをあげて問題は解決しました。
おそらく当該アイテムのDBテーブルにデータが無いことが影響しているのか、と想定しています。

※確認したい点:
この想定は正しいのでしょうか、このようなケースの設定時は一度はトリガーをあげる必要があるのでしょうか?
それとも新しいバージョンでは解決されている問題なのでしょうか?

コメント表示オプション

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

時間がかかってしまって申し訳ありません。
Zabbix 1.8.2、Zabbix 1.8.15、Zabbix 2.0.3で試してみました。

Web画面の表示上は、「取得不可」になっているかもしれませんが、
取得不可になったアイテムを再度取得できるかリトライするタイミ
ングで、改めてエージェント側にログ監視の情報が引き渡され、監
視自体は再開されているようです。

状態は、エージェントからの値を取得したタイミングで変更されま
すので、正規表現が指定されていると、その条件に合致するログが
出力されない限り、通知がエージェントからこないので状態が変化
しないようです。
キーに指定された「正規表現名」の正規表現に合致するログが出力
され検知するとアイテムのステータスが「有効」に変化することは
上記全てのバージョンで確認できています。

zabbix_agentd.confのDebugLevelを4にすると、どのように動いて
いるかを確認することはできますので、一時的に設定を変更してご
確認していただくと、どのように動いているかをログで見ることが
できると思います。

ユーザー matt の写真

TNK様
ご調査と情報を頂きまして大変有難うございます。
私の方でもDebugログモードで再度確認してみました。結果は前回期記した通りでした。
----------結果---------
ログアイテムを作成・有効化、このアイテムは一度もトリガーにかかっていなく、監視データ-->最新データでは内容がまだない。このアイテムログの削除後にアイテムは取得不可になる。その後また作成されるのだが、作成されても自動的に取得不可から有効ならない。この状態ではトリガー検知しない。しかし一度トリガーで検知させてアイテムに最新データが入ると、ログの削除/作成で自動的に取得不可から有効になり検知もOK。
--------------------------
AgentのDebugログで確認しましたところ、やはり「アイテムにデータ内容が無い」時に有効化が失敗するようです。ログ監視では注意が必要かと思います。(その後解決されている等情報が有りましたらお願いします)

●確認内容
1.先ずアイテム作成・有効化の後BBB.logを削除すると以下のようにDisabled.の時点で取得不可になります。
Active check [log[/BBB.log,@zbx_server]] is not supported. Disabled.
In process_value('Svr02','log[/BBB.log,@zbx_server]','ZBX_NOTSUPPORTED')

その後のbefore sendingの処理は両ケース(アイテムにデータ書込・無/有)で"response":"success"で同じです。
JSON before sending [{
"request":"agent data",
"data":[
{
"host":"Svr02",
"key":"log[\/BBB.log,@zbx_server]",
"value":"ZBX_NOTSUPPORTED",
"lastlogsize":2993,
"clock":1351837392}],
"clock":1351837393}]
JSON back [{
"response":"success",
"info":"Processed 1 Failed 0 Total 1 Seconds spent 0.102601"}]

しかし下記が異なりました。①の例でactive checksのデータが取得できないとその後Active check を行っていないようです(つまりその後Active check [log[/BBB.log~のログ出力がない)
②の例ですとこの後2分毎にActive check ログが出て失敗しますが、ログが再度出来るとActive成功になりました。

①アイテムにデータ書き込みが無い例-----------
refresh_active_checks('10.10.111.111',10051)
Sending [{
"request":"active checks",
"host":"Svr02"}]
Before read
Got [{
"response":"success",
"data":[]}]      ※ここでデータの取得が無です。
In parse_list_of_checks()
In disable_all_metrics()
In process_active_checks('10.10.111.111',10051)

②アイテムにデータ書き込みが有る例-----------
refresh_active_checks('10.10.111.111',10051)
Sending [{
"request":"active checks",
"host":"Svr02"}]
Before read
Got [{
"response":"success",
"data":[
{
"key":"log[\/BBB.log,@zbx_server]",
"delay":"30",
"lastlogsize":"3059",
"mtime":"0"}],
"regexp":[
{
"name":"zbx_server",
"expression":"first network error,\/ZABBIXERROR",
"expression_type":1,
"exp_delimiter":"\/",
"case_sensitive":1}]}]
In parse_list_of_checks()

・以後2分毎に下記が出る。
Active check [log[/BBB.log,@zbx_server]] is not supported. Disabled.
Active check [log[/BBB.log,@zbx_server]] is not supported. Disabled.
・BBB.logを作成すると下記になり、アイテム有効化成功。
Active check [log[/BBB.log,@zbx_server]] Change Status to Active.

ユーザー TNK の写真

私が検証して確認したのは、過去のログアイテムの値取得もトリガーでの検知も
無い場合で確認しています。

ログファイルを作成して、どのくらいの時間待たれましたか?
速ければ5分程度だったと思いますが、10分くらい待てば(2)と同様にアクティブ
チェックのリストが渡されるようになりました。

その状態になっていれば、正規表現に合致したパターンのログが出力される
とトリガーが発生することが確認できています。

ユーザー matt の写真

TNK様

返信ありがとうございます。今回のテスト①時で15分ほど待っています。
TNKさんもZabbix 1.8.2で値取得が1度もないログアイテムで、ということですね。不可思議です。
私は過去いくつかのでアイテム同ケースだとすべてずっと有効にもどらないことを確認しているのですが...
私のテストではrefresh_active_checksは2分毎に動いていまして(この設定がどこにあるのか把握していませんが)①のケースも②のケースもBBB.logを削除すると2分くらいでrefresh_active_checksが動き上記のログとなり①はそれ以降全く繰り返されることはなかったので、
"response":"success",
"data":[]}]      ※ここでデータの取得が無。
で中身を取れないとresh_active_checksが動かないような問題があるのかと想定していました。
何か理由はあるでしょうがこちらの環境特有の発生かもしれないですね。

ユーザー matt の写真

TNK様

返信ありがとうございます。今回のテスト①時で15分ほど待っています。
TNKさんもZabbix 1.8.2で値取得が1度もないログアイテムで、ということですね。不可思議です。
私は過去いくつかのでアイテム同ケースでは全てでずっと有効にもどらないことを確認しているのですが...
私のテストではrefresh_active_checks(これが取得不可を自動的に有効化している処理とと思っています)は2分毎に動いていまして(この2分設定がどこにあるのか把握していませんが)①のケースも②のケースもBBB.logを削除すると2分くらいでrefresh_active_checksが動き上記のログとなり①はそれ以降全く繰り返されることはなかったので、
"response":"success",
"data":[]}]      ※ここでデータの取得が無。
で中身を取れないとresh_active_checksが動かないような問題があるのかと想定していました。
何か理由はあるでしょうがこちらの環境特有の発生かもしれないですね。