Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

MySQL (remote monitoring)

Материал из Документация АппОптима
Версия от 06:33, 15 ноября 2023; ENetrebin (обсуждение | вклад) (Новая страница: «Удаленно отслеживайте свои экземпляры MySQL, собирайте ключевые показатели эффективности...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Удаленно отслеживайте свои экземпляры 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 недоступен на стороне клиента»

Это означает, что имя пользователя не идентифицируется собственным паролем. См. раздел «Начало работы».

Я не вижу показателей процессора и памяти

Убедитесь, что для вашего экземпляра включен сбор данных.

Вы можете проверить возможность запроса данных, выполнив:

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;

Я не вижу медленных запросов

См. Сбор самых медленных запросов раздел «Начало работы».