Seems, that Zabbix allows to send item's values with timestamps in any sequence. It can cause not pleasant situation in Zabbix.
Example.
Let's make string-item 's' and trigger with 's.regexp(PROBLEM)' expression.
Let's then take T1 that is less (earlier) then T2:
Pass them both in reverse sequence via zabbix_sender to zabbix_server:
After this we have inconsistency in Zabbix:
- there is 'OK' massage in latest data:

- and “Disaster” in triggers:

So, is it bug or feature?
PS:
All latest data list:

We have the same in API:
Example.
Let's make string-item 's' and trigger with 's.regexp(PROBLEM)' expression.
Let's then take T1 that is less (earlier) then T2:
Code:
$ T1=`date +%s -d "15 minutes ago"` $ T2=`date +%s`
Code:
$ echo "test.local s $T2 OK" | zabbix_sender -v -z localhost -T -i - info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000043" sent: 1; skipped: 0; total: 1 $ echo "test.local s $T1 PROBLEM" | zabbix_sender -v -z localhost -T -i - info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000044" sent: 1; skipped: 0; total: 1
After this we have inconsistency in Zabbix:
- there is 'OK' massage in latest data:
- and “Disaster” in triggers:
So, is it bug or feature?
PS:
All latest data list:
We have the same in API:
Code:
{
"jsonrpc": "2.0",
"result": [
{
"itemid": "23784",
"lastvalue": "OK",
"lastclock": "1435672578",
"value_type": "1",
"lastns": "12",
"prevvalue": "PROBLEM"
}
],
"id": "1"
}