Zabbix 是一个非常流行的监控工具,包括服务器端和客户代理。
今天是想记录一下学习 Zabbix 服务器端的安装需求。
硬件需求
CPU:Zabbix 数据库需要大量的 CPU 资源。具体的数量以及要求,同收监控的主机数量有关,还同数据库类型有关。
规模 |
平台 |
CPU/内存 |
数据库 |
受监控的主机数量 |
小型 |
CentOS |
Virtual Appliance |
MySQL InnoDB |
100 |
中型 |
CentOS |
2 CPU cores/2GB |
MySQL InnoDB |
500 |
大型 |
RedHat Enterprise Linux |
4 CPU cores/8GB |
RAID10 MySQL InnoDB 或 PostgreSQL |
>1000 |
极大型 |
RedHat Enterprise Linux |
8 CPU cores/16GB |
Fast RAID10 MySQL InnoDB 或 PostgreSQL |
>10000 |
软件要求
通常是运行在 Linux 上,这是首选,当然还有很多不同的系统都可以安装运行。
软件包括 Web 服务器,数据库,还有 PHP语言支持。
数据库:MySQL,Oracle,PostgreSQL,SQLite等。
WEB服务器: Apache, Nginx。
PHP语言:7.2.0 以上,当然还有很多扩展可以帮助展示和很多Zabbix 的功能体现。
前端屏幕:要用大屏展示最好看,1200px宽度以上。
数据库所需要的磁盘空间,是最占用最多的,官方的估算是这样:
如果有3000个监控项,取值间隔为60秒,则这个值得数量计算为 3000/60 = 50。
如果我们每秒收到 50 个值,且希望保留 30 天的历史数据,值的总数将大约在 (30*24*3600)* 50 = 129.600.000,即大约 130M 个值。
根据所使用的数据库引擎,接收值的类型(浮点数、整数、字符串、日志文件等),单个值的磁盘空间可能在 40 字节到数百字节之间变化。 通常,数值类型的每个值大约为 90 个字节。
在上面的例子中,这意味着 130M 个值需要占用 130M * 90 bytes = 10.9GB 磁盘空间。
这是历史数据的占用,还有趋势数据,每个项目保留1小时的最大值、最小值,平均值,统计值,保留五年的趋势数据,就需要11GB 空间。另外事件数据,如果事件数据保留三年,大概又增加 30GB。
这些都是理想化的估算。