基于markdown消息类型实现钉钉报警,让感官更舒服
基于钉钉方式报警,网上普遍存在的是:
1、报警脚本中 使用钉钉提供的 "text" 文本方式填充内容,报警内容均为黑白字体;
2、钉钉报警彩色显示内容,使用github上现成的二进制程序,配合xml文本,固定格式报警,程序有可能对zabbix版本有些缺陷;
基于markdown消息类型,可以实现字体彩色显示,并且报警格式配置更加灵活,更有利于个性化定制消息
成品报警图
钉钉报警各种文章配置大同小异,不再详细介绍,只将步骤写出,其他参考网络文章即可,着重会写出markdown类型配置。
后面用到的先在此说明:
zabbix版本:V3.4.6zabbix脚本路径:zabbix_server.conf 文件中 AlertScriptsPath 字段配置webhook 是什么,机器人支持的markdown语法是什么?
https://open-doc.dingtalk.com/docs/doc.htm?treeId=257&articleId=105735&docType=1
zabbix web配置
1、 Administrator -- media types 增加钉钉报警类型
2、Administrator-- users 建立报警用户
此处使用super user , 发送对象为 手机号
3、 configure -- action 添加报警动作 【重点说明:markdown 内容编辑在于此】
在 【options -- default messages】中写入markdown语法内容,用html语法可设置字体颜色,在;
此处对应脚本中要发送的内容,内容使用zabbix内置变量即可。
<font color=#FF0000 size=6 face="黑体">事故等级: {TRIGGER.SEVERITY} </font> ##### **发生时间**: {EVENT.DATE} {EVENT.TIME} ##### **机器**: {HOST.NAME} - {HOST.IP} **问题**: {TRIGGER.NAME} **报警值**: {ITEM.VALUE}
在 option details 中 send only to 选中 设置的钉钉报警 (详细设置参考网络文章,略)
同理,【recovery options -- default mesages】写入报警恢复时发送内容
**状态**: {TRIGGER.STATUS} **机器**: {HOST.NAME} - {HOST.IP} **恢复时间**: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} **问题**: {TRIGGER.NAME} **报警值**: {ITEM.VALUE}
以上是页面配置中针对markdown类型的语法实例,效果见文章开头,根据个人喜好DIY设置即可。
发送脚本基于网上的python脚本,自己做了一些修改 :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# https://www.aityp.com
## mobified by benson , remove config fileimport requests
import json
import sys
import os
import time
#import configparserheaders = {'Content-Type': 'application/json;charset=utf-8'}
time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())log_file = "/var/log/zabbix/zabbix_dingding.log"
api_url = "https://oapi.dingtalk.com/robot/send?access_token=bdd59ba55647c60ea9d63025c2af416fb9bd67d17e351430b0535d4ba55da2d2"def log(info):#注意权限,否则写不进去日志if os.path.isfile(log_file) == False:f = open(log_file, 'a+')f = open(log_file,'a+')f.write(info)f.close()def msg(text,user):json_text= {"msgtype": "markdown","markdown": {"title":"zabbix monitor","text": text},"at": {"atMobiles": [user],"isAtAll": True}}r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json()code = r["errcode"]if code == 0:log(time + ":消息发送成功 返回码:" + str(code) + "\n")else:log(time + ":消息发送失败 返回码:" + str(code) + "\n")exit(3)if __name__ == '__main__':text = sys.argv[3]user = sys.argv[1]msg(text,user)
转载于:https://blog.51cto.com/bensonzy/2293958
基于markdown消息类型实现钉钉报警,让感官更舒服相关推荐
- 持续集成之群聊机器人消息推送:钉钉 vs 企业微信
企业微信和钉钉都有面向群的消息推送机器人,两者的使用非常相近,也有一些细节上的特性的区别,这篇文章将结合前面的使用示例进行总结. 使用方式 不同点 企业微信:先创建群,然后在群中添加机器人,可添加多个 ...
- 记一次钉钉群聊机器人的开发
文章目录 一.需求描述 二.开发思路 三.开发步骤 (一)阅读开发文档 (二)创建机器人 (三)了解消息格式 (四)传参并调用 (五)其他 四.总结 一.需求描述 为实现更好的沟通,现需要实现以自定义 ...
- 超火的钉钉自定义机器人原来是这么设置的
企业内部有较多系统支撑着公司的核心业务流程,譬如CRM系统.交易系统.监控报警系统等等.通过钉钉的自定义机器人,可以将这些系统事件同步到钉钉的聊天群 接入自定义机器人很简单,大概以下几步 点击群设置选 ...
- php 钉钉头像生成,从零开始打造专属钉钉机器人
官方定义如下: 群机器人是钉钉群的高级扩展功能.群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步.目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用(配置说明详见操 ...
- 从 0 到 1 使用 Python 开发一个钉钉群应答机器人
很多时候,我们都希望计算机程序能够为我们自动化的处理一些学习.工作和生活上的任务,毕竟「偷懒」可是促进科技进步和社会发展的一大动力.基于这种需求,诞生了很多种自动化的工具,比如爬虫,自动地帮我们采集数 ...
- 企业版移动端钉钉对接
企业版手机端钉钉对接: 作为后台我把钉钉理解成了一个特殊的浏览器. dingding文档https://open-doc.dingtalk.com/?spm=a219a.7629140.0.0.o6f ...
- H3 BPM钉钉接入配置
1 注册企业钉钉账号 1.1 登录https://www.dingtalk.com注册钉钉企业账号 登录钉钉企业后台管理获取CorpID和CorpSecret 2 创建企业应用 2.1 通过钉钉企 ...
- Linux Zabbix——企业监控基于钉钉、企业微信实现自动化报警
zabbix基于企业微信.钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便. 监控环境准备 ...
- 如何用WinCC发送报警消息至钉钉
HwDingTalk是HwLib(慧兰博)技术团队开发的一款用于WinCC或者.Net的钉钉消息控件.它可以嵌入到WinCC画面中,通过简单的设置即可将重要报警信号发送到手机端或者PC端的钉钉上.Hw ...
最新文章
- mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?
- 选择文字就能选择复选框
- .NET Core IdentityServer4实战 第六章-Consent授权页
- 10.5 0819吉米牛逼
- linux确定刻录机目录,在Linux操作系统下使用DVD刻录机(转)
- [转载] python 函数返回多个值
- 区块链学习笔记:D04 区块链在各行业领域的应用(二)
- 正月十五元宵节各种设计师需要的PSD分层展板\晚会横幅
- Android 性能优化方法
- 从三级界面直接跳回一级调用方法
- linux 防火墙 80端口,Linux配置防火墙,开启80端口、3306端口
- 阵列信号处理——研究背景与现状
- 超级搜索术 总结篇2
- 两个正态总体均值差的置信区间
- 【分享】Gitee如何下载单个文件
- 【手把手带你Godot游戏开发】出道即巅峰,先做个盈利千万的小项目
- 【经验分享】研一ICer如何拿到海思数字IC实习offer
- 获取新浪微博cookie
- muduo 架构解析
- Win7下Netsh虚拟Wi-Fi
热门文章
- unity lookat导致物体颠倒怎么解决_Unity草地交互的实现
- spring学习--AOP五个通知
- 周二强新概念c语言答案,新编C语言程序设计(周二强版)课后习题练习4答案
- mysql传参为数组,将数组传递给MySQL存储例程
- python目录和文件的基本操作_python学习笔记(七)——文件和目录操作
- php 表单验证代码,php 表单验证实现代码
- php跳转方式带rere_PHP利用REFERER根居访问来地址进行页面跳转
- liunx服务器间拷贝文件,linux 不同服务器之间拷贝文件
- matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件
- java单链表选票_Hackerrank Practice