[[ Мониторинг репликации MySQL в Zabbix ]]

ZabbixMySQL

Мониторинг репликации MySQL в Zabbix

dev-db/mysql-5.1.67
net-analyzer/zabbix-2.2.2-r1

Мониторинг репликации MySQL сводится к наблюдению за наиболее значимыми параметрами Slave сервера, которые доступны командой

SHOW SLAVE STATUS;

Настройка MySQL

Создать пользователя zabbix@localhost в MySQL с правами REPLICATION CLIENT.

mysql [(NONE)]> SHOW grants FOR zabbix@localhost;
+----------------------------------------------------------------------------------------------------------------------------+
| Grants FOR zabbix@localhost                                                                                                |
+----------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY PASSWORD '*FE1ED36AEB266F86C56A8EF2D0F0EE6B147DED79' |
+----------------------------------------------------------------------------------------------------------------------------+

Установка скрипта

Создание папки для скриптов:

mkdir /etc/zabbix/scripts/
chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/

Создадим сам скрипт:

Листинг

Кеш необходим ввиду особенности работы Zabbix, когда на каждый элемент собираемых данных выполняется по отдельному запросу. Т.е. если вы мониторинге 20 параметров MySQL, то за один период обновления будет инициировано 20 обращений к БД.
Время действия кэша в секундах должно устанавливается чуть меньше чем период опроса элементов.

Значения yes,no,none,connecting и пустую строку скрипт заменит на 0 или 1

Установка прав

chown root:zabbix /etc/zabbix/scripts/mysql-slave.sh
chmod 550 /etc/zabbix/scripts/mysql-slave.sh

Проверка

sudo -u zabbix /etc/zabbix/scripts/mysql-slave.sh Master_Host USER PASSWORD

Вы должны получить данные, если этого не произошло, посмотреть содержимое кэш файла и т.д.

Если для проверки скрипт запускался с правами root, то он будет владельцем кэш файла - удалите кэш файл после проверок.

Настройка Zabbix Agent

Настройка

/etc/zabbix/zabbix_agentd.conf

...

UserParameter=mysql-slave[*],/etc/zabbix/scripts/mysql-slave.sh "$1" [USER] [PASSWORD]

Для работы скрипта нужно передать имя пользователя и пароль для подключения к MySQL. Их можно указать в конфиге или в самом скрипте.

Перезапустить

/etc/init.d/zabbix-agentd restart

Проверка

zabbix_get -s HOST -k 'mysql-slave[Master_Host]'

Настройка Zabbix Server

Для контролируемых данных нужно создать соответствующее элементы с типом «Zabbix агент» и ключом вида:

mysql-slave[key]

где key - контролируемая метрика

Готовый Шаблон для мониторинга MySQL Slave (agent) с уже настроенными элементами и графиками.




Обсуждение

Tudor, 2018/04/25 10:59

Спасибо большое

Ваш комментарий. Вики-синтаксис разрешён:
53 +15 = 
 
howto/zabbix/zabbix_mysql_replication.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki