安装环境概述
zabbix-server服务器运行的环境为Linux+Php+DataBase,PHP可以与Nginx或Apache组合使用,DataBase可以选择Mysql、Oracle、PostgreSQL等
一、硬件环境需求
对于最小化的安装环境,官方推荐的硬件配置如下表所示。
环境 | 平台 | CPU/内存 | 数据库 | 硬盘 | 监控主机数 |
小型 | CentOS | 2cpu/1Gb | Mysql、InnoDB | 普通 | 100 |
中型 | CentOS | 2cpu/2Gb | Mysql、InnoDB | 普通 | 500 |
大型 | Red Hat Enterprise Linux | 4cpu/8Gb | Mysql、InnoDB或PostgreSQL | raid10 SAS或SSD | 大于1000 |
超大型 | Red Hat Enterprise Linux | 8cpu/16Gb | Mysql、InnoDB或PostgreSQL | raid10 SAS或SSD | 大于10000 |
在整个Zabbix监控系统的搭建、维护中,磁盘I/O性能、数据库性能是系统良好运行的关键因素
二、磁盘容量需求
(1)历史数据的保存
NVPS是每秒处理数据的平均数量,假设有60000个监控项,刷新周期为60s,现在每秒需要处理的数据量就为60000/60=1000,也就是说每秒钟需要往数据库里面存储1000条数据,一条数据需要50字节,假设历史数据保留的周期为90天,需要占用的空间为:
历史数据大小=天数x一天二十四小时x一小时3600秒x每秒处理的数据量x50Bytes
例如,有60000个监控项,监控指标数据更新周期为60s,每秒需要处理的数据量为60000/60=1000(条),历史数据保存90天,则计算方法为:
(90 x 24 x 3600) x 1000 x 50 = 388 800 000 000(B) 约362GB
(2)趋势数据的保存
按照统计抽样得出的结论,在MYSQL中每一个监控项的趋势数据大约为128B。趋势数据所需的空间大小的计算公式为:
趋势数据大小所需的空间大小=监控项 x 一年365天x 每天24小时x 128B
假设有60000个监控项,保存一年的趋势数据,其需要的空间大小为:
6000 x 365 x 24 x 128 = 67 276 800 000B 约67GB
(3)事件数据的保存
每个时间都占用130B空间,假设保存事件数据一年,则需要的空间大小为:
1x24x 3600 x 365 x 130 = 4099 680 000B 约4GB
因此:60000个监控项,更新周期为60s,历史数据保存90天,趋势数据保存一年需要的磁盘空间为:
362 + 67 + 4 = 443(GB)
在真实生产环境中所需的磁盘空间会更多,因为数据库本身有日志文件,每个监控项数据的大小与理论值又会有偏差,因此磁盘总容量可能会超过500GB。
(4)计算公式总结
磁盘空间大计算方法:
选项 | 所需的磁盘空间(单位B) |
Zabbix配置数据 | 约10MB,取决监控主机的规模 |
历史数据 | days*(items/refresh rate)*24*3600*bytes items:监控项的数量 days:保存历史数据的天数 refresh rate:监控项的平均取值周期 bytes:单个值的大小,取决于数据库引擎,通常为50B |
趋势数据 | days* (items/3600)*24*3600*bytes items:监控项的数量 days:保存趋势数据的天数 bytes:取决于数据库引擎,通常为128B |
事件数据 | days*events*24*3600*bytes events:每秒事件数量 days:保存事件数据的天数 bytes:取决于数据库引擎,通常为130B |
所需磁盘的总空间 | 配置数据空间+历史数据空间+趋势数据空间+事件数据空间 |
三、软件环境需求
(1)操作系统版本需求
由于Zabbix核心组件是用C语言写的,所以理论上其可以支持Linux、Unix、Windows等常见的操作系统,但Zabbix-Server和Zabbix-Porxy均不支持Windows系统
注意
如果仅仅检测网络服务FTP SSH HTTP DNS LDAP,则无需安装任何客户端,即可支持获取监控数据。
(2)数据库版本需求
数据库版本要求如下表:
数据库名称 | 要求版本 | 备注信息 |
Mysql | 5.0.3及以上(建议5.6及以上版本) | 需要支持InnoDB存储引擎 |
Oracle | 10g及以上 | 无其他要求,可以在线使用 |
(3)Zabbix-Web所需的软件环境
Zabbix-Web前端所需的软件环境如下图:
如果使用编译的方式安装PHP,则请确保以上参数开启
(4)支持的浏览器
浏览器需要支持Cookies、JavaScript
(5)Zabbix-Server所需的软件环境
Zabbix-Server所需的软件环境如下表:
依赖的软件包 | 说明 |
libpcre | 支持正则表达式,选择PRCE V8.x以上版本 |
libevent | 支持IPMI监控 |
libpthread | 支持互斥锁和读写锁 |
OpenIPMI | 支持IPMI |
libssh2 | 如需要支持SSH,则需要1.0及以上版本 |
fping | 支持ICMP ping |
libcurl | 支持WEB监控、SMTP认证功能 |
libiksemel | 支持Jabber告警方式 |
net-snmp | 支持SNMP |
(6)时间同步需求
Zabbix-Server对时间的精准要求比较高,时间对数据的计算等都有影响,必须设置NTP自动同步时间