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主从进行监控,并调用钉钉发送报警信息相关推荐

  1. mysql主从同步监控小脚本(加强版)

    mysql主从同步监控小脚本(加强版): 新版本脚本增加了"当发现同步出现无法同步的时候"会自动提取主库的file号,以及pos,进行同步主库,脚本内容如下: #!/bin/sh ...

  2. linux 监控mysql脚本_Linux系统MySQL主从同步监控shell脚本

    操作系统:CentOS系统 目的:定时监控MySQL数据库主从是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1.创建脚本文件 vi /home/crontab/check_mysq ...

  3. 企业级监控系统zabbix---通过qqmail发送告警信息

    企业级监控系统zabbix-通过qqmail发送告警信息 当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们怎么能在第一时间获得报警信息,然后及时处理? 可以让 ...

  4. 企业级监控系统zabbix—通过qqmail发送告警信息和第三方软件警告

    企业级监控系统zabbix-通过qqmail发送告警信息和第三方软件警告 一.qqmail发送告警信息 当我们部署好zabbix监控,为监控主机添加各种监控项完毕之后,如果一个主机出了问题,我们怎么能 ...

  5. Mysql 主从延时监控(pt-heartbeat)详解

    主从延时在主从环境中是一个非常值得关注的问题,有时候我们可以通过show slave status命令查看Seconds_Behind_Master值来分析主从的延时情况:但是由于该值是来自binlo ...

  6. zabbix mysql主从_zabbix监控mysql主从状态

    1. zabbix客户端编辑脚本 /tmp/shell/mysql_slave_status.sh#! /bin/bash /usr/bin/mysql -p123456 -e 'show slave ...

  7. python数据库自动对接_如何使用Python连接MySQL建立自动化监控报表

    废话不多说,直接贴代码: #定时发送邮件的任务 #-*- coding:utf-8 -*- import sys import string, os, sys import smtplib from ...

  8. 监控mysql主从复制监控_shell脚本监控mysql主从同步状态

    mysql做了主从同步之后,偶尔出现过几次主从同步报错或延迟,由于没有任何监控和报警机制,只有在应用程序报错的时候才能发现数据同步出问题了.所以写了个shell脚本用来检测mysql数据库的同步状态 ...

  9. mysql 主从_搭建mysql主从并编写监控主从状态脚本

    要求:两台centos7虚拟机分为主和从 安装mysql yum -y install mysql mysql-server 关闭防火墙 service iptables stopsetenforce ...

  10. mysql主从数据库含义_(转)Mysql数据库主从心得整理

    管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对 ...

最新文章

  1. Linux基础--虚拟机的控制及linux系统的基本操作
  2. MongoDB 权限认证
  3. spring boot使用注解的方式整合mybaits
  4. php hugepage,【原创】解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel...
  5. GBDT与XGBOOST
  6. flex file 文件上传 带参数 php,php+flex打造多文件带进度超级上传
  7. node.js处理torrent
  8. c语言char几个字节为什么,为什么在C语言中char是1个字节(Why char is of 1 byte in C language)...
  9. 大黑熊丨逗比与正经的对话描写
  10. 最新版cleanmymac4.11.3专业的Mac清理软件
  11. 支付宝即时到帐接口php,支付宝即时到帐接口
  12. C# 蓝牙编程(InTheHand.Net.Personal.dll-32feet),教程地址
  13. Springboot定时任务【多线程处理】
  14. android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码器
  15. 自学Linux 2—Linux 的系统架构之 Linux 内核的主要模块和 Linux 的文件结构
  16. 超声波传感器(CH101ch201) - Ⅱ
  17. 5G无线定位技术标准化及发展趋势
  18. 解决window 10 Edge浏览器下载速度太慢
  19. front-matter参数的解释与设置
  20. GBase 8c V5 主备式部署实操

热门文章

  1. 怎样在 SSASserver之间做同步
  2. 从3D Studio Max导入物体 Importing Objects From 3D Studio Max
  3. Ajax 读取.ashx 返回404
  4. .NET 应用从 Visual Studio 迁移到 Eclipse
  5. Chrom调试移动端页面
  6. C++ 柔性数组(转载)
  7. C++ 日志框架总结
  8. jmeter线程说明_jmeter 线程组
  9. springboot2集成hbase2环境搭建
  10. 数据结构——>顺序存储二叉树