gpt4 book ai didi

python统计mysql数据量变化并调用接口告警的示例代码

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python统计mysql数据量变化并调用接口告警的示例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

统计每天的数据量变化,数据量变动超过一定范围时,进行告警。告警通过把对应的参数传递至相应接口.

python程序如下 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/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数据量变化的资料请关注我其它相关文章! 。

原文链接:https://www.cnblogs.com/gjc592/p/13673429.html 。

最后此篇关于python统计mysql数据量变化并调用接口告警的示例代码的文章就讲到这里了,如果你想了解更多关于python统计mysql数据量变化并调用接口告警的示例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com