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

Item Delete - Long periods of high internal housekeeper process usage

XMLWordPrintable

    • Icon: New Feature Request New Feature Request
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • 2.2.6
    • Server (S)
    • None
    • Redhat Enterprise 6.x x64 - Percona MySQL 5.6

      Actually the Zabbix Housekeeper is working very well with normal operations, cleaning item values but i can't say the same when we delete some prototype items or simple items.

      During an official Zabbix issue we are now know the right meaninng of the MaxHousekeeperDelete parameter, this variable only affect the amount of value of a deleted item per Housekeeper run.

      For example if i have a template for Cisco Switches with some Item prototype related to the port metrics, you will probably face this numbers:
      N.1 Item prototype expanded with 100 switch ports x 10 monitored Switches => 1000 Discovered Items x Update interval
      In this case Zabbix Housekeeper wil try to remove n. MaxHousekeeperDelete (ex.500) x Total Discovery Items (1000) => 500k history value in a single run.

      So the MaxHousekeeperDelete don't limit the query for a single Housekeeper run and in some case this logic can drammatically increase the working load of Zabbix Server.

      I will suggest a possible way:

      Predictable -> If i can decide (tune) the right value of MaxHousekeeperDelete for my enviroment (CPU load,Disk I/O etc) i can ensure that i can not exceed the max load of my Zabbix Server in every case
      NOT Predictable -> (today implementation) In this moment the load of the Zabbix Server during a massive delete is not controlled and for example using your case if we have:
      18000 items x 500 MaxHousekeeperDelete => 9.000.000 value to delete at the first housekeeper run
      and worst if you have 2 or 3 hosts (connected to a main template) 9.000.000 x 3 = 27M of deletes in a single operation.
      Do you still think is a good solution? I think it's better to have control of this process.
      I think this was a good solution before Zabbix introduced Prototype Item, now this problem can become much more evident.
      So my suggestion is to have a variable that define "the total delete" per run, in this mode everyone can modify according with the own environment or usage but with a predictable load.

            Unassigned Unassigned
            dimi Dimitri Bellini
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: