一共有三類數據:數據庫
歷史數據(每秒記錄一次)bash
保存天數*每秒處理的數據量*86400(秒)*50Bytes(每條數據的大小)ide
趨勢數據(每小時記錄一次)spa
保存天數*每小時處理的數據量*24(小時)*128Bytes(每條數據的大小)blog
事件數據事件
保存天數*每秒產生的數據量*86400(秒)*130Bytes(每條數據大小)get
例:it
一共有1000臺被監控主機,平均每臺主機上有60個Item,每60秒採集一次數據。假設每臺主機平均每秒產生1個事件,數據保存時間爲默認,即歷史數據保存90天,趨勢數據保存365天,計算一年中,zabbix所需的數據庫大小io
總Itemevent
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
效果