zabbix6.4.0配置邮件及企微机器人群聊告警

一、邮件告警

根据公司邮箱自行配置,电子邮件、用户账号密码填自己的邮箱账号密码

动作本次使用的默认的,如果为了更加美观可自行修改。

二、企业微信机器人告警

首先在企微上创建群聊,之后添加群聊机器人

将地址复制,后面用

zabbix上新建webhook媒介

脚本内容如下:

复制代码
var Wechat = {
    token: null,
    to: null,
    message: null,
    parse_mode: null,
 
    sendMessage: function() {
        var params = {
            msgtype: "markdown",
            chat_id: Wechat.to,
            markdown: {
                content:Wechat.message
            },
            disable_web_page_preview: true,
            disable_notification: false
        },
        data,
        response,
        request = new HttpRequest(),
        url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=自己的机器人的Key'
 
        if (Wechat.parse_mode !== null) {
            params['parse_mode'] = Wechat.parse_mode;
        }
 
        request.addHeader('Content-Type: application/json');
        data = JSON.stringify(params);
 
        // Remove replace() function if you want to see the exposed token in the log file.
        Zabbix.log(4, '[Wechat Webhook] URL: ' + url.replace(Wechat.token, '<TOKEN>'));
        Zabbix.log(4, '[Wechat Webhook] params: ' + data);
        response = request.post(url, data);
        Zabbix.log(4, '[Wechat Webhook] HTTP code: ' + request.getStatus());
        Zabbix.log(4, '[Wechat Webhook] response: ' + response);
 
        try {
            response = JSON.parse(response);
        }
        catch (error) {
            response = null;
            Zabbix.log(4, '[Wechat Webhook] response parse error');
        }
 
        if (request.getStatus() !== 200 ||  response.errcode !== 0 || response.errmsg !== 'ok') {
            if (typeof response.errmsg === 'string') {
                throw response.errmsg;
            }
            else {
                throw 'Unknown error. Check debug log for more information.'
            }
        }
    }
}
 
try {
    var params = JSON.parse(value);
 
    if (typeof params.Token === 'undefined') {
        throw 'Incorrect value is given for parameter "Token": parameter is missing';
    }
 
    Wechat.token = params.Token;
 
    if (['Markdown', 'HTML', 'MarkdownV2'].indexOf(params.ParseMode) !== -1) {
        Wechat.parse_mode = params.ParseMode;
    }
 
    Wechat.to = params.To;
    Wechat.message = params.Subject + '\n' + params.Message;
    Wechat.sendMessage();
 
    return 'OK';
}
catch (error) {
    Zabbix.log(4, '[Wechat Webhook] notification failed: ' + error);
    throw 'Sending failed: ' + error + '.';
}

消息模板:

复制代码
告警:
## 【海目星监控平台告警信息❌】
------------------
##### <font color="#FF0000">【故障】{TRIGGER.NAME} </font>
------------------
##### <font color="#FF0000">【故障发生时间】</font>:{EVENT.DATE} {EVENT.TIME}
##### <font color="#FF0000">【告警级别】</font>:{TRIGGER.SEVERITY}
##### <font color="#FF0000">【故障前状态】</font>:{ITEM.LASTVALUE}
##### <font color="#FF0000">【故障主机IP】</font>:{HOST.IP}
##### <font color="#FF0000">【故障主机名】</font>:{HOST.NAME}
##### <font color="#FF0000">【故障时长】</font>:{EVENT.AGE}
##### <font color="#FF0000">【故障是否确认】</font>:{EVENT.ACK.STATUS}
-------------------
#####  <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>

恢复:
## 【海目星监控平台恢复信息✅】
------------------
##### <font color="#67C23A">【故障】{TRIGGER.NAME} 已经恢复 </font>
------------------
##### <font color="#02b340">【故障恢复时间】</font>:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
##### <font color="#02b340">【告警级别】</font>:{TRIGGER.SEVERITY}
##### <font color="#02b340">【故障前状态】</font>:{ITEM.LASTVALUE}
##### <font color="#02b340">【故障主机IP】</font>:{HOST.IP}
##### <font color="#02b340">【故障主机名】</font>:{HOST.NAME}
##### <font color="#02b340">【故障时长】</font>:{EVENT.AGE}
##### <font color="#02b340">【故障是否确认】</font>:{EVENT.ACK.STATUS}
------------------
#####  <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>

更新:
## 【Zabbix监控平台故障更新信息⚠】
------------------
##### <font color="#67C23A"> 【故障】{USER.FULLNAME} 已经确认故障原因 </font>
------------------
##### <font color="#FF0000">【故障确认时间】</font>:{ACK.DATE} {ACK.TIME}
##### <font color="#FF0000">【告警级别】</font>:{TRIGGER.SEVERITY} 
##### <font color="#FF0000">【故障前状态】</font>:{ITEM.LASTVALUE}
##### <font color="#FF0000">【故障主机IP】</font>:{HOST.IP}
##### <font color="#FF0000">【故障主机名】</font>:{HOST.NAME}
##### <font color="#FF0000">【故障时长】</font>:{EVENT.AGE}
##### <font color="#FF0000">【故障原因】</font>:{ACK.MESSAGE}
##### <font color="#FF0000">【故障是否确认】</font>:{EVENT.ACK.STATUS}✅
------------------
#####  <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>

保存后,可自行模拟故障告警,

前提是在用户设置-配置中先设置好报警媒介:

查看邮件和企微的告警信息

邮件:

企微:

相关推荐
企业智能研究1 小时前
企业如何落地企微私域智能客服来降本增效:从技术选型到实施落地的完整指南
大数据·人工智能·企业微信·智能客服
冰封之寂2 天前
Docker Compose 容器编排实战:从入门到 LNMP 环境部署-zabbix监控
docker·容器·zabbix
噗噗124 天前
企业微信通讯录同步大文件增量拉取与大规模数据处理策略
企业微信
肥胖小羊4 天前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
杨婷1235 天前
企业微信会话存档多少钱?2026 最新收费标准(含语音版价格)
企业微信
北漂燕郊杨哥8 天前
企业微信机器人 ↔ 扣子智能体 桥接服务程序WeCom-Coze Bridge
golang·机器人·企业微信·扣子·扣子智能体
正在走向自律8 天前
企业微信与DeepSeek大模型深度融合技术实践——智能消息、小程序及多媒体交互全方案
企业微信·小程序开发·deepseek大模型·多模态交互·智能消息·办公智能化
梦想的旅途29 天前
JavaScript 实现企业微信消息自动发送的技术实践
运维·javascript·自动化·企业微信
wechatbot8889 天前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
汪汪大队u10 天前
Zabbix 6.0 部署踩坑记:从启动失败到 Web 成功访问
前端·zabbix