分类: Oracle
2013-08-19 15:01:16
最近在写博客技术方面实在是有些太懒惰……
有不少朋友在做MySQL数据库高可用(Heartbeat,keepalived)和主从负载均衡(LVS,F5,A10等)的时候都面对MySQL服务可用性检测的问题.
检测可用性面对的几个问题不太容易解决:
· 端口能连上,但是SQL语句很可能无法执行,其实这时候MySQL服务是不可用的
· 连上了,SQL语句执行堵塞,长时间不能返回,因为MySQL是堵塞式的
· MySQL Slave延时太大,应该从路由表里面清除
而且我了解到的有不少人都是用检测端口的方法,这是有风险的.
今天贡献的lbmysqlping通过可配置的方式,能够灵活的对MySQL服务进行检测,如果出现异常\超时或者Slave延时超过配置大小,可以执行指定的失效命令,当服务恢复可用的时候又可以执行恢复命令.
另外lbmysqlping还可以做简单的报警系统,配置好默认信息后,其他realserver 只需要配置ip地址即可,如果端口不一样,改下端口。然后在down命令和up命令里面填上相关的脚本或者报警程序,这样一个简单的MySQL服务可用性报警系统就出来了,简单、高效。
配置文件格式如下:
< ?xml version="1.0" encoding="utf-8"?>