-
Change Request
-
Resolution: Fixed
-
Major
-
1.8.16, 2.0.6
I'd like to discuss the way trigger functions are evaluated for unsupported items, and what can be changed for the greater good.
Existing trigger functions can be separated in two logical groups.
1. Time-based functions, which are evaluated on schedule (every 30 seconds): nodata(), date(), dayofmonth(), dayofweek(), time(), now()
2. The rest, which are evaluated each time a new history value is received.
Currently when an item changes status to unsupported, any trigger expression function referencing this item change trigger value to UNKNOWN.
Let's look at first group of functions.
nodata() is the only sane way to detect whether an important item is receiving new values. When an item's data source is broken, and item turns unsupported, nodata() stops evaluating, making it impossible to detect that this exact item is not updating anymore. I'm aware of the way to track global number of server's unsupported items, but it requires tedious manual work to find out which item(s) went sideways, and it isn't healthy.
Due to limitations of currently implemented trigger expression parser, each date() dayofmonth() dayofweek() time() and now() function call requires a mandatory argument, a reference to an existing item. This item is not used in function calculation at all. Therefore, it is illogical to stop recalculation of these functions when dummy item argument turns unsupported, as there's no connection between a function and its item-parameter at all.
I feel that current implementation requires rethinking, and composing a spec about the way this must be handled.
- is duplicated by
-
ZBXNEXT-2250 Evaluating NULL values in trigger (Combine SNMP-trap item and and SNMP-get item in one trigger expression)
- Closed
-
ZBXNEXT-1005 improve trigger logic and not supported items
- Closed
-
ZBXNEXT-3748 Homogenize nodata() behavior for triggers
- Closed
-
ZBX-7494 CLONE - Trigger become Not Supported when item become Not Supported
- Closed
-
ZBX-11028 Timeout on externalscripts does not trigger nodata trigger
- Closed
-
ZBX-11922 A nodata trigger with bad credentials snmpv3 : always OK state
- Closed
-
ZBX-9391 strange behavior of the trigger method "nodata()" for not correct data format.
- Closed
-
ZBX-9745 nodata is not active
- Closed
-
ZBX-10673 Not executed nodata trigger on vmware.hv.uptime
- Closed