zabbix的性能瓶颈主要是磁盘IO(数据库读写操作),对CPU和内存的占用较低。
对于单个监控值 zabbix 在 后台数据库中会存入三个数值(最大值、最小值、平均值)。
计算历史数据的大小。zabbix的数据一般是有存放期限的,如几个星期或几个月。这里假如存放30天,那么就有30*24*3600=2592000秒。假如目前监控30台机器,每台机器监控20个item,item的上报频率为30秒,那么每秒就有30*20/30=20个数据上报,一般一个上报数据的大小在40-100bytes之间,这里假设平均值是60bytes,那么总的数据占用空间则为2592000*20*60/1024/1024/1024=2.89GB。
计算趋势trend数据的大小。Zabbix server 每隔 1 小时会记录 item 的 max/min/avg 值到 trends 表里。这些值主要 是为了方便查看 item 趋势用的。1 小时的时间间隔是不可指定的,是固定不变的。Zabbix 的数据库根据不同的数据库类型,大概每个数据占有 128bytes。假如一共 3000 个 item,则一年的数据大小为(3000*24*365)*128bytes=3.4GB。
计算事件数据的大小。每个 zabbix 事件所占有的空间大小约为 130bytes。在 zabbix 的时间周期中来判断 技术博客:http://nanwangting.blog.51cto.com/ 多久发生一次事件是比较难的,这里我们假如平均一秒就一个事件发生。则 3000 个 item 一 年需要的空间约为(365*24*3600)*130=4.1GB。
Zabbix总的数据库空间= zabbix配置文件数据(一般固定10M或更小)+历史数据+趋势数据+事件数据的大小。