Zabbix:数据库需要多大硬盘?

  • 2015-11-02
  • 46
  • 0
  • 0

 

以当前维护的服务器为例,
zabbix版本:2.4.x
服务器数量:1000+
每台服务器监控项:60+
每个监控项刷新频率:60秒
历史数据保存时间:60天
趋势数据保存时间:365天

决定硬盘大小的因素

根据官方文档,Zabbix基本是通过web配置,这些配置数据也是存放到数据库里的,但是它对硬盘容量的要求基本可以忽略不计,而Zabbix对硬盘的决定性因素有4个,如下:

1. 每秒处理的数据量

每秒只是一个平均值,例如我有3000个监控项,每60秒刷新一次,那么平均每秒有50(3000/60)个数据要处理。就是说每秒有50条数据要插入MySQL。

2. 历史记录保存时间

Zabbix对每个监控项的值都要记录下来,这些记录一般保留几周到几个月,具体看实际配置了。每个值都需要暂用硬盘空间。假如一个数据你要保留30天,而且每秒有50个值要保留,那我们一共有129,600,000(30天*24小时*3600秒)*50个值,一条记录多大,由部署的Zabbix数据库引擎和存储的数据类型来决定(浮点型,整形,字符型等等),一般来说一条记录需要占用50个字节(一个大概值)。

3. 趋势数据保存时间

什么是趋势数据呢?当查看一周或者一月的图表,图表上看到的MAX/MIN/AVG/COUNT都是取自趋势数据,趋势数据一小时获取一次,一般情况下,趋势数据一条记录大概占用128字节,如果我们想保存5年趋势数据,3000个监控线需要2.4GB(3000个*24小时*356天*128字节)每年,5年一共16.8G

4. 事件记录保存时间

报警、警告、恢复等等事情,一个事件大概占用130个字节,一般情况下不会太多,除非运维做的太糟糕,或者运维要求太严格,把阀值调的很低。假如这个运维今年本命年,既没拜佛有没烧香,更别说给服务器贴灵符,于是这一年每秒钟就有一个事件发生,那么事件这一年占用的数据空间为:1年*365天*24小时*3600秒*130字节大概为4.1G空间。

5. 数据库空间计算公式

zabbix配置:固定大小,一般<10MB
历史数据:天数*(监控项总数/刷新频率)*24小时*3600秒*50字节
趋势数据:天数*(监控项总数/3600)*24小时*3600秒*128字节
事件数据:天数*事件个数(大概值)*24小时*3600秒*130字节

总结

历史数据所需容量: 241GBytes
趋势数据所需容量: 62GBytes
事件数据所需容量: 3GBytes
zabbix数据库总共需要:306 GBytes
平均每秒的磁盘IO量: 51 KBytes

 

 

评论

还没有任何评论,你来说两句吧