介绍
这篇文章运用简单易懂的例子给大家介绍python实现统计mysql数据量变化并调用接口告警的方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
python程序如下
# !/usr/bin/python #=utf - 8编码 进口pymysql mdb 进口操作系统 导入系统 进口的要求 进口json tar_conn=mdb.connect(主机=& # 39;192.168.56.128& # 39;,端口=3306,用户=& # 39;xxx # 39;, passwd=& # 39; xxx123& # 39;, db=& # 39; bak_db& # 39;) tar_cur=tar_conn.cursor () v_sql_dt=?选择DATE_FORMAT(当前日期()& # 39;Y - % - % d % # 39;) t1, DATE_FORMAT (SUBDATE(当前日期(),间隔1天),& # 39;Y - % - % d % # 39;) t2, DATE_FORMAT (SUBDATE(当前日期(),间隔1周),& # 39;Y - % - % d % # 39;) t3, DATE_FORMAT (SUBDATE(当前日期(),间隔1个月),& # 39;Y % - % - % d % H: %我:00 & # 39;)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] 打印v_dt1、v_dt2 v_dt3 v_dt4 # v_start_time=& # 39; 2020 - 09 - 10 & # 39; # v_end_time=& # 39; 2020 - 09 - 11 & # 39; def get_cnt (v_dt): v_sql1=按觔ak_db选择tb_rows。tb_size dt=& # 39; % & # 39;;“% (v_dt) v_extract_rows=tar_cur.execute (v_sql1) v_res=tar_cur.fetchone () v_cnt1=v_res [0] 返回(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) #打印v_rate1 v_rate2 如果(v_rate1> 100)和(500年v_cnt_now> 500或v_cnt_before>): v_level=1 v_list=[v_message & # 39; & # 39;, & # 39;当前量:& # 39;,str (v_cnt_now) & # 39;, & # 39;, & # 39;前期量:& # 39;,str (v_cnt_before)] v_message1=& # 39; & # 39; . join (v_list) 打印v_message1 url=& # 39; http://192.168.56.128:9000/api/v1/报警# 39;#接口地址 身体={“level": v_level,“group": [“dba"],“msg": {“content": v_message1}} 头={& # 39;内容类型# 39;:“应用程序/json"} #如有认证信息,添加认证信息即可,例如& # 39;授权# 39;:& # 39;应用appid=xxx,令牌=xxxxxxxxxxxxxxxx& # 39;=响应请求。帖子(url, data=https://www.yisu.com/zixun/json.dumps(身体),标题=头)#身体是json格式的,用json.dumps(身体)方式进行处理 打印response.text 打印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数据量变化并调用接口告警的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。