python之钉钉机器人zabbix报警
转自:https://blog.51cto.com/m51cto/2051945
首先在钉钉群聊里添加一个自定义的机器人

并复制webhook的内容
https://oapi.dingtalk.com/robot/send?access_token=37e23308d1b84eb4ac34566e03c4c4e74b7eedecbcc002exxxxxxxxxxxxxxx
创建脚本
可以直接克隆我的git
git clone https://github.com/donxan/zabbix.git
在zabbix服务端的alertscripts目录下新建一个python脚本,内容:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: aiker@gdedu.ml
# My blog http://m51cto.51cto.blog.com
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=37e23308d1b84eb4ac34566e03c4c4e74bxxxxxxxxxxxxxx"
def msg(text):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
"13xxxxxxx80"
],
"isAtAll": False
},
"text": {
"content": text
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
保存并设置权限;
chmod +x dingdingrobot.py
python使用的是python2
手动调试脚本:
python dingdingrobot.py 123

或者
./dingdingrobot.py 123

创建报警媒介

绑定到用户

创建动作



内容如下:
服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!{告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}当前状态:{TRIGGER.STATUS}告警信息:{TRIGGER.NAME}告警时间:{EVENT.DATE} {EVENT.TIME}事件ID:{EVENT.ID}}服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!{告警主机:{HOST.NAME}告警地址:{HOST.IP}监控项目:{ITEM.NAME}监控取值:{ITEM.LASTVALUE}告警等级:{TRIGGER.SEVERITY}当前状态:{TRIGGER.STATUS}告警信息:{TRIGGER.NAME}告警时间:{EVENT.DATE} {EVENT.TIME}恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}持续时间:{EVENT.AGE}事件ID:{EVENT.ID}}服务器:{HOST.NAME}: 报警确认{确认人:{USER.FULLNAME} 时间:{ACK.DATE} {ACK.TIME} 确认信息如下:"{ACK.MESSAGE}"问题服务器IP:{HOSTNAME1}问题ID:{EVENT.ID}当前的问题是: {TRIGGER.NAME}}依次对恢复和确认操作设置


钉钉收到消息:

python之钉钉机器人zabbix报警的更多相关文章
- 钉钉机器人zabbix报警
首先在钉钉群聊里添加一个自定义的机器人 并复制webhook的内容 https://oapi.dingtalk.com/robot/send?access_token=37e23308d1b84eb4 ...
- Zabbix-4.0-设置钉钉报警脚本
问题:当服务器发生报错时,有一个信息能实现自动发送到我的手机或者应用上,以达到对服务器的实时的监控与处理.邮件与短信不能满足实时性,于是想到了钉钉的通知. 思路:在钉钉里面建一个群,群里面拉个机器人. ...
- 钉钉报警-prometheus-alertmanager
alertmanager alertmanager可以放在远程服务器上 报警机制 在 prometheus 中定义你的监控规则,即配置一个触发器,某个值超过了设置的阈值就触发告警, prometheu ...
- zabbix 配合钉钉群机器人(webhook) 报警
首先建钉钉群,添加一个自定义机器人拿到webhook zabbix添加一个报警媒介 搞一个shell脚本来启动Python脚本(直接用zabbix调Python脚本不行,不知道什么原因) vim di ...
- zabbix利用python脚本发送钉钉报警
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = ...
- Python钉钉报警及Zabbix集成钉钉报警
钉钉报警设置 创建群机器人 11111 接口地址 发送短消息 发送普通消息 import requests import json url = 'https://oapi.dingtalk.com/r ...
- Zabbix钉钉小机器人报警
1.下载钉钉所需要的脚本golang-zabbix-robot-64,浏览器访问https://www.appgao.com/files/192.html: 图一 脚本下载 2.将脚本路径添加到 ...
- 【原】python 检查网站访问是否超时,并用钉钉机器人报警
#!/usr/bin/env python import requests import json import logging webhook="上面创建钉钉机器人的webhook地址&q ...
- zabbix钉钉报警
我们在钉钉上建立群聊,然后在群聊上添加钉钉机器人: 编写,脚本需要放在zabbix 的alertscripts目录下(如果不知道该目录的位置,可以使用find命令查找) find / -iname a ...
随机推荐
- Alpha版本2发布
0.日常开头 这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <https://www.cnblogs.com/harry240/p/11524162.html> 团 ...
- qt creator的使用总结
每一个不曾起舞的日子,都是对生命的辜负----------尼采 1. HELP功能: 1)有时点击"HELP"之后,对应的页面里没有左侧的搜索栏.比较理想的状态是将左侧导航栏划分 ...
- 04 Mybatis 框架的环境搭建及入门案例
1.搭建 Mybatis 开发环境 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 SqlMapConifg. ...
- 【Qt开发】菜单栏,工具栏和状态栏
概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Desig ...
- day29——socket套接字(少量不全)
day29 socket套接字 socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统. 为什么存在socket抽象层? 如果直接与操 ...
- xorm -Exist方法实例
判断某个记录是否存在可以使用Exist, 相比Get,Exist性能更好. package main import ( "fmt" _ "github.com/go-sq ...
- Scala 函数入门之默认参数和带名参数
Scala 默认参数 在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数. def sayHello(firstName: ...
- AS3灰色图像
一开始觉得AS3的滤镜很难使用,尤其是那些矩阵,让人望而生畏.最近写一个聊天模块,要用到离线状态下的灰色头像,于是认真研究了ColorMatrixFilter,发现其实也没有那么难.所谓的矩阵其实就是 ...
- 用pyinstaller打包一个exe程序
打包单个exe文件 -F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹. pyinstaller -F TestDataGen.py 打出的桌面程序去掉命令行黑框 -w 选项可以打桌 ...
- 日志之slf4j和logback日志系统(二)
这篇文章我们讲一下,如何使用slf4j和logback组合来搭建一套日志系统. 介绍 如果我们的系统是新系统,也就是之前没有引入其他的日志工具,那么只需要引入,如果之前已经用了common-loggi ...
