Welcome 微信登录

首页 / 数据库 / MySQL / Zabbix 监控MySQL主从状态(Python脚本)

1、在被监控机(Mysql Slave端)放置检查脚本:/usr/local/zabbix/bin/check_mysql_repl.py
  1. #!/usr/bin/python
  2. #coding:utf-8
  3. import MySQLdb
  4. import sys
  5. class check_mysql_repl():
  6. def __init__(self):
  7. self.dbhost = "localhost"
  8. self.dbuser = "root"
  9. self.dbpass = "wisp888"
  10. self.dbport = 3306
  11. self.sock = "/data/db_misc/mysql_3306.sock"
  12. self.conn = MySQLdb.connect(unix_socket=self.sock) #根据实际情况连接
  13. self.cursor = self.conn.cursor(cursorclass = MySQLdb.cursors.DictCursor)
  14. self.sql = "show slave status"
  15. self.cursor.execute(self.sql)
  16. self.data = self.cursor.fetchall()
  17. self.io = self.data[0]["Slave_IO_Running"]
  18. self.sql = self.data[0]["Slave_SQL_Running"]
  19. self.conn.close()
  20. def get_io_status(self):
  21. ifself.io == "Yes":
  22. return1
  23. else:
  24. return0
  25. def get_sql_status(self):
  26. ifself.io == "Yes":
  27. return1
  28. else:
  29. return0
  30. if __name__ == "__main__":
  31. if len(sys.argv) != 2:
  32. print"Usage: %s [io|sql]" % sys.argv[0]
  33. sys.exit(1)
  34. mysql = check_mysql_repl()
  35. if sys.argv[1] == "io":
  36. print mysql.get_io_status()
  37. elif sys.argv[1] == "sql":
  38. print mysql.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.py io UserParameter=mysql.repl_sql,/usr/local/zabbix/bin/check_mysql_repl.py sqlUserParameter是固定的mysql.repl_io 是自定的Key,下面添加监控项的时候用到/usr/local/zabbix/bin/check_mysql_repl.py io  这一段就是上面的脚本及参数重启zabbix_agentd3、添加监控项:4、添加触发器:此触发器的作用是检测到脚本的返回值不是1就会报警。就这样一个简单的监控主从配置就完成!~~CentOS下Redis 2.2.14安装配置详解Redis系列-安装部署维护篇相关资讯      ZABBIX  Zabbix监控MySQL 
  • 如何在Zabbix上安装MySQL监控插件  (今 11:59)
  • Zabbix 监控 MySQL 状态  (04月20日)
  • 关于Zabbix一些高级功能  (04月12日)
  • CentOS6.5下Zabbix安装使用学习系  (07月21日)
  • 生产环境下Zabbix 2.4升级Zabbix 3  (04月18日)
  • Zabbix2.4.5迁移到Zabbix3.0  (03月29日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数