zabbix——计算所需数据库空间

一共有三类数据:

历史数据(每秒记录一次)

保存天数*每秒处理的数据量*86400(秒)*50Bytes(每条数据的大小)

 

趋势数据(每小时记录一次)

保存天数*每小时处理的数据量*24(小时)*128Bytes(每条数据的大小)

 

事件数据

保存天数*每秒产生的数据量*86400(秒)*130Bytes(每条数据大小)

 

例:

一共有1000台被监控主机,平均每台主机上有60个Item,每60秒采集一次数据。假设每台主机平均每秒产生1个事件,数据保存时间为认,即历史数据保存90天,趋势数据保存365天,计算一年中,zabbix所需的数据库大小

 

总Item

 1000*60=60000

 

每秒采集的数据量

60000/60=1000

 

历史数据

90*1000*86400*50=388 800 000 000 Bytes = 362GBytes

 

趋势数据

365*60000*24*128=67 276 800 000 Bytes= 62.6GBytes

 

事件数据

365*1000*86400*130=4 099 680 000 000 Bytes=3.8 GBytes

 

平均每秒io量

(1000*3600*50+60000*128+3600*130)/3600=52263 Bytes = 51 KBytes

 

Zabbix数据库总共需要428.4GBytes左右的空间

 

 

附,计算用脚本:

#!/bin/bash
read -p "请输入被监控主机数: " host
read -p "请输入平均每台主机所需监控的Item数量: " item
read -p "历史数据保存多少天? " history
read -p "趋势数据保存多少天? " trend
 
totalItem=$[${host}*${item}]
datePerSecond=$[${totalItem}/60]
historyData=$[${history}*${datePerSecond}*86400*50/1024/1024/1024]
trendData=$[${trend}*${totalItem}*24*128/1024/1024/1024]
eventData=$[365*1*86400*130/1024/1024/1024]
totalData=$[${historyData}+${trendData}+${eventData}]
ioRate=$[(${datePerSecond}*3600*50+${totalItem}*128+3600*130)/3600/1024]
 
cat <<EOF
 
------------------计算结果---------------
 
历史数据所需容量: ${historyData}GBytes
趋势数据所需容量: ${trendData}GBytes
事件数据所需容量: ${eventData}GBytes
zabbix数据库总共需要:${totalData} GBytes 
平均每秒的磁盘IO量: ${ioRate} KBytes
EOF


 

 

效果

zabbix——计算所需数据库空间

 

 

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...