[ZBXNEXT-3277] Global event correlation Created: 2016 May 13 Updated: 2017 Dec 17 Resolved: 2016 Dec 15 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | API (A), Frontend (F), Server (S) |
Affects Version/s: | None |
Fix Version/s: | 3.2.0alpha1 |
Type: | Change Request | Priority: | Major |
Reporter: | Alexei Vladishev | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 3 |
Labels: | None | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Attachments: | event-error event_in_unknown_state.png event_tags.png formulaId.png tag_pair.png zbx-leak-cache.png | ||||||||
Issue Links: |
|
Description |
Event tags allow implementation of much powerful concept, event correlation. The functionality will allow correlation based on event tags of events generated by different triggers and different automatic manipulations with correlated events: closing of problems, event filtering, etc. |
Comments |
Comment by Andris Zeila [ 2016 Jun 30 ] |
(1) [I] Database patch created in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-3277 sandis.neilands CLOSED. |
Comment by Andris Zeila [ 2016 Jul 08 ] |
Server side is being implemented in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-3277-2 (and mostly done). This branch is based on |
Comment by Ivo Kurzemnieks [ 2016 Jul 14 ] |
(2) [I] The dbversion in branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-3277-2 seemed incorrect. I got an error after clean install. Please see changes in r61028 sandis.neilands CLOSED. |
Comment by Ivo Kurzemnieks [ 2016 Jul 14 ] |
(3) [F] Translation string changes:
gunarspujats CLOSED |
Comment by Ivo Kurzemnieks [ 2016 Jul 14 ] |
Frontend and API ready for testing. |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 15 ] |
(4) [S] process_events() returns garbage value when there are no events (events_num == 0). Similar problem in process_trigger_events(). sandis.neilands RESOLVED in r61050. wiper CLOSED |
Comment by Alexander Vladishev [ 2016 Jul 15 ] |
Available in pre-3.1.0 (trunk) r61054. |
Comment by Ivo Kurzemnieks [ 2016 Jul 18 ] |
(6) [F] Filter state (open/closed) is not remembered in Configuration -> Event correlation iivs RESOLVED in r61090 oleg.egorov CLOSED wiper and merged into trunk r61100 |
Comment by Ivo Kurzemnieks [ 2016 Jul 18 ] |
(7) [D] API documenatation updated:
gunarspujats CLOSED |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 18 ] |
(8) [F] Event correlation status update issue iivs RESOLVED in r61121 oleg.egorov CLOSED |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 18 ] |
(9) [F] Create condition "New event host group" and select all host groups and add it, then again select "New event host group" and select all host groups and try again to add it. 1. Remove tag iivs RESOLVED in r61122 oleg.egorov CLOSED |
Comment by Andris Zeila [ 2016 Jul 19 ] |
Created new development branch for bug fixing - |
Comment by Glebs Ivanovskis (Inactive) [ 2016 Jul 19 ] |
(10) [S] Warning when compiling with CFLAGS='-Wall -g -O2': events.c: In function ‘correlate_events_by_global_rules’: events.c:1023:39: warning: ‘tag’ may be used uninitialized in this function [-Wmaybe-uninitialized] value_esc = DBdyn_escape_string(tag->value); ^ events.c:982:13: note: ‘tag’ was declared here zbx_tag_t *tag; ^ Compiler: $ gcc --version gcc (Ubuntu 5.4.0-6ubuntu1~16.04.1) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. wiper This should have been fixed in sandis.neilands CLOSED. |
Comment by Aleksandrs Saveljevs [ 2016 Jul 19 ] |
(11) Cosmetic: merge into trunk in r61100 has some extra blank lines in include/dbcache.h and the function name in the comment for zbx_strmatch_condition() is incorrect. wiper RESOLVED in sandis.neilands CLOSED. |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 19 ] |
(12) [S] One of the added OK events has a tag, the other one does not (see event_tags.png). Configuration dummy_host_0
dummy_host_1
dummy_correlation_0: And/Or. Conditions:
Operations:
wiper Just clarifying - the OK events generated by event correllation should not have tags. |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 19 ] |
(13) [S] After some testing I noticed that some events in have ''Unknown' status (see event_in_unknown_state.png). Their 'value' in 'events' table is 3 which corresponds to TRIGGER_VALUE_NONE in server. Supposedly this value should never be written to DB. sandis.neilands CLOSED. This issue will be fixed in wiper the fix was merged in, should be working starting with r61157 |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 20 ] |
(14) [A] Event correlation with custom expressions return Undefined offset
1. Create event correlation with custom expression iivs RESOLVED in r61125 oleg.egorov CLOSED |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 20 ] |
(15) [F] Try to create New condition->New event tag value without tag, but with value iivs RESOLVED in r61124 oleg.egorov CLOSED |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 20 ] |
(16) [F] Error if host group was removed
1. Create host group: test iivs RESOLVED in r61162 oleg.egorov CLOSED |
Comment by Andris Zeila [ 2016 Jul 21 ] |
(17) [S] When processing correlation rule 'old event tag xxx = new event tag yyy' if the new event has multiple yyy tags only the first one is checked. RESOLVED in r61144 (and r61228 in sandis.neilands CLOSED. |
Comment by Andrey Melnikov [ 2016 Jul 21 ] |
Event recovery generated duplicate records. [Z3005] query failed: [1062] Duplicate entry '5633178' for key 'PRIMARY' [insert into event_recovery (eventid,r_eventid,correlationid,c_eventid) values (5633226,5633313,null,null),(5633178,5633310,null,null),(5633285,5633310,null,null),(5633243,5633309,null,null),(5633227,5633314,null,null),(5633225,5633312,null,null),(5633224,5633311,null,null);] Relevant parts of log attached. wiper Yes, event recovery is currently broken (also in trunk). It has been fixed and is currently being tested in svn://svn.zabbix.com/branches/dev/ZBXNEXT-3274-2 |
Comment by Andrey Melnikov [ 2016 Jul 21 ] |
How long wait working trunk? |
Comment by Andris Zeila [ 2016 Jul 21 ] |
The fix in |
Comment by Andris Zeila [ 2016 Jul 25 ] |
(18) [S] Event correlation does not work when mutiple conditions involving old event tags are used. sandis.neilands CLOSED. |
Comment by Andris Zeila [ 2016 Jul 25 ] |
(19) [S] Event correlation might not work when a large batch of events is processed. sandis.neilands CLOSED. |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 25 ] |
(20) [A] Possible create tag duplicates { "name": "long_test", "description": "", "status": 0, "operations": { "0": { "type": 0 } }, "filter": { "conditions": { "0": { "type": 0, "tag": "1", "formulaid": "A", "operator": 0 }, "1": { "type": 1, "operator": 0, "tag": "1", "formulaid": "B" }, "2": { "type": 1, "operator": 0, "tag": "1", "formulaid": "C" } }, "evaltype": 0 }, "correlationid": 7 } In frontend: RESOLVED IN r61278 gunarspujats CLOSED |
Comment by Oleg Egorov (Inactive) [ 2016 Jul 25 ] |
(21) [A] FormulaId duplicates { "name": "1", "description": "", "status": 0, "operations": { "0": { "type": 0 } }, "filter": { "conditions": { "1": { "type": 1, "operator": 0, "tag": "1", "formulaid": "B" }, "2": { "type": 1, "operator": 0, "tag": "1", "formulaid": "B" } }, "evaltype": 3, "formula": "B and B" }, "correlationid": 1 } Result in frontend: RESOLVED IN r61278 gunarspujats CLOSED |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 25 ] |
If testing with Valgrind then be aware of issue (3) from |
Comment by Andrey Melnikov [ 2016 Jul 25 ] |
Hmm. I'm observe crashes when server update lld rules. In lld_triggers_validate() missed initialization of new fields?
@@ -1950,6 +1950,8 @@ static void lld_triggers_validate(zbx_ui
db_trigger->comments_orig = NULL;
db_trigger->url = NULL;
db_trigger->url_orig = NULL;
+ db_trigger->correlation_tag = NULL;
+ db_trigger->correlation_tag_orig = NULL;
db_trigger->flags = ZBX_FLAG_LLD_TRIGGER_UNSET;
wiper Thanks, added sub-issue ZBXNEXT-3274 (2) |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 26 ] |
(22) Any example regarding correlation conditions where "And" expression is useful and "And/Or" is not applicable? wiper I can give an artificial example, but not sure how useful it would be: event value like ABC and event value like 123. sandis.neilands If we do not have immediate plans to use it then shouldn't we remove it to avoid confusion? For the corner case you mentioned a custom expression is always available. wiper I think it's less confusing to have the same evaluation type options as in other places. sandis.neilands Ok, CLOSED. |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 26 ] |
(23) [S] zabbix_server [596]: ERROR [file:events.c,line:1182] Something impossible has just happened. wiper RESOLVED in r61234 ( sandis.neilands CLOSED. |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 27 ] |
(24) [F] When configuring event tag pair it is not clear which text fields is for old tag and which one is for the new tag (both have 'tag' in light gray).
oleg.egorov RESOLVED in r61256 sasha Placeholders are renamed to old event tag and new event tag accordingly. CLOSED |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 27 ] |
(25) [F] What is the maximum number of problems that the 'Problems' page can handle? I have around 50 thousand problems. 'Events' view shows them (21 page that is) but 'Problems' view does not load (it displays white page and that's it). oleg.egorov Check your memory limit in php.ini and max execution time sandis.neilands 128M and 300s. The point is that events page still works with these settings. oleg.egorov Confirmed performance issue Moved to |
Comment by Sandis Neilands (Inactive) [ 2016 Jul 27 ] |
(26) [F] What does the 'Action' column in 'Problems' page is supposed to show? Just the actions taken for problem event, problem and ok event? oleg.egorov Moved to |
Comment by Andris Zeila [ 2016 Jul 28 ] |
(27) [S] IT services are calculated from event value. With correlation the event value might differ from the trigger value. For example when trigger has multiple open problems OK event might close only one of them, leaving trigger in problem state. To fix it we should use the trigger changeset (trigger_diff vector) for IT service calculations instead of events cache. wiper RESOLVED in r61258 ( sandis.neilands CLOSED. |
Comment by Andrey Melnikov [ 2016 Aug 01 ] |
on trunk r61206 - all triggers with dependencies in locked state, used size in history cache constantly growing up, all items with such triggers never update in db. All of these triggers - timer based, locked inside process_time_functions() by DCconfig_get_time_based_triggers() and never be unlocked. DCconfig_lock_triggers_by_history_items() can't lock it after new value received and unsynced entries in history buffer growing. |
Comment by Glebs Ivanovskis (Inactive) [ 2016 Aug 02 ] |
I confirm that in current trunk, seems like time-based triggers are unlocked only if they generate events. Thank you, lynxchaus, for analysis! wiper Added to ZBXNEXT-3274 |
Comment by Gunars Pujats (Inactive) [ 2016 Aug 03 ] |
(28) [A] Coding style include/classes/api/services/CCorrelation.php RESOLVED in dev branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-3277-4, r61352 sasha CLOSED |
Comment by Gunars Pujats (Inactive) [ 2016 Aug 03 ] |
(29) [F] Coding style correlation.php include/correlation.inc.php RESOLVED in dev branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-3277-4, r61365 sasha CLOSED |
Comment by Sandis Neilands (Inactive) [ 2016 Aug 04 ] |
Server side merged to |
Comment by Alexander Vladishev [ 2016 Aug 05 ] |
Frontend and API merged to trunk r61443 ( |