#!/usr/bin/env python
#-*- encoding: utf8 -*-import mysql.connectorimport get_mysql_conn_info """SHOW SLAVE STATUS命令输出内容"""class GetSlaveResult: """ getdbconfig 参数是一个列表,第一列是IP,第二列是账号,第三列是密码,第四列是端口号。 """ def __init__(self,getdbconfig): self.getdbconfig = getdbconfig """ 获取 SHOW SLAVE STATUS 输出结果 """ def get_slave_status(self): dbconfig = self.getdbconfig for i in range(int(len(dbconfig))): show_slave_status = "SHOW slave STATUS;" cnn = mysql.connector.connect(host=dbconfig[i][0] ,user=dbconfig[i][1] ,password=dbconfig[i][2] ,port=dbconfig[i][3]) cursor = cnn.cursor(dictionary=True) cursor.execute(show_slave_status) result_fet = cursor.fetchall() result = result_fet[0] result["checkmysql_host"] = dbconfig[i][0] result["checkmysql_user"] = dbconfig[i][1] result["checkmysql_port"] = int(dbconfig[i][3]) return result """ 检查SHOW SLAVE STATUS状态 """ def check_slave_status(self): check_ture_false_slave_status = True result = self.get_slave_status() if result.get('Slave_IO_Running') == 'Yes' and result.get('Slave_SQL_Running') == 'Yes': pass else: check_ture_false_slave_status = False print "主机名: %s , 端口号: %s , Slave_IO_Running 状态 = %s , Slave_SQL_Running 状态 = %s " %(str(result.get('checkmysql_host')),str(result.get('checkmysql_port')),str(result.get('Slave_IO_Running')),str(result.get('Slave_SQL_Running'))) """ 获取Last_SQL_Error内容 """ def get_last_sql_error(self): check_ture_false_last_sql_error = True result = self.get_slave_status() if result.get('Last_SQL_Error')== '': pass else: check_ture_false_last_sql_error = False print "主机名: %s , 端口号: %s , Last_SQL_Error 内容 = %s " %(str(result.get('checkmysql_host')),str(result.get('checkmysql_port')),str(result.get('Last_SQL_Error'))) checkdbconfig = get_mysql_conn_info.GetConn('/data/lgj/dblist.xlsx').get_csv() print_result = GetSlaveResult(checkdbconfig)print_result.check_slave_status()print_result.get_last_sql_error()