Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

EXPORTER_SCRAPE_FAIL Linux / DevOps

Мониторинг MySQL с Prometheus mysqld_exporter и Performance Schema

Обновлено: 21.08.2026
  • Отсутствие метрик реального времени по QPS, медленным транзакциям, блокировкам строк и состоянию Buffer Pool.
  • Высокая нагрузка на базу данных при опросе стандартными скриптами мониторинга.
  • Ошибки прав доступа Access denied for user 'mysqld_exporter' при сборе системных метрик.

1. Создание сервисного пользователя с минимальными правами

CREATE USER 'mysqld_exporter'@'127.0.0.1' IDENTIFIED BY 'ExporterPassword123' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'127.0.0.1';
FLUSH PRIVILEGES;

2. Создание файла аутентификации экспортера

Создайте защищенный файл /etc/.mysqld_exporter.cnf:

[client]
user=mysqld_exporter
password=ExporterPassword123
host=127.0.0.1
port=3306
chmod 400 /etc/.mysqld_exporter.cnf
chown prometheus:prometheus /etc/.mysqld_exporter.cnf

3. Настройка сервиса Systemd для mysqld_exporter

Создайте unit-файл /etc/systemd/system/mysqld_exporter.service:

[Unit]
Description=Prometheus MySQL Exporter
After=network.target

[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/bin/mysqld_exporter \
  --config.my-cnf=/etc/.mysqld_exporter.cnf \
  --collect.global_status \
  --collect.global_variables \
  --collect.info_schema.innodb_metrics \
  --collect.info_schema.innodb_tablespaces \
  --collect.perf_schema.eventsstatements \
  --collect.perf_schema.tablelocks
Restart=always

[Install]
WantedBy=multi-user.target

4. Запуск и проверка сбора метрик

systemctl daemon-reload
systemctl enable --now mysqld_exporter
curl -s http://localhost:9104/metrics | grep mysql_global_status_threads_connected
💡 Практика специалистов: Для готовой визуализации в Grafana импортируйте проверенный официальный дашборд 'MySQL Overview' (ID: 7362), предоставляющий полный срез по InnoDB, I/O, блокировкам и типам команд.

Частые вопросы (FAQ)

Почему не стоит включать все флаги коллектора perf_schema без разбора?

Сбор тяжелых метрик из performance_schema на СУБД с десятками тысяч таблиц может создать ощутимую нагрузку на CPU при каждом цикле скрейпинга (scrape interval).

Зачем указывать опцию MAX_USER_CONNECTIONS 3 для пользователя экспортера?

Это защитный барьер: в случае сбоев или утечки соединений в системе мониторинга экспортер не сможет занять все свободные слоты max_connections и уронить продакшен.

Полезные материалы
Рекомендуем