Zabbix

Мониторинг репликации MySQL и MariaDB в Zabbix: lag, ошибки и состояние реплики

Репликация может выглядеть «живой» только потому, что MySQL отвечает на порт и база принимает запросы. При этом реплика способна отстать на часы или остановить один из потоков после ошибки. Поэтому мониторинг должен отдельно контролировать состояние репликации.

Начните с официального MySQL template

В современных версиях Zabbix есть штатные шаблоны MySQL. Они позволяют собирать большой набор метрик без самодельных cron-скриптов. Для мониторинга создайте отдельного пользователя БД с минимально необходимыми правами и подключите template, соответствующий вашей версии Zabbix.

Что контролировать у реплики

  • работает ли replication I/O thread;
  • работает ли SQL/apply thread;
  • есть ли ошибка репликации;
  • какова задержка относительно источника;
  • не растёт ли lag длительное время;
  • есть ли данные вообще — отсутствие метрики не должно считаться нормой.

Lag не стоит оценивать одним жёстким порогом

Допустимая задержка зависит от нагрузки и назначения реплики. Для аналитической реплики несколько десятков секунд могут быть приемлемы, а для failover-сценария — уже нет. Лучше иметь warning и high thresholds и отдельно alert на устойчивый рост задержки.

Проверяйте именно вашу схему репликации

Названия команд и возвращаемых полей отличаются между версиями MySQL и MariaDB, а также между классической и более современной терминологией source/replica. Не привязывайте template к одному текстовому выводу без необходимости: где возможно, используйте официальный шаблон и структурированные данные.

Отдельный триггер на остановку важнее графика lag

Если один из потоков остановился, значение задержки может перестать обновляться или выглядеть неоднозначно. Поэтому состояние потоков и наличие свежих данных должны иметь отдельные триггеры, а lag — быть дополнительным сигналом.

Не выдавайте лишние права пользователю Zabbix

Мониторинговому аккаунту не нужны права изменения данных. Используйте минимальный набор прав, который требуется официальному template, храните пароль в макросах/секретах и ограничивайте сетевой доступ.

Итог: хороший мониторинг репликации отвечает на три вопроса: реплика вообще работает, она не отстаёт сверх нормы и ошибки не скрылись за зелёным статусом самого MySQL-сервера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *