自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为markdown,有需要的可以自己修改markdown的格式及推送的值(zabbix宏)

环境如下,理论上zabbix版本不影响,可以看看官方宏定义是否有区别

python 3

zabbix 3.4.2

配置

配置钉钉自定义机器人

编写zabbix告警脚本并置于alertscripts路径下

[itservice@zabbix alertscripts]$ cat /usr/lib/zabbix/alertscripts/alert_for_zabbix_by_dingding.py

#!/usr/bin/env python3

# encoding: utf-8

# author: huangwj

# mail: huangwjwork@gmail.com

# bolg: huangwj.app

# csdn: http://blog.csdn.net/u010871982

# github: https://github.com/huangwjwork

# file: alert_for_zabbix_by_dingding.py

# time: 2018/5/11 14:31

'''

本程序由huangwjwork开发,一切最终解释权归于huangwjwork.

本程序为开源,只用于技术交流,只供开发者参考与学习.

不得用于违反法律以及未经许可不得用于商业.保留其追责权利.

本程序不涉及任何违法敏感因素,如有人拿程序改造成违法工具,将与本程序开发者无关.

勇于开源,请勿滥用.内部学习交流,请勿传播.违反者造成相关法律事故,自行承担刑事责任.

'''

import sys

import getopt

import requests

import json

import traceback

try:

opts,args = getopt.getopt(sys.argv[1:],shortopts='',longopts=['webhook_url=','webhook_title=','alert_message='])

for opt,value in opts:

if opt == '--webhook_url':

webhook_url = value

elif opt == '--webhook_title':

webhook_title = value

elif opt == '--alert_message':

alert_message = value

webhook_header = {

"Content-Type": "application/json",

"charset": "utf-8"

}

webhook_message = {

"msgtype": "markdown",

"markdown": {

"title": webhook_title,

"text": alert_message

}

}

sendData = json.dumps(webhook_message,indent=1)

requests.post(url=webhook_url,headers=webhook_header,data=sendData)

except:

traceback.print_exc(file=open('/tmp/alert_zabbix_dingding.log','w+'))

配置zabbix mediatype

webhook_url替换成钉钉机器人webhook URL

配置user

配置action

附上message

告警

## 故障

**主机名称:** {HOSTNAME1}

**告警名称:** {TRIGGER.NAME}

**告警级别:** {TRIGGER.SEVERITY}

**告警时间:** {EVENT.DATE} {EVENT.TIME}

**检查项:** {TRIGGER.KEY1}

**当前值:** {ITEM.LASTVALUE}

**IP地址:** {HOST.IP}

**事件ID:** {EVENT.ID}

恢复

## 恢复

**主机名称:** {HOSTNAME1}

**告警名称:** {TRIGGER.NAME}

**告警级别:** {TRIGGER.SEVERITY}

**告警时间:** {EVENT.DATE} {EVENT.TIME}

**恢复时间:** {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

**故障时长:** {EVENT.AGE}

**检查项:** {TRIGGER.KEY1}

**当前值:** {EVENT.RECOVERY.VALUE}

**IP地址:** {HOST.IP}

**事件ID:** {EVENT.ID}

以上这篇python3实现zabbix告警推送钉钉的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

python获取钉钉日志数据_python3实现zabbix告警推送钉钉的示例相关推荐

  1. python获取动态更新的数据_python3+beautifulsoup动态数据获取想要的内容

    这是我的代码: from bs4 import BeautifulSoup import requests url = "http://s8-static.jjwxc.net/getnove ...

  2. 使用Python获取股票单日成交数据

    本文主要介绍一个比较好的开源项目 Github:AKShare开源财经数据接口,该项目整合了各大财经网站的http接口:腾讯财经.新浪财经.网易财经.东财等....Github上介绍该项目是JetBr ...

  3. 可转债代码交流第二期:利用Python获取集思录数据(改)

    上期内容讲解了宁稳网数据获取的方法(用于初步计算未上市可转债价格),具体方法参考第一期:可转债代码交流第一期:利用Python获取宁稳网数据(包含基本的环境搭建与Python编辑器安装方法) 本人并非 ...

  4. python 获取东方财富网站的数据

    python 获取东方财富网站的数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/EastWealthWebsite ...

  5. 利用 Python 获取余额宝历史收益数据

    最近想做一个关于用一些指数基金与余额宝组成的简单 风险-无风险 投资组合的实验计算,发现通达信之类的行情软件并没有提供完整的余额宝收益信息,如通达信仅有年化收益率的数据,并没有万份收益的数据.因此考虑 ...

  6. Python获取丁香园疫情数据并解析json数据

    Python获取丁香园疫情数据并解析json数据 在利用pyecharts V1.x版本,使用Map对象进行制图时,对数据格式的要求比较高,如果数据格式不正确可能达不到我们预期的效果.在我的前一篇文章 ...

  7. Zabbix与ELK整合实现对安全日志数据的实时监控告警

    微信公众号:运维开发故事,作者:double冬 1 ELK与ZABBIX有什么关系? ELK大家应该比较熟悉了,zabbix应该也不陌生,那么将ELK和zabbix放到一起的话,可能大家就有疑问了?这 ...

  8. 钉钉机器人关键词应答_Gmail 邮件推送到钉钉群机器人(详细)教程|国内接收 Gmail 邮件...

    做这个功能费了我老大劲了,首先想到的还是利用现成的软件,尝试了一圈发现都不满意.然后不想重复造轮子,就搜索如何把 Gmail 推送到钉钉,结果只搜到了诸如 Python 如何调用 Gmail API. ...

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

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

最新文章

  1. 每天进步一点点——Linux
  2. 加载cv2调用摄像头_用Python获取摄像头并实时控制人脸
  3. java 最后的异常_java – 最后不要抛出堆栈溢出异常
  4. android6.0关机动画,安卓系统修改开机动画,关机动画
  5. Python 基础总结 6 张图 带你学习Python
  6. 系统业务逻辑书籍_新年福利 | 架构的“一小步”,业务的一大步
  7. JSon_零基础_005_将po(bean)对象转换为JSon格式的对象字符串,返回给界面
  8. 从零开始写个编译器吧 - tao 语言的文法定义(下)
  9. [Android]RapidFloatingActionButton框架正式出炉
  10. Python实现将一个长度为n的列表划分 ,每个子列表中包含m个元素
  11. php如何用if函数算出最大值,在Excel中根据条件用Max函数和IF函数实现求其他数据表的最大值...
  12. C# 使用RestSharp库实现POST请求
  13. 轻松安装IP地址位置查询工具nali
  14. Python语音合成小工具(PyQt5 + pyttsx3)
  15. 百度404.html,百度标准死链(404页面)官方文档全解析
  16. 跟着小马哥学系列之 Spring AOP(Pointcut 组件详解)
  17. www-authenticate
  18. 使用NMT和pmap解决JVM资源泄漏问题
  19. java桌面端开发为什么没就行起来,大部分人选qt,winform,electron?
  20. 计算机论文的摘要和关键词是什么意思,论文中的摘要和关键词是什么

热门文章

  1. Sprint2-3.0
  2. [改善Java代码]若有必要,使用变长数组
  3. 渲染上下文Rendering Context
  4. WP7技巧 扩展【共享...】按钮
  5. 1.php查询数据,查询数据 - ThinkPHP 5.1 完全开发手册
  6. 互联网是由多个计算机相互连接而成,计算机网络
  7. c语言求100以内整除13的最大,VB程序设计的一道题,找出100以内能被3整除的所有数之和,并把值保存在一维数组中...
  8. linux源码下载阿帕奇,Ubuntu 12.04下源码安装Apache
  9. 删除当前文件夹下特定名称文件
  10. 王爽 汇编语言第三版 第10章 call 和 ret 指令 以及 子程序设计