依据前面文章Zabbix 5.0 LTS URL 健康监测环境,实现企业微信(Webhook)自动发送告警信息。

一、创建企业微信机器人

  • 先在自己的企业微信群里创建一个机器人,并获取其 WebHook 地址。右击群聊天卡片,添加群机器人。

    获得一个类似下图的 WebHook 地址。注意,这个 WebHook 地址非常重要,请不要泄露。

    # key 的值是唯一的
    https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=b55ed8ad-6765-4e8b-827c-xxxxxxxxxx

二、创建媒介

步骤:配置 -- 报警媒介类型 -- 创建媒介类型 -- 添加

脚本内容(固定样式)

var Qiyeweixin = {
key: null, message: null,
msgtype: "markdown",
proxy: null, sendMessage: function () {
var params = {
msgtype: Qiyeweixin.msgtype,
markdown: {
content: Qiyeweixin.message,
},
},
data,
response,
request = new CurlHttpRequest(),
url =
"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=" +
Qiyeweixin.key; if (Qiyeweixin.proxy) {
request.setProxy(Qiyeweixin.proxy);
} request.AddHeader("Content-Type: application/json");
data = JSON.stringify(params); // Remove replace() function if you want to see the exposed key in the log file.
Zabbix.Log(
4,
"[Qiyeweixin Webhook] URL: " + url.replace(Qiyeweixin.key, "<BOT KEY>")
);
Zabbix.Log(4, "[Qiyeweixin Webhook] params: " + data);
response = request.Post(url, data);
Zabbix.Log(4, "[Qiyeweixin Webhook] HTTP code: " + request.Status()); try {
response = JSON.parse(response);
} catch (error) {
response = null;
} if (request.Status() !== 200 || response.errcode !== 0) {
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.Key === "undefined") {
throw 'Incorrect value is given for parameter "Key": parameter is missing';
} Qiyeweixin.key = params.Key; if (params.HTTPProxy) {
Qiyeweixin.proxy = params.HTTPProxy;
} Qiyeweixin.to = params.To;
Qiyeweixin.message = params.Subject + "\n" + params.Message;
Qiyeweixin.sendMessage(); return "OK";
} catch (error) {
Zabbix.Log(4, "[Qiyeweixin Webhook] notification failed: " + error);
throw "Sending failed: " + error + ".";
}

三、创建动作

步骤:配置 -- 动作 -- 新的触发条件 -- 添加

Custom message

故障信息:{TRIGGER.STATUS}

服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID} 恢复信息:{EVENT.NAME} 服务器: {HOST.NAME}发生:{EVENT.NAME}故障恢复!
告警主机: {HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID} 更新信息:{EVENT.NAME} 服务器: {HOST.NAME}发生:{EVENT.NAME}故障更新!
告警主机: {HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

四、配置用户

验证结果

Web场景-- 步骤 -- 故意写错URL触发告警

Zabbix 5.0 LTS 配置企业微信(Webhook)自动发送告警信息的更多相关文章

  1. Zabbix4.0报警配置-企业微信报警

    一:前期准备 1.1:企业号注册 https://qy.weixin.qq.com/  微信调用接口说明 http://qydev.weixin.qq.com/wiki/index.php?title ...

  2. Zabbix 3.0 配置企业微信报警(注册---测试)

    一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...

  3. Prometheus(五):Prometheus+Alertmanager 配置企业微信报警

    此处默认已安装Prometheus服务,服务地址:192.168.56.200  一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...

  4. Zabbix 5.0 LTS版本的安装小结

    Zabbix 5.0 LTS版本的安装小结   1:准备Zabbix的服务器. 这里可能需要一台或多台服务器,视需求和资源而定.也可以将Zabbix_Server.MySQL.Zabbix Web等安 ...

  5. 部署Zabbix 6.0 LTS

    Blog:博客园 个人 本部署文档适用于CentOS 8.X/RHEL 8.X/Anolis OS 8.X/AlmaLinux 8.X. Zabbix 6.0 LTS于2022年2月15日发布,本次大 ...

  6. Zabbix 3.0 配置企业微信报警(配置zabbix-web)

    一.添加报警媒体类型 Name:自定义 Type:选择script Scripts name:填写脚本名称 Script parameters:脚本参数 --corpid=XXX --corpsecr ...

  7. zabbix配置企业微信报警

    +++++++++++++++++++++++++++++++++++++++++ 1. 工作中最长使用的就是微信,普及,开源,而且免费!!! 2. 在企业微信中要记录的值: · 部门id · 企业i ...

  8. Zabbix 3.0 LTS安装配置

    关于Zabbix监控项类型的官网介绍: https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes zabbix ...

  9. CentOS 7.2安装zabbix 3.0 LTS

    1.zabbix简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供 ...

  10. python3.6-Yelp/elastalert0.2.1-elk7.2.0邮件加企业微信告警

    0.修改时区(前提条件已经安装好elk7.2) rm -f /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimetimed ...

随机推荐

  1. centos os7 和redhat 7 安装yum源失败的解决办法

    首先看我的报错 [Errno 14] curl#6 - "Could not resolve host: mirrors.aliyun.com; Unknown error" yu ...

  2. python中datetime的常用操作

    datetime是用于处理日期和时间的模块,一些常用的操作可通过提供的基本函数实现.引入模块--import datetime. 1.datetime转字符串--strftime()函数 有两种写法: ...

  3. vue组件 定义全局组件

    组件 (Component) 是 Vue.js 最强大的功能之一,它是html.css.js等的一个聚合体. 组件化 将一个具备完整功能的项目的一部分分割多处使用 加快项目的进度 可以进行项目的复用 ...

  4. 5 分钟小工具:使用 dive 分析 docker 镜像

    需求 拿到一个镜像之后,我想知道: 分层查看镜像里都有哪些文件 各层使用了什么命令构建的这个镜像 镜像里比较大的文件有哪些(可能需要优化) dive 工具介绍 dive 工具可以做这些分析.dive ...

  5. Idea克隆检出git项目

    1.我这里假设你已经安装好了Idea和Git环境 2. .

  6. 图片预加载需要token认证的地址处理

    1.添加函数修改img的属性: /** * * @param {*} idName 传入的id,获取改img的dom,添加相应的数学 */ export const proxyImg = (idNam ...

  7. python post or get请求demo

    # python post or get请求demo import requests; import json; headers={ "Content-Type":"ap ...

  8. 前端学习之nvm

    接手了新的项目 需要使用nodejs,但是版本又不同如何解决呢 如果自己下载配置环境变量也太复杂了 下载nvm https://nvm.uihtm.com/download.html 使用nvm 下载 ...

  9. Atcoder Beginner Contest 324 F Beautiful Path 题解-分数规划

    为了更好的阅读体验,请点击这里 分数规划小技巧:尽可能将式子写成存在某种取值,使得不等式成立的形式. 不然可能需要绕几个弯才能想出来. 题目链接 题目大意:给出一个 DAG,每条边有一个 \(b_i, ...

  10. 【VyOS-开源篇-3】- container for vyos 搭建 Halo 博客-vyos-开源篇

    文章说明:介绍在vyos软路由上配置container容器,vyos最新滚动版1.5已经支持在vyos命令行中启动docker容器,在vyos 官网介绍是说1.3版本之后就都有这个功能了,如果你的版本 ...