При включении на haproxy мониторинга состояния нод MySQL методом без имени пользователя, хосты в мониторинге будут в UP'е, но не долго, так как не осуществляется корректное закрытие сессии. При этом просто добавить пользователя (без пароля!!!) сходу не получится.
Предварительно необходимо внести изменения в структуру БД.
ALTER TABLE mysql.user MODIFY COLUMN `ssl_cipher` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `x509_issuer` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `x509_subject` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `authentication_string` TEXT NULL;
после этих операций можно добавить нужного пользователя с указанием хостов кластера (имена FQDN), который будет проверять состояние сервиса MySQL
INSERT INTO user (Host,User) values ('ru1mysqlfr01.domain.local','mysqlcheck');
INSERT INTO user (Host,User) values ('ru1mysqlfr02.domain.local','mysqlcheck');
flush privileges;
правим конфиг haproxy. В результате получаем что-то вроде такого:
sudo vi /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
listen ru1mysqlvip_220_3306
bind *:3306
mode tcp
timeout client 10800s
timeout server 10800s
balance leastconn
option mysql-check user mysqlcheck # Будет идти проверка
default-server port 3307 inter 2s downinter 5s rise 3 fall 2 slowstart 60s maxconn 64 maxqueue 128 weight 100
server ru1mysqlfr01 192.168.196.241:3307 check
server ru1mysqlfr02 192.168.196.237:3307 check
Отдельно для мониторинга состояния сервисов:
listen stats :9000 # Listen on localhost:9000
mode http
stats enable # Enable stats page
stats hide-version # Hide HAProxy version
stats realm Haproxy\ Statistics # Title text for popup window
stats uri /haproxy_stats # Stats URI
stats auth login:password # Authentication credentials
Предварительно необходимо внести изменения в структуру БД.
ALTER TABLE mysql.user MODIFY COLUMN `ssl_cipher` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `x509_issuer` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `x509_subject` BLOB NULL;
ALTER TABLE mysql.user MODIFY COLUMN `authentication_string` TEXT NULL;
после этих операций можно добавить нужного пользователя с указанием хостов кластера (имена FQDN), который будет проверять состояние сервиса MySQL
INSERT INTO user (Host,User) values ('ru1mysqlfr01.domain.local','mysqlcheck');
INSERT INTO user (Host,User) values ('ru1mysqlfr02.domain.local','mysqlcheck');
flush privileges;
правим конфиг haproxy. В результате получаем что-то вроде такого:
sudo vi /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
listen ru1mysqlvip_220_3306
bind *:3306
mode tcp
timeout client 10800s
timeout server 10800s
balance leastconn
option mysql-check user mysqlcheck # Будет идти проверка
default-server port 3307 inter 2s downinter 5s rise 3 fall 2 slowstart 60s maxconn 64 maxqueue 128 weight 100
server ru1mysqlfr01 192.168.196.241:3307 check
server ru1mysqlfr02 192.168.196.237:3307 check
Отдельно для мониторинга состояния сервисов:
listen stats :9000 # Listen on localhost:9000
mode http
stats enable # Enable stats page
stats hide-version # Hide HAProxy version
stats realm Haproxy\ Statistics # Title text for popup window
stats uri /haproxy_stats # Stats URI
stats auth login:password # Authentication credentials
Комментариев нет:
Отправить комментарий