系统版本: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编写钉钉自动监控报警脚本相关推荐

  1. python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序

    原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...

  2. python脚本案例-python+adb命令实现自动刷视频脚本案例

    python小白第一次发博客,自己自学了一下写了一个demo,可能语法啥的不够标准,毕竟没有真正学过python 主要用到的是 import os #os包用于运行cmd命令 adb shell #这 ...

  3. 教你用Python写一个京东自动下单抢购脚本(Python实现京东自动抢购)

    很多朋友都有网购抢购限量商品的经历,有时候蹲点抢怎么也抢不到,今天小编带你们学习怎么用Python写一个京东自动下单抢购脚本,以后再也不用拼手速拼网速啦,快来一起看看吧 1 问题背景 经过无数次抢购失 ...

  4. python 钉钉机器人发送图片_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  5. python 股票行情_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  6. 使用Python编写数独游戏自动出题程序

    数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. from random import shuffle, randrange def generate():     # ...

  7. 钉钉机器人关键词应答_Python结合钉钉实时自动监控股票行情,上班炒股再也不怕老板发现...

    最近全球股市开始回暖,之前清仓的股民现在又陆续开始建仓.股市交易时间,一般也是上班时间,频繁的查看股票软件不仅会影响工作效率,也容易被老板以为工作不饱和.所以,我们就借助python的强大功能,把提前 ...

  8. python 编写一段自动下载微信群的聊天记录中的图片并保存到本地的代码

    以下是一段简单的 Python 代码,可以自动下载微信群聊天记录中的图片并保存到本地: import requestsdef download_image(url, file_name):respon ...

  9. Python做手游自动刷图脚本,问道手游目前很火,此脚本应用泛滥!

    效果: 叙述: 所有玩刷副本类游戏的朋友都会觉得很枯燥,一次又一次的重复性工作甚至让许多朋友放弃了那款游戏.最近问道手游很火,网络上出现了许多自动刷道的脚本,但是这款例外,因为它是由脚本之王Pytho ...

  10. Linux中shell编程——编写shell脚本,实现功能:在用户输入年、月后自动打印出对应年月的日

    实验目的 理解shell程序的设计方法 掌握shell程序编辑.运行.调试方法与过程 实验内容 shell简单编程 实验过程 要求: 1.记录实验过程,对关键过程进行文字说明并附上操作截屏. 2.逻辑 ...

最新文章

  1. 普林斯顿三大读本,学数学必入!
  2. Nginx HttpMemcModule和直接访问memcached效率对比测试
  3. js进阶 12-1 jquery的鼠标事件有哪些
  4. java 字符串数组定义_「string数组」string 数组怎么定义 - seo实验室
  5. Python随笔-切片
  6. 红米k30 android版本,Redmi K30 Pro 推送 MIUI 12.2.1 稳定版:为安卓跨版本升级
  7. java -从小到大排序
  8. 作用域经典练习题(主要是这个图太大不能一起分享)
  9. python3正式发布时间_Python3 日期和时间
  10. sprintboot 发布
  11. 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
  12. sort()函数——C++
  13. 调试内核Ubuntu 搭建嵌入式开发环境-续
  14. mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
  15. CF1041A Heist
  16. 城市供水调度平台(Axure高保真原型)
  17. 开心盒子助手3.0版|开心盒子助手工具3.0电脑版
  18. 无线扩音器FCC认证CE认证需要满足那些要求
  19. 我在淘宝帮别人写代码,月入10万!
  20. via浏览器下载路径_via浏览器

热门文章

  1. Windows 禁用U盘
  2. 家里wifi网速越来越慢_家里网速变得很慢怎么排查原因
  3. 小米6无线显示无法连接服务器,小米手机:无法连接WiFi怎么解决?
  4. 电脑远程调试手机浏览器
  5. 国土空间用途管制制度构建的思考
  6. AtCoder Beginner Contest 158 E.Divisible Substring
  7. 三维地图前端arcgis_WebGIS简单实现一个区域炫酷的3D立体地图效果
  8. windows7蓝牙怎么打开_避开网络限制,通过蓝牙共享网络连接
  9. 本地Web服务器环境-Wampserver下载
  10. iOS 分享 第三方登录 Twitter 注册应用以及读写权限