python统计mysql数据量变化并调用接口告警的示例代码


Posted in Python onSeptember 21, 2020

统计每天的数据量变化,数据量变动超过一定范围时,进行告警。告警通过把对应的参数传递至相应接口。

python程序如下

#!/usr/bin/python
# coding=utf-8
import pymysql as mdb
import os
import sys
import requests
import json


tar_conn = mdb.connect(host='192.168.56.128',port=3306,user='xxx',passwd='xxx123',db='bak_db')
tar_cur = tar_conn.cursor()

v_sql_dt =" SELECT DATE_FORMAT(CURRENT_DATE(),'%Y-%m-%d')t1 ,DATE_FORMAT(SUBDATE(CURRENT_DATE(),INTERVAL 1 DAY),'%Y-%m-%d')t2,DATE_FORMAT(SUBDATE(CURRENT_DATE(),INTERVAL 1 WEEK),'%Y-%m-%d')t3,DATE_FORMAT(SUBDATE(CURRENT_DATE(),INTERVAL 1 MONTH),'%Y-%m-%d %H:%i:00')t4"
v_extract_rows=tar_cur.execute(v_sql_dt)
v_res=tar_cur.fetchone()
v_dt1=v_res[0]
v_dt2=v_res[1]
v_dt3=v_res[2]
v_dt4=v_res[3]

print v_dt1,v_dt2,v_dt3,v_dt4
#v_start_time='2020-09-10'
#v_end_time='2020-09-11'
def get_cnt(v_dt):

 v_sql1="select tb_rows from bak_db.tb_size where dt='%s';"%(v_dt)

 v_extract_rows=tar_cur.execute(v_sql1)
 v_res=tar_cur.fetchone()
 v_cnt1=v_res[0]

 return(v_cnt1)

(v_cnt_now)=get_cnt(v_dt1)
(v_cnt_1d)=get_cnt(v_dt2)
(v_cnt_1w)=get_cnt(v_dt3)
(v_cnt_1m)=get_cnt(v_dt4)

def f_notify(v_cnt_now,v_cnt_before,v_message):
 v_rate1=abs(((v_cnt_before-v_cnt_now)*1.00/v_cnt_before*1.00)*100)

# print v_rate1,v_rate2
 if (v_rate1>100 ) and (v_cnt_now>500 or v_cnt_before>500) :
  v_level=1
  v_list=[v_message,',','当前量:',str(v_cnt_now),',','前期量:',str(v_cnt_before)]
  v_message1=''.join(v_list)
  print v_message1
  url = 'http://192.168.56.128:9000/api/v1/alarm'        # 接口地址
  body ={"level": v_level, "group": ["dba"], "msg": {"content": v_message1}} 
  headers = {'content-type': "application/json"}        # 如有认证信息,添加认证信息即可,例如'Authorization': 'APP appid = xxx,token = xxxxxxxxxxxxxxxx'
  response = requests.post(url, data = json.dumps(body), headers = headers) # body是json格式的,用 json.dumps(body)方式进行处理
  print response.text
  print response.status_code
   

f_notify(v_cnt_now,v_cnt_1d,'数据量与前一天相比波动超过100%')
f_notify(v_cnt_now,v_cnt_1w,'数据量与前一周相比波动超过100%')
f_notify(v_cnt_now,v_cnt_1m,'数据量与前一月相比波动超过100%')



tar_conn.close()

以上就是python统计mysql数据量变化并调用接口告警的示例代码的详细内容,更多关于python统计mysql数据量变化的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
python中异常捕获方法详解
Mar 03 Python
Python编写登陆接口的方法
Jul 10 Python
python使用Flask操作mysql实现登录功能
May 14 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
python中pygame安装过程(超级详细)
Aug 04 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
Python实现微信机器人的方法
Sep 06 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
手动安装python3.6的操作过程详解
Jan 13 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
python3.8动态人脸识别的实现示例
Sep 21 #Python
如何在Anaconda中打开python自带idle
Sep 21 #Python
Python 实现国产SM3加密算法的示例代码
Sep 21 #Python
python如何实现DES加密
Sep 21 #Python
如何从csv文件构建Tensorflow的数据集
Sep 21 #Python
python打包多类型文件的操作方法
Sep 21 #Python
python 星号(*)的多种用途
Sep 21 #Python
You might like
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
用jquery存取照片的具体实现方法
2013/06/30 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python常见异常分类与处理方法
2017/06/04 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python add_argument()用法解析
2020/01/29 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
《画家乡》教学反思
2014/04/22 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
经理助理岗位职责
2015/02/02 职场文书
会议通知
2015/04/15 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
浅析Django接口版本控制
2021/06/26 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
php去除数组中为0的元素的实例分析
2021/11/17 PHP
MySQL Server 层四个日志
2022/03/31 MySQL
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技