使用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()
转载于:https://www.cnblogs.com/free-long/p/9587870.html
使用python对mysql主从进行监控,并调用钉钉发送报警信息相关推荐
- mysql主从同步监控小脚本(加强版)
mysql主从同步监控小脚本(加强版): 新版本脚本增加了"当发现同步出现无法同步的时候"会自动提取主库的file号,以及pos,进行同步主库,脚本内容如下: #!/bin/sh ...
- linux 监控mysql脚本_Linux系统MySQL主从同步监控shell脚本
操作系统:CentOS系统 目的:定时监控MySQL数据库主从是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1.创建脚本文件 vi /home/crontab/check_mysq ...
- 企业级监控系统zabbix---通过qqmail发送告警信息
企业级监控系统zabbix-通过qqmail发送告警信息 当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们怎么能在第一时间获得报警信息,然后及时处理? 可以让 ...
- 企业级监控系统zabbix—通过qqmail发送告警信息和第三方软件警告
企业级监控系统zabbix-通过qqmail发送告警信息和第三方软件警告 一.qqmail发送告警信息 当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们怎么能 ...
- Mysql 主从延时监控(pt-heartbeat)详解
主从延时在主从环境中是一个非常值得关注的问题,有时候我们可以通过show slave status命令查看Seconds_Behind_Master值来分析主从的延时情况:但是由于该值是来自binlo ...
- zabbix mysql主从_zabbix监控mysql主从状态
1. zabbix客户端编辑脚本 /tmp/shell/mysql_slave_status.sh#! /bin/bash /usr/bin/mysql -p123456 -e 'show slave ...
- python数据库自动对接_如何使用Python连接MySQL建立自动化监控报表
废话不多说,直接贴代码: #定时发送邮件的任务 #-*- coding:utf-8 -*- import sys import string, os, sys import smtplib from ...
- 监控mysql主从复制监控_shell脚本监控mysql主从同步状态
mysql做了主从同步之后,偶尔出现过几次主从同步报错或延迟,由于没有任何监控和报警机制,只有在应用程序报错的时候才能发现数据同步出问题了.所以写了个shell脚本用来检测mysql数据库的同步状态 ...
- mysql 主从_搭建mysql主从并编写监控主从状态脚本
要求:两台centos7虚拟机分为主和从 安装mysql yum -y install mysql mysql-server 关闭防火墙 service iptables stopsetenforce ...
- mysql主从数据库含义_(转)Mysql数据库主从心得整理
管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对 ...
最新文章
- Linux基础--虚拟机的控制及linux系统的基本操作
- MongoDB 权限认证
- spring boot使用注解的方式整合mybaits
- php hugepage,【原创】解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel...
- GBDT与XGBOOST
- flex file 文件上传 带参数 php,php+flex打造多文件带进度超级上传
- node.js处理torrent
- c语言char几个字节为什么,为什么在C语言中char是1个字节(Why char is of 1 byte in C language)...
- 大黑熊丨逗比与正经的对话描写
- 最新版cleanmymac4.11.3专业的Mac清理软件
- 支付宝即时到帐接口php,支付宝即时到帐接口
- C# 蓝牙编程(InTheHand.Net.Personal.dll-32feet),教程地址
- Springboot定时任务【多线程处理】
- android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码器
- 自学Linux 2—Linux 的系统架构之 Linux 内核的主要模块和 Linux 的文件结构
- 超声波传感器(CH101ch201) - Ⅱ
- 5G无线定位技术标准化及发展趋势
- 解决window 10 Edge浏览器下载速度太慢
- front-matter参数的解释与设置
- GBase 8c V5 主备式部署实操