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聊天室实现方法
Jun 28 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Python读取Word(.docx)正文信息的方法
Mar 15 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
解决django FileFIELD的编码问题
Mar 30 Python
QML实现钟表效果
Jun 02 Python
使用Keras实现Tensor的相乘和相加代码
Jun 18 Python
python3中calendar返回某一时间点实例讲解
Nov 18 Python
python常见的占位符总结及用法
Jul 02 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将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
PHP常用技巧总结(附函数代码)
2012/02/04 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
微信自定义分享php代码分析
2016/11/24 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
python自动截取需要区域,进行图像识别的方法
2018/05/17 Python
学习python可以干什么
2019/02/26 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
python 下划线的不同用法
2020/10/24 Python
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
创先争优制度
2014/01/21 职场文书
应届生求职信范文
2014/05/26 职场文书
另类冲刺标语
2014/06/24 职场文书
党员个人对照检查材料
2014/10/01 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
oracle重置序列从0开始递增1
2022/02/28 Oracle
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技