zabbix 6.0 使用 JavaScript 发出钉钉告警的方法

目录
  • 背景
  • 申请钉钉机器人
  • Zabbix 6.0 安装
  • 配置钉钉告警
    • 报警媒介类型
    • 用户
    • 动作
    • 告警展示

背景

听说 Zabbix 6.0 出 LTS 版本了,赶紧试试。
同时从 Zabbix 4.4 开始支持使用自定义的 JavaScript 代码来配置钉钉告警了,不用跑到服务器上去放一个Python脚本设置一大堆权限了,说干就干。

申请钉钉机器人

略过
注意关键字要和告警模板匹配

Zabbix 6.0 安装

略过

配置钉钉告警

钉钉机器人 access_token 为:
https://oapi.dingtalk.com/robot/send?access_token=123456

报警媒介类型

管理 --> 报警媒介类型 --> 创建媒体类型

类型选 Webhook
参数:

名称 备注
access_token 123456 钉钉机器人access_token= 后面的字符串
message {ALERT.MESSAGE}  
subject {ALERT.SUBJECT}

脚本:

try {
    Zabbix.Log(4, 'params= '+value);
    params = JSON.parse(value);
    req = new CurlHttpRequest();
    timest = Date.now()
    data = {};
    result = {};
    req.AddHeader('Content-Type: application/json');
    data.msgtype = "markdown";
    // 对应 message参数
    data.markdown = {"title" : params.subject, "text" : params.message.replace(/\\n/g, "\n").replace(/awesometimestamp/g, timest)};
    Zabbix.Log(4, 'markdown= '+JSON.stringify(data.markdown));
    // 对应 user参数
    data.at = {"atMobiles": [], "isAtAll": "false"};
    // 钉钉机器人
    resp = req.Post('https://oapi.dingtalk.com/robot/send?access_token=' + params.access_token,
        JSON.stringify(data)
    );
} catch (error) {
}
return JSON.stringify(result);

然后到消息模板

告警模板

#### <font face='微软雅黑' color=#FF0000>xx故障告警</font> \n
> 告警时间:{EVENT.DATE} {EVENT.TIME} \n
> 告警名称: {EVENT.NAME} \n
> 告警主机: {HOST.NAME} \n
> 告警级别: {EVENT.SEVERITY} \n

恢复模板

#### <font face='微软雅黑' color=#00FF00>xx告警恢复</font> \n
> 告警恢复时间: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} \n
> 告警信息: {EVENT.NAME} \n
> 告警持续时间: {EVENT.DURATION} \n
> 告警主机: {HOST.NAME} \n
> 告警级别: {EVENT.SEVERITY} \n

用户

管理 --> 用户

动作

配置 --> 动作 --> Trigger actions
创建动作

告警展示

故障是红色的,恢复是绿色的。

到此这篇关于zabbix 6.0 使用 JavaScript 发出钉钉告警的文章就介绍到这了,更多相关zabbix 钉钉告警内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Zabbix 配置钉钉告警功能的实现代码

    需求 Zabbix配置钉钉告警和Prometheus配置钉钉告警类似.只不过Zabbix通过钉钉告警是通过Python脚本实现.而Prometheus是通过钉钉的二进制包实现. 钉钉的设置可以参看我的另外一篇博文(Prometheus 配置钉钉告警): https://knight.blog.csdn.net/article/details/105583741 我们现在主要来讲解Zabbix的设置实现 钉钉Webhook代码实现 vim /usr/local/zabbix/share/zabbi

  • zabbix 6.0 使用 JavaScript 发出钉钉告警的方法

    目录 背景 申请钉钉机器人 Zabbix 6.0 安装 配置钉钉告警 报警媒介类型 用户 动作 告警展示 背景 听说 Zabbix 6.0 出 LTS 版本了,赶紧试试.同时从 Zabbix 4.4 开始支持使用自定义的 JavaScript 代码来配置钉钉告警了,不用跑到服务器上去放一个Python脚本设置一大堆权限了,说干就干. 申请钉钉机器人 略过注意关键字要和告警模板匹配 Zabbix 6.0 安装 略过 配置钉钉告警 钉钉机器人 access_token 为:https://oapi.

  • Zabbix配置钉钉的带图片报警功能

    实现思路: 首先报警信息里要有itemid,这是前提,根据信息里传入的参数使用正则匹配到itemid构建一个session会话,或者使用cookie来进行登录,根据itemid去请求图片,并将获取到的图片保存到本地,由于markdown的图片链接需要被访问到,我的zabbix是在内网中,所以需要将图片传到图床或者传到一个具有公网IP的web服务器,我这里传到了我的个人服务器将报警信息转换成markdown语法格式构造请求利用钉钉的webhook发送消息设置钉钉机器人 钉钉机器人需要进行安全设置,

  • Python钉钉报警及Zabbix集成钉钉报警的示例代码

    钉钉报警设置 创建群机器人 接口地址 发送短消息 发送普通消息 import requests import json url = 'https://oapi.dingtalk.com/robot/send?access_token=71638980426c030' headers = { "Content-Type": "application/json", "Chartset": "utf-8" } # 要发送的文本是js

  • python3实现zabbix告警推送钉钉的示例

    自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为markdown,有需要的可以自己修改markdown的格式及推送的值(zabbix宏) 环境如下,理论上zabbix版本不影响,可以看看官方宏定义是否有区别 python 3 zabbix 3.4.2 zabbix宏官方文档:https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location 配置 配置钉钉自

  • 使用java实现“钉钉微应用免登进入某H5系统首页“功能”

    一.前言 哈哈,这是我的第一篇博客. 先说一下这个小功能的具体场景: 用户登录钉钉app,点击微应用,获取当前用户的信息,与H5系统的数据库的用户信息对比,如果存在该用户,则点击后直接进入H5系统的首页,否则显示"您无权限". 补充:又加了一个小需求,就是免登成功,会给该用户发条消息 我是参考钉钉开发文档实现的这个小功能,文档地址:https://ding-doc.dingtalk.com/doc#/serverapi2/clotub 二.准备工作 需要创建一个微应用:https://

  • 浅谈Python 钉钉报警必备知识系统讲解

    本章所讲内容: 1.钉钉报警设置 2.钉钉报警脚本运行. 1.钉钉报警设置 钉钉,关于webhook的报警需求,钉钉报警也是我们在公司中常见的报警系统,在这里主要是结合zabbix二次开发使用,来达到完美报警的使用. 1.1.钉钉报警第一步,创建群机器人 接口地址: https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 文

  • 基于NodeJS开发钉钉回调接口实现AES-CBC加解密

    钉钉小程序后台接收钉钉开放平台的回调比较重要,比如通讯录变动的回调,审批流程的回调都是在业务上十分需要的.回调接口时打通钉钉平台和内部系统的重要渠道. 但是给回调的接口增加了一些障碍,它需要支持回调的服务器的接口支持AES-CBC加解密.不然无法成功注册或解析内容. 钉钉官方文档中给出了JAVA,PHP,C#的后台SDK和demo,但是却没有Node服务器的代码支持,这让占有率很高的node服务器非常尴尬,难道node就不能作为钉钉平台的回调服务器么 好在钉钉已经开放了其加密算法,可以通过加密流

  • uniapp实现钉钉扫码登录示例代码

    由于uniapp暂无钉钉授权登录所以本文将钉钉扫码登录作为网页嵌入uniapp,最终实现钉钉扫码登录app 1. 用H5调起钉钉扫码登录 钉钉在网页端的扫码登录可参考钉钉文档:扫码登录第三方网站 - 钉钉开放平台 (dingtalk.com) // 钉钉扫码登录 dingLoginFn() { let dingData = { appid: OUT_LINK_CONFIG.dingAppid, state: "STATE", url: encodeURIComponent('登录后的回

  • nodejs 实现钉钉ISV接入的加密解密方法

    这是我开发Worktile钉钉版本的时候遇到的当时感觉比较难的地方,现在写下来方法供大家学习交流 解密方法 exports.decryptMsg = function (text) { var aes_msg_buffer = new Buffer(text, 'base64'); var key = new Buffer(aes_key + "=", 'base64'); var iv = key.slice(0, 16); var decipher = crypto.createD

随机推荐