Какой смысл того, чтобы использовать runit в сочетании с monit?

местоположение A: два прокси MySQL HA (serv1 ip 192.168.0.1, serv2 ip 192.168.0.2)

местоположение B: два основных ведущих устройства MySQL Data (serv1 ip 192.168.0.3, serv2 ip 192.168.0.4)

serv1
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 200M
binlog_ignore_db = test
binlog_ignore_db = mysql
master-host = 192.168.0.4
master-user = replication
master-password = you_pass
master-port = 3306

mysql -u root -p
Enter password: 
>grant replication slave on *.* to 'replication'@'192.168.0.4' identified by 'you_pass';
>flush privileges;
>quit;
/etc/init.d/mysql restart

serv2
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 200M
binlog_ignore_db = test
binlog_ignore_db = mysql
master-host = 192.168.0.3
master-user = replication
master-password = you_pass
master-port = 3306

mysql -u root -p
Enter password: 
>grant replication slave on *.* to 'replication'@'192.168.0.3' identified by 'you_pass';
>flush privileges;
>quit;
/etc/init.d/mysql restart

mysql —u root —p
Enter password:
>show slave status \G

местоположение serv1 и serv2 устанавливает mysql-прокси и heartbeat

mysql-proxy --proxy-backend-addresses=192.168.0.3 \
--proxy-backend-addresses=192.168.0.4 \
--proxy-address=:3306
—daemon

authkey

auth 2
2 sha1 your-strong-password

ha.cf

logfile /var/log/ha-log 
logfacility local0
keepalive 2 
deadtime 10 
initdead 120
bcast eth0
udpport 694
auto_failback on
node mysql-proxy1
node mysql-proxy2

mysql-proxy1 и mysql-proxy1 являются uname-n на этом хосте

haresources

mysql-proxy1 192.168.0.5

192.168.0.5 виртуальных адреса mysql

8
задан 27 August 2012 в 14:01
2 ответа

Я никогда не слышал о runit , но я большой пользователь Monit ...

Глядя на runit , вижу, что это замена init. Я бы сказал, что большинство корпоративных систем придерживаются своих значений по умолчанию Sys V init или Upstart . Я не думаю, что это обычная практика.

Однако связь здесь может заключаться в том, что runit предоставляет удобный способ создания Monit и обеспечения его работы. Возможно, это похоже на запуск Monit из inittab. По сути, это «наблюдение за наблюдателем» или мониторинг вашей системы мониторинга.

На практике я использую Monit как демон, и у меня не было никаких проблем с его падением или отключением. Возможно, привлекательность runit заключается в том, что он предлагает дополнительную защиту.

4
ответ дан 2 December 2019 в 23:06

runit хорошо подходит для управления службами и ведения журналов, а также хорошо придерживается unix-way: легко комбинируйте простые части по своему усмотрению. Он может выполнять некоторые проверки и обработку событий запуска / остановки службы, но вам придется написать все это самостоятельно. Примечание: runit не работает, если ваша служба не может работать на переднем плане.

monit подходит для управления службами (но не так хорош, как runit, потому что вам придется обрабатывать демонизацию и регистрацию себя), а также хорошо работает с самодемонизирующимися процессами, если они предоставляют правильный pidfile. С другой стороны, это действительно здорово для наблюдения за сервисами: обработка событий, проверка на утечки памяти и тому подобное. Также у него есть хорошая панель для просмотра состояний служб (как на основе командной строки, так и на основе Интернета) и коммерческая панель m / monit для получения данных с нескольких серверов.

Таким образом, использование runit + monit становится следующим:

  • runit используется для наблюдения за службой, ведения журнала, автоматического перезапуска и т. д.
  • monit используется для уведомлений об изменении состояния службы, более расширенных проверок и базового мониторинга службы
1
ответ дан 2 December 2019 в 23:06

Теги

Похожие вопросы