Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1171982
  • 博文数量: 178
  • 博客积分: 2776
  • 博客等级: 少校
  • 技术积分: 2809
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-22 15:36
文章分类

全部博文(178)

文章存档

2014年(3)

2013年(66)

2012年(109)

分类: 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"?>

        lb.log
        
                3306
                ivan
                test
                select 1
                2
                1000
                1000
        

        
                192.168.1.157
                ipvsadm -d -t 192.168.2.250:3306 -r 192.168.1.157:3306 -g
                ipvsadm -a -t 192.168.2.250:3306 -r 192.168.1.157:3306
        
        
                192.168.1.158
                true
                10
                ipvsadm -d -t 192.168.2.250:3306 -r 192.168.1.158:3306 -g
                ipvsadm -a -t 192.168.2.250:3306 -r 192.168.1.158:3306
        
oracle视频教程

阅读(2673) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~