python监控钉钉群消息_使用python对mysql主从进行监控,并调用钉钉发送报警信息...

1.编写python的监控脚本

A.通过获取mysql库中的状态值来判断这个mysql主从状态是否正常

B.进行两个状态值的判断

C.进行调取钉钉机器人,发送消息

2.设置定时任务进行脚本运行

crontab -e    添加定时任务

*/5 * * * * source ~/.bashrc && /usr/bin/python /lvdata/send_msg.py

给脚本执行权限  chmod +x /lvdata/send_msg.py

这里出现一个问题,就是手工能执行脚本,但定时任务时不能执行python脚本,参考解决方法:

1.将脚本中的中文进行删除或更改为英文

2.在对日志监控查看时,脚本确以执行,但没有达到预期的效果

tail -f /var/log/cron

Sep  4 18:25:01 VM_DATA_ANALYSIS_DB_38 CROND[20870]: (root) CMD (/usr/bin/python /lvdata/send_msg.py)

然后将定时任务进行修改 */5 * * * * source ~/.bashrc && /usr/bin/python /lvdata/send_msg.py,再次查看,能够正常运行

整个脚本

#!/usr/bin/python

import os

import json

import urllib2

def get_fljr189_status():

#获取SQL_Running 的状态值

SQL=os.popen("mysql -uroot -p密码-S /tmp/mysql.sock \"-e show slave '自定义名称' status\G\"|grep \"Slave_SQL_Running\"")

#获取IO_Running 的状态值

IO=os.popen("mysql -uroot -p密码 -S /tmp/mysql.sock \"-e show slave '自定义名称' status\G\"|grep \"Slave_IO_Running\"")

#获取IP地址

IP=os.popen("mysql -uroot -p密码 -S /tmp/mysql.sock \"-e show slave '自定义名称' status\G\"|grep \"Master_Host\"")

#对SQL_Running 和 IO_Running状态值进行判断

sql_status=cmp(SQL.read().split(":")[1].strip(),"Yes")

io_status=cmp(IO.read().split(":")[1].strip(),"Yes")

ip=IP.read().split(":")[1]

#如果这两个值都为Yes,则不报警

if(sql_status==0 and io_status==0):

pass

else:

#如果有不为Yes的值,则开发通过python 调用钉钉发送信息到群中

send_msg(ip)

#调用钉钉发送信息到群中

def send_msg(ip):

#钉钉的webhook 值,如有不知道可自行百度

url="https://oapi.dingtalk.com/robot/send?access_token="

headers={

"Content-Type":"application/json",

"Charset":"UTF-8"

}

data={

"msgtype":"text",

"text":{

"content":str(ip)+"master-slave Error"

},

"at":{

"isAtAll":True

}

}

data=json.dumps(data)

request=urllib2.Request(url,data=data,headers=headers)

response=urllib2.urlopen(request)

print(response.read())

get_fljr189_status()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值