项目实践环境:
主机名
| IP
| 角色
| 操作系统
|
ZABBIX01
| 172.16.0.101
| ZABBIX_SERVER、APACHE、PHP
| rhel-server-6.1
|
ZABBIXDB01
| 172.16.0.102
| MYSQL
| rhel-server-6.1
|
注:为了减轻ZABBIX监控的负担,在项目环境中,建议大家将ZABBIX SERVER与数据库分开部署,不然随着监控指标的增大,会严重影响ZABBIX SERVER采集数据的性能;如果需要频繁调用API的话,那么建议APACHE与ZABBIX SERVER分开部署。
ZABBIX官网推荐部署资源规划:
场景
| 平台
| 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
|
注:个人建议如果硬件资源充足的话,还是在此配置上配置上适当增加资源
Zabbix支持操作系统平台:
Linux
IBM AIX
FreeBSD
NetBSD
OpenBSD
HP-UX
Mac OS X
Solaris
Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server2012 (只支持Zabbix agent)
数据库系统要求列表:
软件
| 版本
| 备注
| |
MySQL
| 5.0.3 或以后版本
| 必须为InnoDB引擎
| |
Oracle
| 10g 或以后版本
| | |
PostgreSQL
| 8.1或以后版本
| 为了获得更好的性能,建议使用不低于PostgreSQL 8.3版本
| |
|
SQLite
| 3.3.5 或以后版本
| | |
IBM DB2
| 9.7 或以后版本
| | |
前端要求:
软件
| 版本
|
Apache
| 1.3.12或以后版本
|
PHP
| 5.3.0或以后版本
|
其他组件要求:
组件名称
| 备注
|
OpenIPMI
| 如果需要使用IPMI监控时,则安装该组件
|
libssh2
| 如果需要使用SSH监控时,则安装该组件
|
Fping
| 使用ping判断监控的主机是否存活,一般选择安装
|
libcurl
| 如果需要监控WEB场景时,这安装该组件,一般选择安装
|
libiksemel
| 如果需要使用Jabber方式警报,这安装该组件
|
net-snmp
| 如果需要使用SNMP监控时,则安装该组件;SNMP常用于用于监控网络设备等硬件,所以一般选择安装该组件
|
数据库硬盘空间计算:
参数
| 所需磁盘空间公式 (字节)
| |
ZABBIX配置
| 固定值,一般小于10M
| |
历史数据
| 公式:保存天数*(监控项总数/刷新频率)*24*3600*50字节 说明: 监控项总数:监控系统中所有监控项的数量,可在WEB主页查看到该数值 保存天数:历史数据保留的天数,一般为7天 刷新频率:所有监控项的平均刷新频率 字节:保存一条历史记录所需的字节,数取决于数据库引擎,通常为50个字节。
| |
|
|
|
|
趋势数据
| 公式:保存天数*(监控项总数/3600)*24*3600*128字节 说明: 监控项总数:监控系统中所有监控项的数量,可在WEB主页查看到该数值 保存天数:趋势数据保留的天数,一般为一年即365天 字节:保存一条趋势数据所需的字节,数取决于数据库引擎,通常为128个字节。
| |
|
|
|
事件数据
| 公式:保存天数*事件个数*24*3600*130字节 说明: 事件个数: 每秒产生的事件个数。该值需要根据你监控的环境进行自行估算出大概值。 保存天数: 事件数据保留的天数,默认为7天 字节: 保存一条事件记录所需的字节,数取决于数据库引擎,通常为130个字节。
| |
|
|
|
故ZABBIX数据库硬盘空间=配置文件大小+历史数据+趋势数据+事件数据
注:对于硬盘空间的预算,我们在部署前是无法计算的,只能在前期项目部署时先申请适当的硬盘空间,到项目后期时才根据监控项的数目进行计算扩容,后面会写一遍文章关于磁盘扩容的操作。