formatuu 发表于 2019-1-25 07:32:43

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=$
totalData=$[${historyData}+${trendData}+${eventData}]
ioRate=$[(${datePerSecond}*3600*50+${totalItem}*128+3600*130)/3600/1024]
cat
页: [1]
查看完整版本: zabbix——计算所需数据库空间