Not sure if this is the best forum for this, but anyway... 2 questions:
(1) We recently patched our zabbix-server (on centos8) and zabbix-server-mysql appeared to upgrde from 4.0.17 to 4.0.20. After that houskeeping went nuts and seemed to consume most of the resources on the server. We decided to turn it off as we are using partitioning for space management. Is there anyhing else that housekeeping does that would not be covered by partitioning?
(2) while debugging what housekeeping was doing, I looked into the SQL it generates (we use the mysql backend). It runs a lot of statements of the form "delete from history_uint where itemid=<some-id> limit 5000". What is the intention with this? It looks, on the surface, as though it will delete a random sample of 5000 rows from the table for a given id. I would have thought that it would be trying to delete the oldest data, but there is no restriction by timestamp (column clock). Is this intended to remove dataseries that are not longer required, but in smaller chunks?
FWIW, the delete statements are in https://git.zabbix.com/projects/ZBX/.../housekeeper.c, at line 785 (for mysql). This is one verbatim from our zabbix-server log:
"delete from history_uint where itemid=108357 limit 5000"
We also saw some deletes that did reference clock, these seem to come from housekeeping_history_and_trends():
"delete from history_uint where itemid=166377 and clock<1588610158"
Thanks,
Alistair
(1) We recently patched our zabbix-server (on centos8) and zabbix-server-mysql appeared to upgrde from 4.0.17 to 4.0.20. After that houskeeping went nuts and seemed to consume most of the resources on the server. We decided to turn it off as we are using partitioning for space management. Is there anyhing else that housekeeping does that would not be covered by partitioning?
(2) while debugging what housekeeping was doing, I looked into the SQL it generates (we use the mysql backend). It runs a lot of statements of the form "delete from history_uint where itemid=<some-id> limit 5000". What is the intention with this? It looks, on the surface, as though it will delete a random sample of 5000 rows from the table for a given id. I would have thought that it would be trying to delete the oldest data, but there is no restriction by timestamp (column clock). Is this intended to remove dataseries that are not longer required, but in smaller chunks?
FWIW, the delete statements are in https://git.zabbix.com/projects/ZBX/.../housekeeper.c, at line 785 (for mysql). This is one verbatim from our zabbix-server log:
"delete from history_uint where itemid=108357 limit 5000"
We also saw some deletes that did reference clock, these seem to come from housekeeping_history_and_trends():
"delete from history_uint where itemid=166377 and clock<1588610158"
Thanks,
Alistair