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基础篇之初识Python必看攻略
Jun 23 Python
python3实现163邮箱SMTP发送邮件
May 22 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
python实现KNN分类算法
Oct 16 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 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
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
PR值查询 | PageRank 查询
2006/12/20 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
2019/12/06 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
python中cPickle类使用方法详解
2018/08/27 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
关于python中导入文件到list的问题
2020/10/31 Python
Python的collections模块真的很好用
2021/03/01 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
惠普香港官方商店:HP香港
2019/04/30 全球购物
综治宣传月活动总结
2014/04/28 职场文书
安全宣传标语口号
2014/06/06 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
社区节水倡议书
2015/04/29 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
公司财务管理制度
2015/08/04 职场文书
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python