简介:本文为Zabbix监控系统的中文使用手册,系统梳理了Zabbix的核心功能与操作流程,涵盖安装部署、基础配置、进阶监控技巧及故障排查方法,帮助用户快速掌握Zabbix的实战应用。
Zabbix作为一款开源的企业级监控解决方案,凭借其强大的数据采集能力、灵活的告警机制和可扩展的架构,广泛应用于IT基础设施、应用服务和网络设备的监控。本文旨在为中文用户提供一份系统化的使用手册,从基础安装到高级配置,覆盖Zabbix的核心功能与实战技巧,帮助用户快速上手并解决实际问题。
Zabbix由Server、Proxy、Agent和前端界面四部分组成:
关键点:Proxy适用于大规模分布式环境,可减少Server的I/O压力;Agent支持Linux、Windows等多平台,采集指标包括CPU、内存、磁盘、网络等。
Zabbix通过主机(Host)→监控项(Item)→触发器(Trigger)→动作(Action)的流程实现监控:
system.cpu.load)。示例:监控Nginx服务的响应时间,若超过2秒则告警。
监控项:net.tcp.service.perf[nginx,80]触发器:{Host:net.tcp.service.perf[nginx,80].last()}>2动作:发送邮件至运维团队
# 添加Zabbix官方仓库rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpmyum clean all# 安装Zabbix Server、前端和数据库yum install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts mariadb-server# 初始化数据库mysql -uroot -pCREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';FLUSH PRIVILEGES;# 导入初始数据zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix# 配置Zabbix Servervi /etc/zabbix/zabbix_server.confDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=password# 启动服务systemctl restart zabbix-server httpd mariadbsystemctl enable zabbix-server httpd mariadb
# Linux Agent安装yum install zabbix-agentvi /etc/zabbix/zabbix_agentd.confServer=192.168.1.100 # Zabbix Server IPServerActive=192.168.1.100Hostname=WebServer01 # 必须与前端配置一致systemctl restart zabbix-agentsystemctl enable zabbix-agent# Windows Agent安装# 下载Zabbix Agent安装包,安装时指定Server IP和Hostname
Admin/密码zabbix)。配置 → 主机组 → 创建主机组(如Production Servers)。添加主机:
Linux by Zabbix agent)。自定义监控项:
监控项 → 创建监控项。
名称:Disk / free类型:Zabbix agent键值:vfs.fs.size[/,free]单位:B信息类型:Numeric (unsigned)更新间隔:60s
创建触发器:
触发器 → 创建触发器。
名称:Disk / free less than 10%表达式:{WebServer01:vfs.fs.size[/,free].last()}/1024/1024/1024<10严重性:Warning
配置告警媒介:
管理 → 告警媒介类型 → 创建媒介类型(如邮件、Webhook)。
类型:EmailSMTP服务器:smtp.example.comSMTP端口:25SMTP邮箱:zabbix@example.com
设置动作:
配置 → 动作 → 创建动作。Problem。部署Proxy:
yum install zabbix-proxy-mysqlvi /etc/zabbix/zabbix_proxy.confServer=192.168.1.100ProxyMode=0DBHost=localhostDBName=zabbix_proxyDBUser=zabbix_proxyDBPassword=proxy_pass
前端配置:
管理 → Proxy → 创建Proxy。网络设备自动发现:
ICMP ping或SNMP发现规则。
名称:Local network discovery类型:ICMP pingIP范围:192.168.1.1-254更新间隔:1h
低级别发现(LLD):
用户参数(Agent配置):UserParameter=discover.disks,echo '{"data":[{"{#DISK}":"/"},{"{#DISK}":"/data"}]}'触发器原型:{HOST.HOST}:vfs.fs.size[{#DISK},free].last()<1073741824 # 1GB
数据库调优:
innodb_buffer_pool_size(建议为物理内存的50%-70%)。OPTIMIZE TABLE清理碎片。历史数据清理:
Housekeeper任务,保留最近30天的数据。
历史数据保留天数:30趋势数据保留天数:365
高并发场景优化:
Zabbix Server的多线程处理(StartPollers=10)。Zabbix Proxy分散采集压力。10050端口开放。
firewall-cmd --add-port=10050/tcp --permanentfirewall-cmd --reload
zabbix_agentd -t "system.cpu.load[all,avg1]"
tail -f /var/log/zabbix/zabbix_server.log
vi /etc/zabbix/zabbix_server.confCacheSize=64M # 默认128M,可根据主机数量调整
avg()或min()函数减少波动。
原表达式:{Host:system.cpu.load[all,avg1].last()}>5优化后:{Host:system.cpu.load[all,avg1].avg(5m)}>5
Zabbix的强大功能源于其灵活的架构和丰富的扩展接口。用户可通过以下方式进一步深入:
curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"host.create","params":{...}}' http://zabbix-server/api_jsonrpc.php)。本文提供的配置示例和优化建议可直接应用于生产环境,建议结合实际业务需求调整参数。通过系统化的监控,Zabbix可显著提升IT运维效率,降低故障风险。