【python】调用钉钉机器人发起通知
有时候需要做个某些服务的状态监控,用钉钉机器人发通知挺方便的。可以用shell脚本配合crontab检测状态,检测到异常就调用python脚本发起告警。
python内容
此处用的python3,需要先安装requests模块。pip install requests -i https://mirrors.aliyun.com/pypi/simple
# filename: dingtalk.py
import requests
import json
import sys
def gaojing(data):
# 将消息提交给钉钉机器人
headers = {'Content-Type': 'application/json;charset=utf-8'}
# 注意替换钉钉群的机器人webhook
webhook = "https://oapi.dingtalk.com/robot/send?access_token=xxxx"
requests.post(url=webhook,data=json.dumps(data),headers=headers)
def get_data(text_content):
# 返回钉钉机器人所需的文本格式
text = {
"msgtype": "text",
"text": {
"content": text_content
},
}
# print(json.dumps(text))
return text
if __name__ == "__main__":
# 命令行第一个参数为告警内容
text_content = sys.argv[1]
data = get_data(text_content)
gaojing(data)
配合shell和crontab
假设有个java进程名为test.jar,监听1234端口
#!/usr/bin/env bash
# filename: get_java_status.sh
netstat -anp | grep -v LISTENING | grep LISTEN | grep 1234
if [ $(echo $?) -eq 0 ];then
exit 1
else
# 调用python脚本
python3 /home/scripts/dingtalk.py "test.jar服务异常,1234端口不存在"
fi
crontab每5分钟检测一次:
*/5 * * * * /home/scripts/get_java_status.sh
【python】调用钉钉机器人发起通知的更多相关文章
- 钉钉机器人-实现监控通知功能-python
1. 首先得创建有 一个 钉钉群.(因为只能发群通知) 2. 添加机器人,得到一个url: 3. 开始写Python脚本: # -*- coding: utf-8 -*- ""&q ...
- 用Python实现阿里钉钉机器人读取数据库内容自动发群通知
最近想把一些预警数据信息按照一定的要求自动发送到移动端APP,最终把目标放在了腾讯的微信和阿里的钉钉软件上,由于刚开始学习python,于是编程工具想用python来实现.微信使用群体最广,通过一天的 ...
- 通知神器——java调用钉钉群自定义机器人
创建群自定义机器人 在指定钉钉群(或者随便拉两个人建个群,然后把别人T出去)的群设置里选择 群机器人 -> 自定义,如图: 然后,添加机器人,设置名字,添加成功时如下图: 其中webhook非常 ...
- Python调用钉钉群机器人发送群消息
1.首先需要一个钉钉群,群才有机器人 2.群设置->智能群助手->添加机器人->自定义机器人 3.添加自定义机器人,配置如下:给机器人命名,选择加签.保存机器人的秘钥.Webhook ...
- Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)
T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提 ...
- 用python写一个预警机器人(支持微信和钉钉)
背景 线上的系统在运行中,发生故障时怎么及时的通过手机通知到相关人员?当然这是个很简单的需求,现有的方法有很多,例如: 如果我们用的云产品,那么一般都会有配套对应的监控预警功能,根据需要配置一下即可, ...
- 使用python对mysql主从进行监控,并调用钉钉发送报警信息
1.编写python的监控脚本 A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常 B.进行两个状态值的判断 C.进行调取钉钉机器人,发送消息 2.设置定时任务进行脚本运行 cro ...
- python监控服务器应用日志,推送钉钉机器人,实时关注日志异常
生产环境多台服务器上部署了多个应用,日志出现报错时,无法及时反馈到开发人员.部署一个大型的运维监控应用,不但耗资源,而且配置也不简单. 简简单单写个python脚本来监控服务器日志就简单多了,废话不多 ...
- Python 巡检接入钉钉机器人
前段时间,为了快速实现巡检服务器设备的健康状态,我简单的写了一个巡检工具,该工具已经可以满足我的大部分需求了,不过,每次都要自己手动去点击巡检才能知道今天设备的状态,由于每天巡检严重影响我学习逆向技术 ...
- 使用python实现钉钉告警通知功能
前言:日常工作中告警通知是必不可少的,一般会使用邮件.钉钉.企业微信等,今天分享一下使用python实现钉钉告警 一. 钉钉机器人创建 登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群 ...
随机推荐
- 基于ORB-SLAM3库搭建SLAM系统
参考资料 ORB-SLAM3配置及安装教程 ORB-SLAM3配置安装及运行 环境配置 Win 11pro VMware 17Pro Ubuntu 18.04 Eigen3 Pangolin Open ...
- 2023-01-06:给定一个只由小写字母组成的字符串str,长度为N, 给定一个只由0、1组成的数组arr,长度为N, arr[i] == 0表示str中i位置的字符不许修改, arr[i] ==
2023-01-06:给定一个只由小写字母组成的字符串str,长度为N, 给定一个只由0.1组成的数组arr,长度为N, arr[i]等于 0 表示str中i位置的字符不许修改, arr[i] 等于 ...
- 2021-06-28:最接近目标值的子序列和。给你一个整数数组 nums 和一个目标值 goal 。你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal 。也就是说,如果子序列元素和
2021-06-28:最接近目标值的子序列和.给你一个整数数组 nums 和一个目标值 goal .你需要从 nums 中选出一个子序列,使子序列元素总和最接近 goal .也就是说,如果子序列元素和 ...
- 【GiraKoo】常用编码的对比(ASCII,GB2312,GBK,GB18030,UCS,Unicode)
常用编码的对比(ASCII,GB2312,GBK,GB18030,UCS,Unicode) 在程序开发中,文字编码一直扮演着人畜无害,却背后捅一刀的角色. 可能在源代码文件中,注释莫名其妙地变成了乱码 ...
- EL表达式访问JavaBean
前景提要 刚才有个朋友问我,赵大哥这个实验怎么做?我说哪个实验,给我发了几张截图.我一看,嗷,原来是今天,有个Java实验啊,他说大哥,能不能教教我,我说可以.我一说 他 啪的就站起来了, 很快啊 , ...
- 如何通过Java代码将 PDF文档转为 HTML格式
虽然PDF文件适合用于打印和发布,但不适合所有类型的文档.例如,包含复杂图表和图形的文档可能无法在PDF中呈现得很好.但是HTML文件可以在任何可运行浏览器的计算机上进行阅读并显示.并且HTML还具有 ...
- RabbitMQ系列-概念及安装
1. 消息队列 消息队列是指利用队列这种数据结构进行消息发送.缓存.接收,使得进程间能相互通信,是点对点的通信 而消息代理是对消息队列的扩展,支持对消息的路由,是发布-订阅模式的通信,消息的发送者并不 ...
- weex create test-app Error: Cannot find module '../package.json'
weex create 报错 D:\YLKJPro>weex create test-app Error: Cannot find module '../package.json' at Fun ...
- docker升级gitlab
昨天在家部署了gitlab,版本居然是15.10,公司版本却是14.6,升级一波. 官方文档: https://docs.gitlab.com/ee/update/#upgrading-without ...
- OneForAll下载安装以及环境配置
python-3.9.7-amd64 OneForAll-master python安装以及插件安装 首先下载python解压到电脑c盘在c盘中创建一个工具文件夹,然后下载OneForAll-mast ...