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

自己写了一个简单的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告警推送钉钉的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea无法导入主题jar包_总结IDEA开发的26个常用设置

IDEA 软件设置Settings页面Settings是对软件本身的一些属性进行配置,例如字体 主题 背景图 插件等。如何打开Settings设置页面Settings设置页面结构详解结构Appearance & Behavior 外观和行为Keymap 快捷键Editor 编辑器设置Plugins 插件Version Control 版本控…

Nginx的配置实例(反向代理准备工作)

目录 反向代理准备工作 1.实现效果 2.准备工作 (1)在 Linux 系统中安装 tomcat 服务器,使用默认端口号 (2)设置对外开放访问的 端口号 (3)测试:在 windows 系统中通过浏览器访…

交叉线和直通线各自用于什么场合?为什么?_【小麓讲堂】偏振光与LCD、OLED、3D、AR到底有什么关系?...

你了解自然界物体反射的光与电子显示设备发出的光有什么区别吗?你知道LCD、OLED、3D、AR的工作原理吗?你清楚偏振光与它们的关系吗?今天我们就跟大家聊一聊偏振光与多媒体显示设备的关系。人们常说眼睛是心灵的窗户,其实眼睛不单是…

php多个表中查找数据_Excel实战技巧74: 在工作表中创建搜索框来查找数据

学习Excel技术,关注微信公众号:excelperfect本文主要讲解如何创建一个外观漂亮的搜索框,通过它可以筛选数据并显示搜索结果。如下图1所示,在数据区域上方放置有一个文本框,用来输入要搜索的文本,其名称重命…

Nginx的配置实例(反向代理实例 )

目录 反向代理实例 1.实现效果 2.准备工作 (1)准备两个服务器,一个8080端口,一个 8081端口 (2)创建文件夹和测试页面 3.反向代理具体配置 (1)找到 nginx 配置文件&#xff0…

多因素方差分析中预测因素的筛多_用回归来理解方差分析(二):两因素方差分析...

1 两因素方差分析的形式多因素方差分析针对的是多因素完全随机设计。包含两个及以上的自变量,为便于讲解,本文以两因素方差分析为例。在一个两因素完全随机设计中,自变量包含,共个水平。自变量包含,共个水平。总共形成…

python in memory_使用 in_memory 工作空间的注意事项

来自:https://pro.arcgis.com/zh-cn/pro-app/tool-reference/appendices/using-the-in-memory-output-workspace.htm使用 in_memory 工作空间的注意事项ArcGIS 应用程序、ArcGIS Pro、ArcMap 和 ArcGIS Server 均具有基于内存的工作空间,即 in_memory 工…

Spring框架概述(快速入门)

Spring 框架概述: 目录 Spring 框架概述: 1.Spring 是轻量级的开源的 javaEE 框架 2.Spring 有两个核心部分:IOC 和 AOP: 3.Spirng 特点: 4.Spring 的下载 5.接下来,通过一个小例子来掌握spring入门…

初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...

作为小白,在学习Python的时候,必然会走一定的弯路,有人在弯路上走丢了,有人走出了弯路。我就是属于还未走出弯路的同学,所以我想谈谈我的Python学习之路。 01先了解一下什么是python‍? Python 是一种通用的…

工具用途_小工具大用途:万能扳手、开瓶器、开箱器,DIY16种用法,玩过吗

小工具大用途,用法1:轻松开瓶盖小工具大用途,用法2:一字螺丝刀,拧螺丝很轻松小工具大用途,用法3:十字螺丝刀,轻松拧螺丝小工具大用途,用法4:轻松撬罐头盖小工…

IOC容器(底层原理解读)

IOC的概念和原理 目录 IOC的概念和原理 1.什么是IOC (1)控制反转: (2)使用IOC的目的:降低耦合度 (3)IOC解耦过程图解 2.IOC的底层原理 3.IOC接口 (1&#xff09…

python怎么画图片 wafer map_Python wafer_map包_程序模块 - PyPI - Python中文网

晶圆图 绘制一张晶圆图。用于半导体加工和分析。 内容安装 用法键盘快捷键和鼠标用法rel"nofollow">键盘快捷键和鼠标用法 注意事项当前能力 更改日志 功能鼠标和键盘快捷键! 知道半M1-0302晶圆尺寸! 你可以改变颜色! 放大缩小&…

IOC操作Bean管理XML方式(创建对象和set注入属性)

目录 1.什么是 Bean 管理: (1)通过 Spring 创建对象 (2)通过 Spring 注入属性 2.IOC 操作 Bean 管理有两种方式: (1)基于 xml 配置文件方式实现 (1.1)基…

c# 结构体 4字节对齐_【专题4:平时遇到的问题】 之 【3.由结构体字节对齐引发的通信故障】...

希望本是无所谓有,无所谓无的,这正如脚下的路,其实地上本没有路,走的人多了,也便成了路....原创不易,文章会持续更新,感谢您的关注1.问题由来MCU给上位机发送的一帧数据中,总是多一个…

android 全局hook_【Hook】实现无清单启动Activity

引子Hook技术在android开发领域算是一项黑科技,那么一个新的概念进入视线,我们最关心的3个问题就是,它是什么,有什么用,怎么用本系列将由浅入深 手把手讲解这三大问题。本文是第三篇, 高级篇。前面两篇Hook…

IOC操作Bean管理XML方式(有参构造注入属性)

IOC操作Bean管理XML方式 目录 有参构造注入属性 (1)步骤(创建类,定义属性,创建属性对应的有参构造方法): (2)步骤:在Spring 的xml配置文件中进行配置 &a…

python3调用java_Python3-JPype调用Java代码

原博文 2019-12-31 10:54 − ## JPype调用Java代码 ### 安装所需要的库 python pip install JPype1-py3### 准备一个jar包 #### java工程目录 ![](https://img2018.cnblogs.com/blog/1895590/201912/18955... 相关推荐 2019-12-06 14:59 − 近期在Python中使用java语言的时候有…

IOC操作Bean管理XML方式(P名称空间注入)

P名称空间注入(用的不多,但是也是一种方式) 目录 P名称空间注入(用的不多,但是也是一种方式) (1)使用P名称空间注入,可以简化基于xml 配置方式 第一步:添…

textview 结束后释放_等待按键释放,你的代码如何写?

今天,还是一个问题,在QQ群(300384358)里有小伙伴一直在问一个问题,如上图。一个按键控制电机的转动,按键按下后,电机转动,按键释放,电机停止,再加一个按键按下时长的检测&#xff0c…

python中的demo_python中简单工厂实现demo

1 classBenBen:2 def __init__(self, money):3 """ 4 奔奔金融支付5 :param money:支付金额6 """ 7 self.money money8 9 defpay(self):10 print("收到奔奔金融支付金额{0}".format(self.money))11 12 13 classWeChat:14 def __init__…