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简单操作sqlite3的方法示例
Mar 22 Python
Python可变参数用法实例分析
Apr 02 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
浅析使用Python操作文件
Jul 31 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
python机器学习之决策树分类详解
Dec 20 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
多个python文件调用logging模块报错误
Feb 12 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 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函数
2011/05/31 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
微信小程序实现简单评论功能
2018/11/28 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
Python下的subprocess模块的入门指引
2015/04/16 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
python如何读写csv数据
2018/03/21 Python
python pygame实现2048游戏
2018/11/20 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
幼师专业求职推荐信
2013/11/08 职场文书
生产内勤岗位职责
2013/12/07 职场文书
高二历史教学反思
2014/01/25 职场文书
xxx同志考察材料
2014/02/07 职场文书
绿化工程实施方案
2014/03/17 职场文书
团队队名口号大全
2014/06/06 职场文书
色戒观后感
2015/06/12 职场文书