Zabbix 监控告警配置完整指南
Zabbix是功能强大的企业级开源监控平台,支持服务器、网络设备、应用程序等多种监控目标。本文介绍Zabbix的核心配置,包括主机监控、触发器告警和通知渠道设置。
一、Zabbix架构概述
- Zabbix Server:核心服务,负责数据收集、处理和告警
- Zabbix Proxy:代理服务器,在分布式环境中减轻Server压力
- Zabbix Agent:安装在被监控主机上,采集系统指标
- Web界面:基于PHP的Web管理界面,用于配置和展示
- 数据库:MySQL/PostgreSQL存储配置和历史数据
二、Zabbix Server安装
# CentOS安装Zabbix 6.0 LTS rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent # 创建数据库 mysql -u root -p CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix_password'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; # 导入初始数据 zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix # 配置数据库密码(/etc/zabbix/zabbix_server.conf) DBPassword=zabbix_password systemctl enable --now zabbix-server zabbix-agent httpd php-fpm
三、添加监控主机
在被监控服务器上安装Zabbix Agent:
yum install -y zabbix-agent # /etc/zabbix/zabbix_agentd.conf Server=zabbix-server-ip # Zabbix Server IP ServerActive=zabbix-server-ip Hostname=web-server-01 # 主机名,需与Zabbix中配置一致 systemctl enable --now zabbix-agent
在Zabbix Web界面添加主机:Configuration → Hosts → Create host → 填写主机名和IP → 选择监控模板(Template OS Linux by Zabbix agent)→ 保存。
四、监控模板配置
Zabbix提供丰富的开箱即用模板,主要模板:
- Template OS Linux by Zabbix agent:Linux系统基础监控(CPU、内存、磁盘、网络)
- Template App MySQL by Zabbix agent:MySQL数据库监控
- Template App Nginx by Zabbix agent:Nginx服务监控
- Template App Redis by Zabbix agent 2:Redis监控
五、自定义监控项(Item)
# 在Agent配置中添加自定义UserParameter # /etc/zabbix/zabbix_agentd.d/custom.conf UserParameter=custom.queue.length,redis-cli llen myqueue UserParameter=custom.service.port[*],ss -tlnp | grep :$1 | wc -l # 在Zabbix Web界面添加Item # Configuration → Hosts → Items → Create item # Key: custom.queue.length # Type: Zabbix agent # Value type: Numeric(unsigned)
六、触发器(Trigger)配置
# 触发器表达式示例
# CPU使用率超过80%持续5分钟
{host:system.cpu.util.avg(5m)}>80
# 磁盘可用空间低于10%
{host:vfs.fs.size[/,pfree].last()}<10
# 进程不存在
{host:proc.num[nginx].last()}=0
# 自定义队列积压超过1000
{host:custom.queue.length.last()}>1000
七、告警通知配置
配置企业微信告警通知:
- Administration → Media types → Create media type
- 选择Webhook类型,填写企业微信机器人URL
- 配置告警模板(包含主机名、问题描述、严重程度等信息)
- 在用户配置中绑定告警媒介
- 配置告警动作(Action):触发哪些告警、通知哪些用户
八、总结
Zabbix凭借强大的功能和灵活的扩展性,成为企业级监控的首选工具。通过合理配置监控模板、触发器和告警动作,可以构建覆盖全栈的监控体系。建议从官方模板开始,根据业务需求逐步添加自定义监控项,持续完善监控覆盖面。