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求众数问题实例
Sep 26 Python
Python 正则表达式(转义问题)
Dec 15 Python
python使用htmllib分析网页内容的方法
May 08 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 Python
python元组和字典的内建函数实例详解
Oct 22 Python
Python API len函数操作过程解析
Mar 05 Python
Python unittest框架操作实例解析
Apr 13 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
python爬虫爬取图片的简单代码
Jan 18 Python
Python读写Excel表格的方法
Mar 02 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
YII路径的用法总结
2014/07/09 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
19个Android常用工具类汇总
2014/12/30 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
js程序中美元符号$是什么
2008/06/05 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
JQuery 使用attr方法实现下拉列表选中
2014/10/13 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python统计一个文本中重复行数的方法
2014/11/19 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
小学生家长评语集锦
2014/01/30 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
2014年客房部工作总结
2014/11/22 职场文书
2014年设计师工作总结
2014/11/25 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
MongoDB数据库之添删改查
2022/04/26 MongoDB
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL