失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Zabbix 监控Mysql 主从状态(Python脚本)

Zabbix 监控Mysql 主从状态(Python脚本)

时间:2023-09-16 05:31:04

相关推荐

Zabbix 监控Mysql 主从状态(Python脚本)

1、在被监控机(Mysql Slave端)放置检查脚本:

/usr/local/zabbix/bin/check_mysql_repl.py

#!/usr/bin/python#coding:utf-8importMySQLdbimportsysclasscheck_mysql_repl():def__init__(self):self.dbhost='localhost'self.dbuser='root'self.dbpass='wisp888'self.dbport=3306self.sock="/data/db_misc/mysql_3306.sock"self.conn=MySQLdb.connect(unix_socket=self.sock)#根据实际情况连接self.cursor=self.conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)self.sql='showslavestatus'self.cursor.execute(self.sql)self.data=self.cursor.fetchall()self.io=self.data[0]['Slave_IO_Running']self.sql=self.data[0]['Slave_SQL_Running']self.conn.close()defget_io_status(self):ifself.io=='Yes':return1else:return0defget_sql_status(self):ifself.io=='Yes':return1else:return0if__name__=="__main__":iflen(sys.argv)!=2:print"Usage:%s[io|sql]"%sys.argv[0]sys.exit(1)mysql=check_mysql_repl()ifsys.argv[1]=="io":printmysql.get_io_status()elifsys.argv[1]=="sql":printmysql.get_sql_status()

2、配置zabbix_agent.conf,添加Key和监控脚本:

vi /usr/local/zabbix/etc/zabbix_agentd.conf,文件最后添加以下两行:

UserParameter=mysql.repl_io,/usr/local/zabbix/bin/check_mysql_repl.pyioUserParameter=mysql.repl_sql,/usr/local/zabbix/bin/check_mysql_repl.pysql

UserParameter是固定的

mysql.repl_io 是自定的Key,下面添加监控项的时候用到

/usr/local/zabbix/bin/check_mysql_repl.py io 这一段就是上面的脚本及参数

重启zabbix_agentd

3、添加监控项:

4、添加触发器:

此触发器的作用是检测到脚本的返回值不是1就会报警。

就这样一个简单的监控主从配置就完成!~~

如果觉得《Zabbix 监控Mysql 主从状态(Python脚本)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。