Zabbix databases tend to grow in a fast way. PostgreSQL and MySQL can handle a huge amount of history-items but especially in huge setups it might be useful to have possibility to have a overview which items are filling up my database.
Therefore it would be useful be useful to have a additional report in the "reports" view to identify possibilities to optimize the frequency and existence of items.
From my point of view there are the following sources of fast database growth:
- templated items with high frequency items which are assigned to numerous hosts
- prototype items which are use in a huge amount if discoveries with high frequence items
- log items which produce a high amount of messages and the zabbix admin is not aware of the fact that this happens
- unexperienced zabbix admins which use a operations monitoring system as a time series profiling database (i.e. prometheus)
Features of the report:
Clever sql joins should help to group(!in case of templates) and gather the items and the association to templates and/or prototypes.
Comparable to the "100 busiest triggers" report the "100 busiest items" report this should have a filter for a time attributes.
The report should show the template, prototype, item name where the busy items are originated.
The filter should support a reduction by datatype.
Another way to analyze the situation:
Run statistics on the database writer behavior to drilldown the items/second behavior.