Database space required for zabbix-- computing
There are three types of data:
Historical data (recorded once per second)
Days saved * amount of data processed per second * 86400 (seconds) * 50Bytes (size of each piece of data)
Trend data (recorded hourly)
Days saved * amount of data processed per hour * 24 (hours) * 128Bytes (size of each piece of data)
Event data
Number of days saved * amount of data generated per second * 86400 (seconds) * 130Bytes (size per piece of data)
Example:
There are a total of 1000 monitored hosts, with an average of 60 Item on each host, and data is collected every 60 seconds. Suppose each host generates an average of 1 event per second, and the data preservation time is the default, that is, historical data is saved for 90 days, trend data is saved for 365 days, and the database size required by zabbix in one year is calculated.
Total Item
1000, 60, 60, 000
The amount of data collected per second
60000, 60,000, 1000.
Historical data
90 "1000" 86400 "50" 388 800 000 000 Bytes = 362GBytes
Trend data
365 '60000' 24 '128' 67 276 800000 Bytes= 62.6GBytes
Event data
365 million 1000 million 86400 million 130 million 4 099 680 000 000 Bytes=3.8 GBytes
Average ios per second
(1000 "3600" 50 "60000" 128 "3600130) / 3600" 52263 Bytes = 51 KBytes
Zabbix database needs a total of about 428.4GBytes space.
Attached, calculation script:
#! / bin/bashread-p "Please enter the number of monitored hosts:" hostread-p "Please enter the average number of Item to be monitored per host: how many days does the historical data of" itemread-p "keep? How many days is the "historyread-p" trend data saved? "trend totalItem=$ [${host} * ${item}] datePerSecond=$ [${totalItem} / 60] historyData=$ [${history} * ${datePerSecond} * 86400mm 50nd 1024max 1024] trendData=$ [${trend} * ${totalItem} * 24x 128Thaw 1024max 1024] eventData=$ [365" 1x 86400 "130par 1024ax 1024] totalData=$ [${historyData} + ${trendData} + ${eventData}] ioRate=$ [(${datePerSecond} * 360050mm ${totalItem} * 128" 3600130) / 3600Universe 1024] cat