MySQL (remote monitoring)
Удаленно отслеживайте свои экземпляры MySQL, собирайте ключевые показатели эффективности и информацию о медленных запросах.
Обзор
Удаленно отслеживайте базы данных MySQL, в которых невозможно установить ЕдиныйАгент.
Начало работы
Активация расширения
- Активируйте расширение в Hub, перейдя по адресу:
- Расширения → MySQL → Добавить в среду
- Добавьте новую конфигурацию мониторинга для каждого экземпляра MySQL, который вы хотите отслеживать.
Создание пользователя MySQL
Создайте пользователя, идентифицируемого собственным паролем, настройте имя пользователя и пароль по своему усмотрению.
CREATE USER 'astromkey'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Предоставьте пользователю разрешения:
GRANT SELECT ON performance_schema.* TO 'astromkey'@'%';
- Позволяет пользователю запрашивать схему Performance_schema.
GRANT PROCESS ON *.* TO 'astromkey'@'%';
- Позволяет пользователю видеть показатели потоков и подключений других пользователей.
GRANT SHOW DATABASES ON *.* TO 'astromkey'@'%';
- Позволяет пользователю видеть показатели базы данных для всех баз данных.
GRANT SELECT ON mysql.slow_log TO 'astromkey'@'%';
- Позволяет пользователю запрашивать медленные запросы
GRANT SELECT ON sys.x$memory_global_by_current_bytes TO 'astromkey'@'%';
- Разрешить пользователю запрашивать статистику памяти
Сбор показателей инфраструктуры
Чтобы включить сбор показателей ЦП, запустите этот запрос на экземпляре MySQL:
SET GLOBAL innodb_monitor_enable='cpu%';
Сбор самых медленных запросов
Включите запись медленных запросов в таблицу:
SET GLOBAL log_output = 'TABLE';
SET GLOBAL slow_query_log = 'ON';
Порог медленного запроса по умолчанию составляет 10 секунд. Вы можете выбрать порог «медленного запроса», выполнив:
SET GLOBAL long_query_time = 2;
Это установит порог медленных запросов равным 2 секундам.
Информация о совместимости
- MySQL >= 5.7
Часто задаваемые вопросы
Почему я не вижу метрики Waits?
Чтобы собрать показатели ожидания, необходимо включить сбор данных для экземпляра MySQL. См. документацию: https://dev.mysql.com/doc/mysql-perfschema-excerpt/8.0/en/performance-schema-wait-tables.html
Могу ли я отслеживать MariaDB с помощью этого расширения?
Это расширение тестировалось только на экземплярах MySQL. MariaDB официально не поддерживается через это расширение.
Я получаю сообщение об ошибке «Открытый ключ RSA недоступен на стороне клиента»
Это означает, что имя пользователя не идентифицируется собственным паролем. См. раздел «Начало работы».
Я не вижу показателей процессора и памяти
Убедитесь, что для вашего экземпляра включен сбор данных.
- Для процессора:
SET GLOBAL innodb_monitor_enable='cpu%';
- Для памяти: посетите https://dev.mysql.com/doc/refman/8.0/en/monitor-mysql-memory-use.html .
Вы можете проверить возможность запроса данных, выполнив:
SELECT * FROM information_schema.INNODB_METRICS WHERE name IN ('cpu_utime_abs', 'cpu_stime_abs');
И:
SELECT SUBSTRING_INDEX(event_name,'/',2) AS code_area,
SUM(current_alloc) AS current_alloc
FROM sys.x$memory_global_by_current_bytes
GROUP BY SUBSTRING_INDEX(event_name,'/',2)
ORDER BY SUM(current_alloc) DESC;
Я не вижу медленных запросов
См. Сбор самых медленных запросов
раздел «Начало работы».