-
Type:
Incident report
-
Resolution: Won't fix
-
Priority:
Major
-
None
-
Affects Version/s: 1.8.10
-
Component/s: Server (S)
Lets say we have a simple setup, zabbix server and an active agent host 'test'.
Test host configuration items:
'connectivity' - simple check, icmpping
'agent.ping' - active agent.ping
'data' - active agent userparameter (returns integer value)
'test' host configuration triggers:
'no connectivity', connectivity.last(0) # 0
'no agent', agent.ping.nodata(300) = 1
'wrong data', data.last(0) > 100
The following trigger dependencies are set:
'wrong data' trigger depends on 'no agent' trigger
'no agent' trigger depends on 'no connectivity' trigger
The logic of this scheme: I don't need to be alerted about 'wrong data' if there is 'no agent'. And I don't want to trigger 'no agent' if there is a 'no connectivity'
Dependency order:
'no connectivity' <- 'no agent' <- 'wrong data'
When everything is working in order, i.e. there is connectivity, agent is running, and incoming data values are <= 100, there's no problem.
One day network connection is going down, and 'no connectivity' trigger fires up. While there was no connection to the host, agent collected new userparameter data with out of range value, lets say, 5000. the 'wrong data' trigger (data.last(0) > 100) should fire up when network connection is restored and agent sends collected data to server.
What happens next. Network connection is available again. Connectivity restored, and agent sends data collected in offline - agent.ping and current userparameter data value 5000 (see picture1.png).
'no connectivity trigger' swithes to OK state. Rimshot: 'wrong data' trigger is not fired and remains in OK state (see picture 2.png)!
What we see here is that 'wrong data' trigger was not updated - its "Last change" column value (picture2.png) doesn't match the time of recently received value (picture1.png).
Basically what happens is that 2nd level child dependency trigger is not being updated when top level parent trigger changes its state.
In my opinion this behaviour is broken and needs fixing.