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]