1. 每秒處理的數據量
這邊的每秒只是一個平均值,例如我有3000個監控項,每60秒刷新一次,那么平均每秒有50(3000/60)個數據要處理。就是說每秒有50條數據要插入MySQL
2. 歷史記錄保存時間
zabbix對每個監控項的值都要記錄下來,這些記錄一般保留幾周到幾個月,具體看你的配置了。每個值都需要暫用硬盤空間。假如一個數據你要保留30天,而且每秒有50個值要保留,那我們一共有129,600,000(30天*24小時*3600秒)*50個值,一條記錄多大,由你的數據庫引擎和你存儲的數據類型來決定(浮點型,整形,字符型等等),一般來說一條記錄需要占用50個字節(一個大概值),在這個案例中129,600,000個記錄大約需要(129600000*50字節)6.5G的硬盤空間
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字節
6. 最后
看到這里,大家都心里有數據了,數據庫硬盤空間=配置文件大小+歷史記錄+趨勢記錄+事件記錄。雖然這個硬盤會不停的增長,但是總有一天會停止增長,空間一直保持不變