URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 100050
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Мониторинг репликации MySQL при пом..."

Отправлено auto_tips , 14-Ноя-14 10:08 
0. Кому как удобно ставим zabbix агента. Создаем директорию /zabix/

1. Создаем пользователя на слейве mysql.

   GRANT REPLICATION CLIENT ON *.*  TO 'replication'@'localhost' IDENTIFIED BY 'S0mEPass';

2. пишем скрипт slave_status

   #!/bin/sh
   export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:

   mysql --defaults-file=/zabix/.my.cnf -Bse "show slave status\G" | grep $1 | awk '{ print $2 }' | head -n 1


3. Делаем конфиг /zabbix/.my.cnf

   [client]
   user=replication
   host=localhost
   password='S0mEPass'

Конфиг нужен затем, чтобы в вывод не попадали такие сообщения:

   Warning: Using a password on the command line interface can be insecure.
   Yes

4. В конфиг zabbix агента добавляем

   UserParameter=mysql-slave[*],/scripts/slave_status "$1"

5. Делаем рестарт zabbix агента

Забираем (http://opennet.ru/soft/zbx_export_templates.xml или https://cloud.mail.ru/public/2feb5f4dee82/zbx_export_templat...
) шаблон для zabbix (работает на 2.2), в шаблоне три параметра и два триггера.  
Допиливаем под себя, не забываем делать рестарты.

URL:
Обсуждается: https://www.opennet.ru/tips/info/2863.shtml


Содержание

Сообщения в этом обсуждении
"Мониторинг репликации MySQL при помощи Zabbix"
Отправлено Громозека , 14-Ноя-14 10:08 
show slave status не всегда говорит правду. На личном опыте проверено. Для гарантированного мониторинга стоит использовать дополнительную табличку где автоинкрементом раз в N минут увеличивать поле, и сравнивать его значение с значением на slave серверах.

"Мониторинг репликации MySQL при помощи Zabbix"
Отправлено Зевака , 14-Ноя-14 11:16 
Пользователю replication@localhost можно сделать пустой пароль.

"Мониторинг репликации MySQL при помощи Zabbix"
Отправлено имя , 17-Ноя-14 09:01 
> grep $1 | awk '{ print $2 }' | head -n 1

awk "/$1/ {print \$2; exit}"


"Мониторинг репликации MySQL при помощи Zabbix"
Отправлено McLeod095 , 18-Ноя-14 12:52 
Костыль на костыле и с велосипедом.
В поставке zabbix-agent поставляется шаблон для мониторинга mysql.  В CentOS лежит примерно тут
/usr/share/doc/zabbix20-agent-2.0.11/userparameter_mysql.conf
Создаем .my.cnf в хомяке zabbix и в файл параметров добавляем строки
UserParameter=mysql.master[*], HOME=/var/lib/zabbix mysql -e "show master status\G" | awk '/'$1'/{print $$2}'
UserParameter=mysql.slave[*],  HOME=/var/lib/zabbix mysql -e "show slave status\G"  | awk '/'$1'/{gsub(/NULL/,"99999",$$2); print $$2}'
И этого достаточно для просмотра show slave status
Ну и можно еще
UserParameter=mysql.replication, HOME=/var/lib/zabbix mysql -BNe "SELECT ABS(TIMESTAMPDIFF(SECOND,replication_date,(SELECT replication_date FROM system_monitor.master_status))) FROM system_monitor.slave_status;"

только создать базу и сделать автоинкремент даты уже скриптами.


"Мониторинг репликации MySQL при помощи Zabbix"
Отправлено Алексей , 25-Ноя-14 10:24 
Percona Monitoring Plugins for Zabbix http://www.percona.com/doc/percona-monitoring-plugins/1.1/za...