Zabbix学习笔记03–zabbix软硬件环境需求

  linux干货

安装环境概述

【Zabbix学习笔记】三、zabbix软硬件环境需求-Cloud Computing

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前端所需的软件环境如下图:

【Zabbix学习笔记】三、zabbix软硬件环境需求-Cloud Computing

如果使用编译的方式安装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自动同步时间