These two terms can cause some confusion, but their understanding is crucial for small and medium environments.
History
All collected data, doesn’t matter what type, will be stored on history tables.
Trends
Trends basically are the collected data (only numeric) consolidated by hour. Zabbix Server hourly takes all values from history tables and calculates minimum, average and maximum for one hour period.
Note: string items, like character, log and text, doesn’t have trends
Housekeeper
Both data still remains on database until Housekeeper from Zabbix Server deletes it based on Keep historyand Keep trends configurations:
So if you have an item with 60 seconds Update interval and 7 days for Keep history it will generates (60*24*7) 10080 rows per-item on history table.
For trend table, with 730 days configuration, it will generates (730*24*7) 17520 rows per-item.
Database tables for history/trends and theirs item type:
- history – numeric (float)
- history_uint – numeric (unsigned integers)
- history_str – character (up to 255 bytes)
- history_log – log
- history_text – text
- trends – numeric (float)
- trends_uint – numeric (unsigned integers)
If you have a large environment, I recommend you to disable housekeeping, the explanation in this post.
Recommendations
- Consider not more than 7 days for history (3 days for medium environments)
- Avoid intervals less than 60 seconds
- Keep your eyes on disksize from history/trend tables