See www.zabbix.com for the official Zabbix site.

Docs/specs/ZBXNEXT-000

From Zabbix.org
Jump to: navigation, search

New concept for UNKNOWN events

ZBXNEXT-000

Status: Initial draft, do not comment

Owner: Alexei, Sasha

Reasoning

A monitoring system should produce two types of events: problem and recovery. Zabbix currently generates also 'unknown' events, which is quite confusing to Zabbix users. Why shall we tell to the world that Zabbix is unable to execute certain checks or recalculate trigger expression? It should be considered as an internal event, i.e. event not exposed to end users or external systems.

It will also bring a number of short- and long-term benefits:

  1. No confusion related to the unknown events. List of events will be much cleaner: a single OK instead of OK->UNKNOWN->OK.
  2. Same logic (no unknowns) for events and IT Services
  3. Only Zabbix server will produce new events, GUI won't do it anymore.
    1. Performance of GUI for host, trigger and item related operation will be improved
  4. Zabbix Server will not generate unknown events on startup. Server startup time will be significantly improved.
  5. Zabbix Server will not use IDS table for generation of new events, which will lead to much better performance.
    1. No deadlocks related to IDS (see also 1.)

Overview

Two types of trigger based events will be generated: PROBLEM and OK. It means that only significant events will be produced.

A new type of events will be introduced: internal events. Internal events will be used to notify Zabbix administrators about configuration related issues, for example, unable to calculate trigger value, item goes to not supported state, etc. These events will be visible to administrators only.

Specification (PART 1. Removal of unknown events)

GUI

  • Dashboard->Status of Zabbix, Reports->Status of Zabbix, Screen element Status of Zabbix
    • Remove number of unknown triggers
  • Monitoring->Events
    • Remove filter option 'Show unknown events'
    • Unknown and non-significant events will not be in the event list (also not in the DB)
  • Monitoring->Event details
    • Unknown and non-significant events will not be in the event list (also not in the DB)
  • Reports->Availability report
    • Remove column 'Unknown'
    • Change calculation algorithm accordingly (all time is OK before first event)
  • Reports->Availability report->Graph
    • Remove displaying of 'Unknown' info
    • Change calculation algorithm accordingly (all time is OK before first event)

API changes

  • API will not generate trigger unknown events anymore.
  • The following methods will be affected:
    • trigger.create
    • trigger.update (change of trigger expression, disabling trigger)
    • host.update (disabling host)
    • item.update (disabling item)

Server changes

  • Server will not generate trigger unknown and non-significant events
  • Server will not generate unknown events on startup
  • Processing of trigger 'unknown' flag
    • Server will not update trigger flag on startup
    • Otherwise trigger flag will be updated as in 2.0, no other changes

Database changes

  • Remove all unknown and non-significant events from the database
    • delete from events where source=TRIGGER and object=TRIGGER and (value=UNKNOWN or value_changed=0)
    • remove column value_changed

Documentation

  • What's new in 2.2
  • API reference
  • Update screenshots and descriptions
    • Monitoring->Events
    • Monitoring->Event details screenshots
    • Dashboard->Status of Zabbix, Reports->Status of Zabbix, Screen element Status of Zabbix
    • Reports->Availability report
    • Reports->Availability report->Graph

Test cases

  • Verify that all pages updated correctly
  • Constant TRIGGER_VALUE_UNKNOWN no longer exists in GUI and Server code
  • Server

ChangeLog

  • N/A

Specification (PART 2. Internal events)

See https://www.zabbix.org/wiki/Docs/specs/ZBXNEXT-341