Перейти к содержимому
Skip to main content

Интеграция с MySQL

info

Перевод в процессе / Translation in progress. See русская версия.

Интеграция опрашивает MySQL (и совместимые форки — MariaDB, Percona) через read-only пользователя, читает performance_schema и SHOW STATUS, публикует в Flaree метрики соединений, трафика и репликации.

Предварительные требования

  • MySQL 8.0+ или MariaDB 10.6+ с включённым performance_schema.

  • Сетевая доступность из агента до инстанса (по умолчанию TCP 3306).

  • Read-only пользователь flaree_agent с минимальными привилегиями мониторинга:

    CREATE USER 'flaree_agent'@'%' IDENTIFIED BY '<your-password>';
    GRANT SELECT, PROCESS, REPLICATION CLIENT ON *.* TO 'flaree_agent'@'%';
    FLUSH PRIVILEGES;

Минимальная конфигурация

integrations:
mysql:
enabled: true
dsn: mysql://flaree_agent:${MYSQL_PASSWORD}@mysql:3306/performance_schema

Полная конфигурация

integrations:
mysql:
enabled: true
dsn: mysql://flaree_agent:${MYSQL_PASSWORD}@mysql:3306/performance_schema?tls=true
tls_ca: /etc/flaree/certs/mysql-ca.pem
slow_query_threshold_ms: 500
connections_pool:
max_open: 4
max_idle: 2
max_lifetime: 5m
queries:
- name: threads_connected
sql: SHOW STATUS LIKE 'Threads_connected';
interval: 15s
- name: innodb_row_lock_waits
sql: SHOW GLOBAL STATUS LIKE 'Innodb_row_lock_waits';
interval: 30s
КлючТипПо умолчаниюОписание
dsnstringСтрока подключения, пароль берётся из ${ENV_VAR}.
tls_capathCA-сертификат для TLS-подключения.
slow_query_threshold_msnumber1000Порог медленного запроса в миллисекундах.
connections_pool.max_opennumber2Максимум открытых соединений от агента.
queries[]array[]Пользовательские запросы, возвращающие одно числовое значение.

Проверка работы

  1. Выполнить пробный запрос тем же пользователем, что указан в agent.yaml.
  2. Проверить, что счётчик flaree_agent_mysql_queries_total виден на метриках агента.
mysql -u flaree_agent -p -e "SHOW STATUS LIKE 'Threads_connected'"
curl -sS http://127.0.0.1:9100/metrics | grep flaree_agent_mysql_queries_total

Troubleshooting

  • Если метрики не появляются, см. нет данных.
  • Типовые ошибки: Access denied при отсутствии гранта PROCESS, отказ TLS-хендшейка при несовпадении CN/SAN, блокирующий firewall на стороне MySQL.