zabbix从入门到精通至zabbix对数据库空间的要求

影响zabbix数据库大小的数据表主要有4种类型的表,依次是zabbix配置需要的表,zabbix的历史数据存储相关的表,以及thends表和Events表。然而各个表的空间大小我们是可以估算的,并不会无线的增大,这和我们前期的规划有关。
 
每秒处理的数据量=item的个数/数据更新时间。
                   例如一共监控3000个item,每个item监控的更新频率为60s,则意味着平均每秒要往zabbix数据库里插入50条数据。
                   Zabbix对新插入的数据值是保存固定时间的,通常情况下可能会是几个星期甚至几个月。而这些新插入的数据肯定会需要固定的空间方便我们查询和索引。
                   假如我们保存30天的历史数据要,则我们一共需要的数据个数为(30*24*3600)*50=129.600.000为了方便计算这里取130.000.000
                   由于不同的存储引擎,以及不同的存储方法(floats,integers,string,logfiles,etc),每个数据值存储的大小是不同的,通常为40 bytes到上百bytes。假如这里以50bytes为例,则130.000.000.值需要的总共空间大小为130.000.000*50bytes=6.5GB。
                  Zabbix server每隔1小时会记录item的max/min/avg值到trends表里。这些值主要是为了方便查看item趋势用的。1小时的时间间隔是不可指定的,是固定不变的。
                   Zabbix的数据库根据不同的数据库类型,大概每个数据占有128bytes。假如一共3000个item,则一年的数据大小为(3000*24*365)*128bytes=3.4GB。如果我们要存储5年的趋势图则为16.8GB。
                   每个zabbix事件所占有的空间大小约为130bytes。在zabbix的时间周期中来判断多久发生一次事件是比较难的,这里我们假如平均一秒就一个事件发生。则3000个item一年需要的空间约为(365*24*3600)*130=4.1GB
 

数据
大小/计算方法
Zabbix配置文件数据
大小是固定的约为10M,或更小。
History(历史数据)
天数*(item个数/抓取间隔)*24*3600*50bytes
Trends(趋势数据)
天数*(items/3600)*24*3600*128bytes
Events(事件数据)
天数*1*24*3600*130bytes
         通过上图很容易看出来zabbix数据库需要的总共大小为zabbix配置文件数据大小+history+trends+Events。
         当zabbix安装完成后,mysql需要的磁盘空间不会马上使用掉,则取决于hosekeeper的设置。