一、自定义监控项
安装 zabbix-get 工具
yum install zabbix-get -y
在 Agent 配置文件中定义自定义 Key
# /etc/zabbix/zabbix_agentd.d/custom.conf
UserParameter=custom.disk.usage,df -h / | awk 'NR==2{print $5}' | tr -d '%'
重启 Agent 并验证
systemctl restart zabbix-agent
zabbix_get -s 127.0.0.1 -k custom.disk.usage
在 Zabbix Web 界面中:配置 → 模板 → 创建监控项 → 关联主机。
二、邮件告警配置
第一步:获取邮箱授权码
在邮箱设置中开启 SMTP/POP3 服务,获取授权码(不是登录密码)。
第二步:配置告警媒介
管理 → 报警媒介类型 → 创建媒介类型:
- 类型:Email
- SMTP 服务器:smtp.example.com
- SMTP 端口:465(SSL)或 587(TLS)
- 用户名:your@email.com
- 密码:授权码
第三步:配置告警动作
配置 → 动作 → 触发器动作 → 创建动作,设置触发条件和通知对象。
第四步:为用户添加邮件媒介
管理 → 用户 → 选择用户 → 报警媒介 → 添加邮件地址。
三、企业微信机器人告警
第一步:获取 Webhook URL
在企业微信群中添加机器人,复制 Webhook 地址。
第二步:创建告警脚本
#!/usr/bin/env python3
# /usr/local/zabbix/alertscripts/wecom_alert.py
import sys
import json
import requests
webhook_url = sys.argv[1]
subject = sys.argv[2]
message = sys.argv[3]
data = {
"msgtype": "text",
"text": {
"content": f"【Zabbix告警】\n{subject}\n{message}"
}
}
requests.post(webhook_url, json=data)
chmod +x /usr/local/zabbix/alertscripts/wecom_alert.py
第三步:配置媒介类型
管理 → 报警媒介类型 → 创建:
- 类型:脚本
- 脚本名称:wecom_alert.py
- 脚本参数:
{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}
四、钉钉告警配置
创建钉钉告警脚本
#!/usr/bin/env python3
# /usr/local/zabbix/alertscripts/dingtalk_alert.py
import sys
import json
import requests
webhook_url = sys.argv[1]
subject = sys.argv[2]
message = sys.argv[3]
data = {
"msgtype": "text",
"text": {
"content": f"Zabbix告警\n标题:{subject}\n内容:{message}"
}
}
requests.post(webhook_url, json=data)
配置方式与企业微信相同,将 Webhook URL 填入媒介类型的发送地址。
告警测试
配置完成后,在 Zabbix 中手动触发一个测试告警,验证各渠道是否正常收到通知。