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 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
python读取文件名称生成list的方法
Apr 27 Python
Python单元测试实例详解
May 25 Python
Python实现图片拼接的代码
Jul 02 Python
Python读写zip压缩文件的方法
Aug 29 Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
Python pygame实现中国象棋单机版源码
Jun 20 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自动获取目录下的模板的代码
2010/08/08 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
微信支付开发告警通知实例
2016/07/12 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
chrome原生方法之数组
2011/11/30 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
python通过线程实现定时器timer的方法
2015/03/16 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
css3个性化字体_动力节点Java学院整理
2017/07/12 HTML / CSS
耐克亚太地区:Nike APAC
2019/12/07 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
运动会四百米广播稿
2014/01/19 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
升职自荐信范文
2015/03/27 职场文书
田径运动会通讯稿
2015/07/18 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
python编程项目中线上问题排查与解决
2021/11/01 Python
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏
GPU服务器的多用户配置方法
2022/07/07 Servers