linux 使用shell/python编写钉钉自动监控报警脚本
系统版本:centos7.9
python版本:3.6
目录:一、添加钉钉机器人
二、编写脚本
三、测试
一、添加钉钉机器人
1.1点击智能群助手
1.2 添加机器人,因我已创建,所以会显示一个运维报警。
1.3 添加一个机器人
1.4 选择webhook自定义
1.5 确认添加,我选择的是IP段,把服务器公网IP填进去就行,可以去看下左侧的说明文档。
1.6 创建好后保存好webhook链接
二、编写报警脚本,随便新建个*.py即可,该项目创建的为ding.py
2.1 编写py脚本
cd /root/
touch ding.py
vim ding.py
#######以下为py脚本内容#######
#!/usr/bin/python
# -*- coding: utf-8 -*import urllib
import urllib2
import json,re
import sys, shutil, os, string, datetime,timefilelog = sys.argv[1]
serverip = sys.argv[2] #来标识是那个服务器发送的警报def http_post( errmsg ):url = "这里填写刚刚保存的机器人webhook链接"values = {'msgtype': 'text'}content = {}content['content'] = serverip + errmsgvalues['text'] = contentheaders = {'Content-Type':'application/json;charset=UTF-8'}jdata = json.dumps(values)print jdatareq = urllib2.Request(url, jdata , headers)response = urllib2.urlopen(req)data = json.loads(response.read())errcode = data['errcode']print errcodereturn errcodedef senderror( filepath ):file = open(filepath)file.seek(0, os.SEEK_END)while 1:where = file.tell()line = file.readline()if not line:time.sleep(1)file.seek(where)else:print line,http_post(line)senderror( filelog )
2.2 里面有两个变量,第一个是日志路径,第二个是自定义的服务器名称。
filelog = sys.argv[1]
serverip = sys.argv[2]
2.3 现在我们写一个sh脚本来引用上面的py脚本,我把该脚本放在了/etc/rc.d/下,命名为ding.sh
cd /etc/rc.d/
touch ding.sh
vim ding.sh
#######以下为sh脚本内容#######
#!/bin/bash
nohup python /root/ding.py /日志路径/php_errors.log 生产A服务器php日志报警: &
nohup python /root/ding.py /日志路径/error.log 生产A服务器前端nginx日志报警: &
nohup python /root/ding.py /日志路径/api.error.log 生产A服务器后端nginx日志报警: &
2.4 可以看到上面使用了nohup来设置后台运行,并且绝对路径写了刚刚py脚本所在的位置,变量1写了日志绝对路径,变量2写了自定义发送到钉钉的后缀机器名称。
2.5 现在把该脚本设置开机自启动。
vim /etc/rc.d/rc.local
2.6 把以下内容添加到末尾
bash /etc/rc.d/ding.sh
2.7 现在把脚本添加执行权限,注意:默认rc.local不引用,需要添加执行权限才会开机引用。
chmod +x /root/ding.py
chmod +x /etc/rc.d/ding.sh
chmod +x /etc/rc.d/rc.local
三、测试
3.1 现在我们可以进行测试,有两种方式。
3.1.1、重启机器
3.1.2、直接运行ding.sh
因该机器为线上服务器,所以选择第二种方式进行测试
3.2 运行ding.sh
cd /etc/rc.d/
./ding.sh
直接回车就行
3.3 现在看下进程是否运行
ps aux |grep ding
可以看到脚本正常在运行。
3.4 现在可以手动写入一个日志查看钉钉是否正常报警。
cat >> /日志路径/error.log << EOF
>测试报警
>EOF
有问题可以评论,看到了会回复。
linux 使用shell/python编写钉钉自动监控报警脚本相关推荐
- python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序
原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...
- python脚本案例-python+adb命令实现自动刷视频脚本案例
python小白第一次发博客,自己自学了一下写了一个demo,可能语法啥的不够标准,毕竟没有真正学过python 主要用到的是 import os #os包用于运行cmd命令 adb shell #这 ...
- 教你用Python写一个京东自动下单抢购脚本(Python实现京东自动抢购)
很多朋友都有网购抢购限量商品的经历,有时候蹲点抢怎么也抢不到,今天小编带你们学习怎么用Python写一个京东自动下单抢购脚本,以后再也不用拼手速拼网速啦,快来一起看看吧 1 问题背景 经过无数次抢购失 ...
- python 钉钉机器人发送图片_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...
最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...
- python 股票行情_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...
最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...
- 使用Python编写数独游戏自动出题程序
数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. from random import shuffle, randrange def generate(): # ...
- 钉钉机器人关键词应答_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...
最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...
- python 编写一段自动下载微信群的聊天记录中的图片并保存到本地的代码
以下是一段简单的 Python 代码,可以自动下载微信群聊天记录中的图片并保存到本地: import requestsdef download_image(url, file_name):respon ...
- Python做手游自动刷图脚本,问道手游目前很火,此脚本应用泛滥!
效果: 叙述: 所有玩刷副本类游戏的朋友都会觉得很枯燥,一次又一次的重复性工作甚至让许多朋友放弃了那款游戏.最近问道手游很火,网络上出现了许多自动刷道的脚本,但是这款例外,因为它是由脚本之王Pytho ...
- Linux中shell编程——编写shell脚本,实现功能:在用户输入年、月后自动打印出对应年月的日
实验目的 理解shell程序的设计方法 掌握shell程序编辑.运行.调试方法与过程 实验内容 shell简单编程 实验过程 要求: 1.记录实验过程,对关键过程进行文字说明并附上操作截屏. 2.逻辑 ...
最新文章
- 普林斯顿三大读本,学数学必入!
- Nginx HttpMemcModule和直接访问memcached效率对比测试
- js进阶 12-1 jquery的鼠标事件有哪些
- java 字符串数组定义_「string数组」string 数组怎么定义 - seo实验室
- Python随笔-切片
- 红米k30 android版本,Redmi K30 Pro 推送 MIUI 12.2.1 稳定版:为安卓跨版本升级
- java -从小到大排序
- 作用域经典练习题(主要是这个图太大不能一起分享)
- python3正式发布时间_Python3 日期和时间
- sprintboot 发布
- 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
- sort()函数——C++
- 调试内核Ubuntu 搭建嵌入式开发环境-续
- mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
- CF1041A Heist
- 城市供水调度平台(Axure高保真原型)
- 开心盒子助手3.0版|开心盒子助手工具3.0电脑版
- 无线扩音器FCC认证CE认证需要满足那些要求
- 我在淘宝帮别人写代码,月入10万!
- via浏览器下载路径_via浏览器
热门文章
- Windows 禁用U盘
- 家里wifi网速越来越慢_家里网速变得很慢怎么排查原因
- 小米6无线显示无法连接服务器,小米手机:无法连接WiFi怎么解决?
- 电脑远程调试手机浏览器
- 国土空间用途管制制度构建的思考
- AtCoder Beginner Contest 158 E.Divisible Substring
- 三维地图前端arcgis_WebGIS简单实现一个区域炫酷的3D立体地图效果
- windows7蓝牙怎么打开_避开网络限制,通过蓝牙共享网络连接
- 本地Web服务器环境-Wampserver下载
- iOS 分享 第三方登录 Twitter 注册应用以及读写权限