运维利器python_运维利器:钉钉机器人脚本告警(Linux Python 篇)

写在前面的话

在前面的博客中已经具体提到了如何获取对的机器人的 Token等操作,不清楚的可以参考之前写的 【运维利器:钉钉机器人脚本告警(Linux Shell 篇)】这篇博客的前部分。

本文主要给出的 Python 脚本的实现,我记得网上很多脚本给的好像是 go 语言写的。

虽然现在 go 超级火,运维 docker 和 k8s 以及性能的原因在自动化运维上可能即将取代 Python。

但不可忽视,Python 写脚本还是挺不错的,且 Linux 自带 Python,可以省去很多麻烦!

闲话少说,直接上代码:

安装依赖

我用的 CentOS 7,自带的是 Python 2.7, 不清楚的可以使用命令查看:

python -V

其中存在两个问题,一个是自带的 Python 没有 pip,需要安装,二是没有 requests模块,安装方法如下:

【1】安装 pip:

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"python get-pip.py

【2】安装 requests 模块:

pip install requests

发送脚本

【1】脚本内容:我的脚本名称( SendDingMessage.py)

#!/usr/bin/python2#-*- coding: utf-8 -*-

importrequestsimportjsonimportsysimportos

headers= {'Content-Type': 'application/json;charset=utf-8'}

api_url= "xxxxxxxxxxxxxxxxxxxxxxx 这里是你的钉钉机器人 Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

defmsg(text, subject):

json_text={"actionCard": {"title": subject,"text": text,"hideAvatar": "0","btnOrientation": "0","btns": [

{"title": subject[:12],"actionURL": ""}

]

},"msgtype": "actionCard"}print(requests.post(api_url,json.dumps(json_text),headers=headers).content)if __name__ == '__main__':

text= sys.argv[1]

text= text.replace("\n", "\r")

subject= sys.argv[2]

msg(text, subject)

【2】测试发送:

python SendDingMessage.py 'test' 'hahahahah'

【3】效果图:

【4】Zabbix 配置告警媒介:

【5】告警效果:

小结

最近特别忙,快过年了,之前给自己定了很多小目标还没有实现呢,比如 VUE + DRF 学习,结果中途窜出来了 LayUI,Docker K8S 等等。

Zabbix 系列也没时间更新,因为个人对于排版要求很严,注定没法高产。

前段时间学了点 Bootstrap + JQuery,第一件事就是把这个博客园的主题自己重写了,然后现在在做自己的一个个人博客。

现在线上是以前没学前端时候的版本,前端代码稀烂,正在重构中。感兴趣的可以关注一下。

最后就是,博客园别忘了点个 推荐再走,给点动力也行啊!

最后的最后,又是右上角 QQ 扫码!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值