wfkjxy 发表于 2019-1-20 08:42:57

zabbix 监控各个库的慢查询数量

# cat testslownum.py  
#!/usr/bin/python
  
# coding:utf-8
  
import datetime,time
  
import sys
  
import MySQLdb
  
import sys
  
from ConfigParser import ConfigParser
  
conf = ConfigParser()
  
timenow = time.localtime()
  
datenow = time.strftime('%Y-%m-%d 00:00:00', timenow)
  
logstr = "%s" % datenow
  
#datefmt='%Y-%m-%d %H:%M:%S'
  

  
con = MySQLdb.connect('ip', 'root', 'xx', 'lepus')
  

  
def select(table):
  
    cursor = con.cursor()
  
    sql = "SELECT sum(t2.ts_cnt) as ts_cnt_sum FROM ( SELECT a.CHECKSUM,a.fingerprint,a.sample,a.first_seen,a.last_seen,b.serverid_max,b.db_max,b.user_max,b.ts_min,b.ts_max,sum(b.ts_cnt) AS ts_cnt,sum(b.Query_time_sum) / sum(b.ts_cnt) AS Query_time_avg,max(b.Query_time_max) AS Query_time_max,min(b.Query_time_min) AS Query_time_min,b.Query_time_sum AS Query_time_sum,max(b.Lock_time_max) AS Lock_time_max,min(b.Lock_time_min) AS Lock_time_min,sum(b.Lock_time_sum) AS Lock_time_sum FROM mysql_slow_query_review a JOIN mysql_slow_query_review_history b WHERE a. CHECKSUM = b. CHECKSUM AND b.serverid_max = '276' GROUP BY a. CHECKSUM) t2 WHERE t2.last_seen >= '%s' and t2.db_max='%s' ORDER BY t2.ts_cnt DESC" %(datenow,table)
  
    ##print sql
  
    cursor.execute(sql)
  
    template_list = cursor.fetchall()
  
    res = template_list
  
    for m in res:
  
      print int(m)
  
    cursor.close()
  

  

  
if __name__ == '__main__':
  
    table = sys.argv
  
    result = select(table)


页: [1]
查看完整版本: zabbix 监控各个库的慢查询数量