Uploaded image for project: 'ZABBIX FEATURE REQUESTS'
  2. ZBXNEXT-4004

offload LLD data processing from trappers and proxy pollers (critical for monitoring by proxies)


    • Icon: Change Request Change Request
    • Resolution: Duplicate
    • Icon: Critical Critical
    • None
    • None
    • Server (S)
    • Sprint 53 (Jun 2019)
    • 6

      Active proxy:
      If zabbix server gets LLD data from active proxy - it processes the data in the same time, TCP connection stays opened, proxy's data sender is waiting a reply from server.
      All this time history is not synchronized during a few minutes and many nodata() triggers on server gets PROBLEMS.
      For example 3 LLD rules send ~300KB json data in one (or in a few consecutive) connection(s). Proxy's data sender is 100% for 3-4 minutes, while usually the data sender is just 4% busy.

      Passive proxy:
      A 1 hour maintenance of DB server is performed (backup), but it does not not affect zabbix server in general meaning, except of:
      server's proxy poller gets 1000 (=ZBX_MAX_HRECORDS) values (2MB data, multiple LLD rules data), and spends 7 seconds to process it. Without exiting from a loop, it ask more history again (ZBX_PROTO_VALUE_HISTORY_DATA) and again gets 1000 vales (10MB data this time) and processes it 30+ seconds (how much exactly - unknown) and so on.
      As we know there is an internal queue for proxy pollers (info from wiper), so only one proxy poller will be working with the proxy.
      Discovered issue: history sync will be delayed AND configuration synchronization of the proxy is not performed at all during the period!

      To resolve all the issues - LLD data processing should be offloaded from current proxy<->server communication.

            zabbix.dev Zabbix Development Team
            zalex_ua Oleksii Zagorskyi
            Team A
            18 Vote for this issue
            21 Start watching this issue