Dear all,
we are migrating to the latest Zabbix release in a fresh setup (carrying over our old database) and would like to migrate to TimescaleDB with compression during that.
In the past, we have kept trends a long time (about 7 years) and history for about 7 days, manually partitioned database. Over the course of such a long period, of course many items are deleted, new items are added etc.
With TimescaleDB, it seems the classical housekeeping for deleted items is not working, i.e. the entries in the "housekeeper" table are not worked through. I tried to glean more from the source code of Zabbix, and it seems with TimescaleDB, it switches to "partitioned" mode and hence effectively housekeeps by purging old partitions (or in case of TimescaleDB, chunks), and skips purging deleted items' data.
It seems Zabbix uses "segmentby" for the itemid column, and TimescaleDB supports DELETEing from compressed hypertables in a more or less efficient way, especially if the deletion is done by a "segmentby" column (see https://www.tigerdata.com/docs/use-t...ompressed-data for more details).
So my question is:
Is there a way / best practice to clean deleted items up in a TimescaleDB (with compression) setup?
Are there external housekeeper scripts to do that on-demand (shared by the community?) or would this be worth a feature request for Zabbix?
Or is this already implemented after all and I just missed a knob / checkbox?
Cheers and thanks in advance!
we are migrating to the latest Zabbix release in a fresh setup (carrying over our old database) and would like to migrate to TimescaleDB with compression during that.
In the past, we have kept trends a long time (about 7 years) and history for about 7 days, manually partitioned database. Over the course of such a long period, of course many items are deleted, new items are added etc.
With TimescaleDB, it seems the classical housekeeping for deleted items is not working, i.e. the entries in the "housekeeper" table are not worked through. I tried to glean more from the source code of Zabbix, and it seems with TimescaleDB, it switches to "partitioned" mode and hence effectively housekeeps by purging old partitions (or in case of TimescaleDB, chunks), and skips purging deleted items' data.
It seems Zabbix uses "segmentby" for the itemid column, and TimescaleDB supports DELETEing from compressed hypertables in a more or less efficient way, especially if the deletion is done by a "segmentby" column (see https://www.tigerdata.com/docs/use-t...ompressed-data for more details).
So my question is:
Is there a way / best practice to clean deleted items up in a TimescaleDB (with compression) setup?
Are there external housekeeper scripts to do that on-demand (shared by the community?) or would this be worth a feature request for Zabbix?
Or is this already implemented after all and I just missed a knob / checkbox?
Cheers and thanks in advance!