一、自定义监控项

安装 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 中手动触发一个测试告警,验证各渠道是否正常收到通知。