基于钉钉方式报警,网上普遍存在的是:

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消息类型实现钉钉报警,让感官更舒服相关推荐

  1. 持续集成之群聊机器人消息推送:钉钉 vs 企业微信

    企业微信和钉钉都有面向群的消息推送机器人,两者的使用非常相近,也有一些细节上的特性的区别,这篇文章将结合前面的使用示例进行总结. 使用方式 不同点 企业微信:先创建群,然后在群中添加机器人,可添加多个 ...

  2. 记一次钉钉群聊机器人的开发

    文章目录 一.需求描述 二.开发思路 三.开发步骤 (一)阅读开发文档 (二)创建机器人 (三)了解消息格式 (四)传参并调用 (五)其他 四.总结 一.需求描述 为实现更好的沟通,现需要实现以自定义 ...

  3. 超火的钉钉自定义机器人原来是这么设置的

    企业内部有较多系统支撑着公司的核心业务流程,譬如CRM系统.交易系统.监控报警系统等等.通过钉钉的自定义机器人,可以将这些系统事件同步到钉钉的聊天群 接入自定义机器人很简单,大概以下几步 点击群设置选 ...

  4. php 钉钉头像生成,从零开始打造专属钉钉机器人

    官方定义如下: 群机器人是钉钉群的高级扩展功能.群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步.目前,大部分机器人在添加后,还需要进行Webhook配置,才可正常使用(配置说明详见操 ...

  5. 从 0 到 1 使用 Python 开发一个钉钉群应答机器人

    很多时候,我们都希望计算机程序能够为我们自动化的处理一些学习.工作和生活上的任务,毕竟「偷懒」可是促进科技进步和社会发展的一大动力.基于这种需求,诞生了很多种自动化的工具,比如爬虫,自动地帮我们采集数 ...

  6. 企业版移动端钉钉对接

    企业版手机端钉钉对接: 作为后台我把钉钉理解成了一个特殊的浏览器. dingding文档https://open-doc.dingtalk.com/?spm=a219a.7629140.0.0.o6f ...

  7. H3 BPM钉钉接入配置

    1 注册企业钉钉账号 1.1 登录https://www.dingtalk.com注册钉钉企业账号   登录钉钉企业后台管理获取CorpID和CorpSecret 2 创建企业应用 2.1 通过钉钉企 ...

  8. Linux Zabbix——企业监控基于钉钉、企业微信实现自动化报警

    zabbix基于企业微信.钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便. 监控环境准备 ...

  9. 如何用WinCC发送报警消息至钉钉

    HwDingTalk是HwLib(慧兰博)技术团队开发的一款用于WinCC或者.Net的钉钉消息控件.它可以嵌入到WinCC画面中,通过简单的设置即可将重要报警信号发送到手机端或者PC端的钉钉上.Hw ...

最新文章

  1. mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?
  2. 选择文字就能选择复选框
  3. .NET Core IdentityServer4实战 第六章-Consent授权页
  4. 10.5 0819吉米牛逼
  5. linux确定刻录机目录,在Linux操作系统下使用DVD刻录机(转)
  6. [转载] python 函数返回多个值
  7. 区块链学习笔记:D04 区块链在各行业领域的应用(二)
  8. 正月十五元宵节各种设计师需要的PSD分层展板\晚会横幅
  9. Android 性能优化方法
  10. 从三级界面直接跳回一级调用方法
  11. linux 防火墙 80端口,Linux配置防火墙,开启80端口、3306端口
  12. 阵列信号处理——研究背景与现状
  13. 超级搜索术 总结篇2
  14. 两个正态总体均值差的置信区间
  15. 【分享】Gitee如何下载单个文件
  16. 【手把手带你Godot游戏开发】出道即巅峰,先做个盈利千万的小项目
  17. 【经验分享】研一ICer如何拿到海思数字IC实习offer
  18. 获取新浪微博cookie
  19. muduo 架构解析
  20. Win7下Netsh虚拟Wi-Fi

热门文章

  1. unity lookat导致物体颠倒怎么解决_Unity草地交互的实现
  2. spring学习--AOP五个通知
  3. 周二强新概念c语言答案,新编C语言程序设计(周二强版)课后习题练习4答案
  4. mysql传参为数组,将数组传递给MySQL存储例程
  5. python目录和文件的基本操作_python学习笔记(七)——文件和目录操作
  6. php 表单验证代码,php 表单验证实现代码
  7. php跳转方式带rere_PHP利用REFERER根居访问来地址进行页面跳转
  8. liunx服务器间拷贝文件,linux 不同服务器之间拷贝文件
  9. matlAB gui 变成c,matlab改变GUI和figure左上角图标的方法,并生成exe文件
  10. java单链表选票_Hackerrank Practice