Источник share.zabbix mysql-replication-monitoring-basic
github zabbix-mysql-replication
СКАЧАТЬ
Zabbix Шаблон для мониторинга репликации MySQL (базовый)
- На основе официального шаблона Zabbix MySQL
- Использование пользовательских параметров Zabbix агента (пассивных проверок)
- функция "{$ DB_NAME}" макро и "mysql.size [{$ DB_NAME}]" ключ может быть использован для мониторинга всех (или конкретного размера) DB
- Шаблон имеет несколько триггеров. Zabbix будет генерировать проблемы, если MySQL или подчиненный не работает
## Конфигурация
1. Установите и настройте агент Zabbix (https://www.zabbix.com/download )
2. Создайте резервную копию и удалите существующие пользовательские параметры в файле
> /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
3. Предоставьте учетные данные MySQL и установите правильные разрешения (пример для Ubuntu)
cat /etc/mysql/debian.cnf
[client]
user = пользователь
password = пароль
chmod 640 /etc/mysql/debian.cnf
chown root:zabbix /etc/mysql/debian.cnf
4. Добавьте необходимые параметры пользователя. Имейте в виду, это пример.
#Вы можете использовать пользовательские параметры по умолчанию с незначительными изменениями, чтобы получить ту же информацию.
# Гибкий параметр для определения размера базы данных или таблицы. На стороне интерфейса используйте такие ключи, как mysql.size[zabbix,history,data] история, данные.
# Ключевой синтаксис - mysql.size[<база данных>,<таблица>,<тип>]. # База данных может быть именем базы данных или "all" Все.
#Значение по умолчанию - "все". # Таблица может быть именем таблицы или "все". Значение по умолчанию - "все". # Возвращает значение в байтах.
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | /usr/bin/mysql --defaults-extra-file=/etc/mysql/debian.cnf -N'
# Версия и статус MySQL
UserParameter=mysql.ping,mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf ping | grep -c alive
UserParameter=mysql.version,mysql --defaults-extra-file=/etc/mysql/debian.cnf -V
# Гибкий параметр для захвата глобальных переменных. На стороне интерфейса используйте такие ключи, как mysql.status[Com_insert].
UserParameter=mysql.extended_status[*],/usr/bin/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf extended-status variables |awk {'print $$2"| "$$4'} | grep "$1|" | awk {'print $$2'}
# Мониторинг репликации
UserParameter=mysql.slave_lagging,/usr/bin/mysql --defaults-extra-file=/etc/mysql/debian.cnf -Bse "show slave status\\G" | grep Seconds_Behind_Master | awk '{print $$2}' | sed -e 's/^NULL$/-1/; s/![0-9]+/-1/' | awk '{if($2 ~ /d/) {print 100} else {print $2}}'
UserParameter=mysql.slave_status[*],/usr/bin/mysql --defaults-extra-file=/etc/mysql/debian.cnf -e "show slave status\\G"|grep -i $1 | awk '{print $$2}'
5. Перезапустите агент Zabbix и протестируйте команды
systemctl restart zabbix-agent
zabbix_agentd -t "mysql.slave_status[Slave_SQL_Running]"
zabbix_agentd -t "mysql.extended_status[Com_delete]"
6. Импортируйте шаблон, просмотрите и свяжите его с сервером MySQL
7. Результат
![последние данные]
Шаблон приложения MySQL с репликацией / Template App MySQL with replication RUS
Макросы
{$DB_NAME} > all
Группы элементов данных 2
MySQL Репликация Элементы данных 10
MySQL Элементы данных 15
Элементы данных 25
MySQL байтов, полученных в секунду mysql.extended_status[Bytes_received] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL байт отправлено в секунду mysql.extended_status[Bytes_sent] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL начало операции в секунду mysql.extended_status[Com_begin] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL фиксировать операции в секунду mysql.extended_status[Com_commit] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции удаления в секунду mysql.extended_status[Com_delete] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции вставки в секунду mysql.extended_status[Com_insert] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операции отката в секунду mysql.extended_status[Com_rollback] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL выберите операции в секунду mysql.extended_status[Com_select] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL операций обновления в секунду mysql.extended_status[Com_update] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL запросов в секунду mysql.extended_status[Questions] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL медленные запросы mysql.extended_status[Slow_queries] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL время работы mysql.extended_status[Uptime] 1m 1w 365d Zabbix агент MySQL Активировано
MySQL статус Триггеры 1 mysql.ping 1m 1w 365d Zabbix агент MySQL Активировано
all Размер базы данных mysql.size[{$DB_NAME}] 1h 1w 365d Zabbix агент MySQL Активировано
MySQL секунды позади мастера Триггеры 1 mysql.slave_lagging 1m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL выполненная мастер позиция mysql.slave_status[Exec_Master_Log_Pos] 5m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL последняя ошибка репликации mysql.slave_status[Last_Error] 5m 1w Zabbix агент MySQL Репликация Активировано
MySQL ошибка последнего ввода-вывода репликации mysql.slave_status[Last_IO_Error] 5m 1w Zabbix агент MySQL Репликация Активировано
MySQL последняя ошибка SQL репликации mysql.slave_status[Last_SQL_Error] 5m 1w Zabbix агент MySQL Репликация Активировано
MySQL мастер хост mysql.slave_status[Master_Host] 1h 1w Zabbix агент MySQL Репликация Активировано
MySQL считывание основной позиции mysql.slave_status[Read_Master_Log_Pos] 5m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL пространство журнала ретрансляции mysql.slave_status[Relay_Log_Space] 5m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL запущенный ведомый ввод-вывод Триггеры 1 mysql.slave_status[Slave_IO_Running] 1m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL запущенный ведомый SQL Триггеры 1 mysql.slave_status[Slave_SQL_Running] 1m 1w 365d Zabbix агент MySQL Репликация Активировано
MySQL версия mysql.version 1h 1w Zabbix агент MySQL Активировано
Триггеры 3
Средняя MySQLведомое устройство не работает {Template App MySQL with replication RUS:mysql.slave_status[Slave_IO_Running].max(#3)}=0 or {Template App MySQL with replication RUS:mysql.slave_status[Slave_SQL_Running].max(#3)}=0 Активировано
Средняя MySQLведомое устройство не синхронизировано (отстает от ведущего более чем на 3 минуты) Проблема: {Template App MySQL with replication RUS:mysql.slave_lagging.min(#3)}>180
Восстановление: {Template App MySQL with replication RUS:mysql.slave_lagging.min(#3)}<10 Активировано
Средняя MySQL недоступно {Template App MySQL with replication RUS:mysql.ping.last(0)}=0 Активировано
Графики 2
MySQL пропускная способность 900 200 Нормальный
MySQL Операции 900 200 Нормальный
Комплексные экраны 1
MySQL представление 2 x 1 СвойстваКонструктор
Шаблон приложения MySQL с репликацией / Template App MySQL with replication RUS
- Артём Мамзиков
- Admin
- Сообщения: 496
- Стаж: 3 года 5 месяцев
- Откуда: Вологодская область
- Поблагодарили: 20 раз
- Контактная информация:
Шаблон приложения MySQL с репликацией / Template App MySQL with replication RUS
количество слов: 672
Партнёрская ссылка на Хостинг Beget https://beget.com/p937243