-
Type:
Problem report
-
Resolution: Unresolved
-
Priority:
Minor
-
None
-
Affects Version/s: 7.0.32, 7.4.16, 8.0.0
-
Component/s: Server (S)
Environment
- Zabbix server and frontend 8.0.0 (tag "8.0.0", commit "c81e276e505"), PostgreSQL 16.15.
Steps to reproduce
- Create host "corr-test" with four items of type "Zabbix trapper", type of information "Numeric (unsigned)", keys "t1", "t2", "t3" and "t4".
- Create triggers on this host:
- "Old abc", expression "last(/corr-test/t1)=1", tag "svc" with value "abc";
- "Old a_c", expression "last(/corr-test/t2)=1", tag "svc" with value "a_c";
- "Old xyz", expression "last(/corr-test/t3)=1", tag "svc" with value "xyz";
- "Closer", expression "last(/corr-test/t4)=1", tag "close" with value "yes".
- Go to Data collection → Event processing and click Create event correlation.
- Set Name "contains a_c". Add condition "New event tag name" equals "close". Add condition "Old event tag value" with Tag "svc", Operator "contains" and Value "a_c".
- In Operations select Close old events and click Add.
- After configuration cache update, send value 1 to "t1", "t2" and "t3", for example "zabbix_sender -z 127.0.0.1 -s corr-test -k t1 -o 1".
- Send value 1 to "t4".
- Open Monitoring → Problems and run query from block 1.
1. Query
SELECT p.name, pt.value AS svc, p.r_eventid IS NOT NULL AS closed, p.correlationid FROM problem p JOIN problem_tag pt ON pt.eventid = p.eventid AND pt.tag = 'svc' ORDER BY p.eventid;
Result
Monitoring → Problems shows only "Old xyz" and "Closer". Correlation "contains a_c" resolved "Old abc", but "abc" does not contain "a_c":
name | svc | closed | correlationid ---------+-----+--------+--------------- Old abc | abc | t | 13 Old a_c | a_c | t | 13 Old xyz | xyz | f | (3 rows)
| Check | Result |
|---|---|
| "contains" "a_c", old tag values "abc", "a_c", "xyz", 5 runs | "abc" and "a_c" closed |
| "contains" "%", old tag values "abc", "xyz", "100%", 2 runs | All three closed |
| "contains" "50%", old tag values "50%", "500", "150", "49", 1 run | "50%", "500" and "150" closed |
| "does not contain" "a_c", old tag values "abc", "a_c", "xyz", 2 runs | Only "xyz" closed, "abc" stays open |
| "New event tag value" "contains" "a_c", new tag value "abc" or "a_c" | "abc" does not match, "a_c" matches |
Expected
"contains" matches entered text as it is. Documentation says "contains - has the string in the old event tag value" (Global event correlation). Correlation "contains a_c" closes only "Old a_c".
Affects global correlations with "Old event tag value" condition, operators "contains" and "does not contain", when value has "_" or "%".