1. 添加监控MySQL状态的端口
在db服务器上(每台都一样)
安装xinetd
# yum
# vi /etc/services
================================================
mysqlcheck
2. 使用xinetd守护进程运行MySQL状态检测
在db服务器上
# cat /etc/xinetd.d/mysqlchk
=================================================
service mysqlcheck
{
}
3. 状态检测脚本
在db服务器上
# vi /usr/local/haproxy/sbin/mysqlchk_status.sh
================================================
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
MYSQL_USERNAME="root"
MYSQL_PASSWORD="123456"
#ERROR_MSG=/usr/bin/mysql --host=$MYSQL_HOST --port=$MYSQL_PORT --user=$MYSQL_USERNAME --password=$MYSQL_PASSWORD -e "show databases;"
ERROR_MSG=`ps -e | grep mysqld |wc -l`
if [ "$ERROR_MSG" != "0" ]
then
else
fi
# chmod +x
# service xinetd stop
# service xinetd start
# chown haproxy.haproxy /usr/local/haproxy/sbin/mysqlchk_status.sh
4. HAproxy日志
# touch /var/log/haproxy.log
# chown haproxy.haproxy /var/log/haproxy.log
编辑/etc/syslog.conf文件,添加如下语句
local0.*
5. HAProxy配置文件
在均衡服务器上
[root@localhost htdocs]# cat /usr/local/haproxy/conf/haproxy.conf
================================================================
global
defaults
listen
listen
===================================================
6. HAProxy启动脚本
在均衡服务器上
# cat /etc/init.d/haproxy
===================================================
set -e
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin
PROGDIR=/usr/local/haproxy
PROGNAME=haproxy
DAEMON=$PROGDIR/sbin/$PROGNAME
CONFIG=$PROGDIR/conf/$PROGNAME.conf
PIDFILE=$PROGDIR/run/$PROGNAME.pid
DESC="HAProxy daemon"
SCRIPTNAME=/etc/init.d/$PROGNAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
start()
{
}
stop()
{
}
restart()
{
}
case "$1" in
esac
exit 0