- history表。浮点历史数据表。与items表相关联。
- history_log表。 历史日志表,与itmes表相关联
- history_str表。 字符串的历史数据表。
- history_text表。 长文本历史数据表,支持255字符以上的文本,与items表相关联
- history_uint表。 长整型历史数据表,与items表相关联
- trends表。 趋势表,浮点型,每个小时统计数
- trends_uint表。 趋势长整型表,每个小时。与items表相关联。
这几个历史表里面,通常最占用空间的是 history_uint 表,因为我们大多数的监控项的值都是整型。假设我们的zabbix有1000个监控项目是整型的,每分钟采集一次,历史数据保留10天。那么这个表10天的数据量有 602410*1000=14400000 ,1440万行的数据。很明显这个表太大了,实际情况下一个监控系统监控项目远超1000项,有些item的采集频率可能更高,数据量超过1亿行也很常见。
同理,trends_uint表的数据量也不会太小。按照上面的计算,该表10天的数据量大概为24万行。当然历史趋势数据我们通常会保留更久,默认会保留90天,也就是大概216万行。
所以,zabbix监控的性能瓶颈就是在于mysql。想办法把历史表的数据量降低,否则你的监控系统也需要大量的资源了。当然,你也可以考虑用promethues.
网友评论