Существует множество проприетарных сервисов мониторинга БД, но есть отличная альтернатива с открытым исходным кодом — Percona Monitoring and Management (PMM). Я подробно расскажу, как настроить мониторинг с его помощью. У пакета Percona Monitoring and Management есть 3 основные фичи: мониторинг, алерты и  query analytics. Сразу после настройки PMM можно использовать много дефолтных дашбордов (Интерфейс - Grafana). В этих стандартных дашбордах уже отображается информация: О вашем сервере (на котором развёрнута бд)  CPU load RAM usage Network usage Disk usage Disk space forecast Uptime И т.д. О вашей БД  Connections Queries Per Second Uptime И т.д. Эти дашборды уже достаточно информативны, но вы можете настроить их под себя. В PMM можно настроить уведомления, если что-то идёт не так. Например, если CPU load превышает 90% или прогноз времени до полного заполнения диска меньше недели. Главная, на мой взгляд, функция PMM – это query analytics. PMM агрегирует запросы к БД и считает аналитику по ним. Так можно найти, какие запросы сильнее всего нагружают базу данных, оптимизировать их и сэкономить денег на инфраструктуре. PMM состоит из двух частей Client (Agent) Server PMM Agent устанавливается на хост вашей БД. Он будет собирать телеметрию и отсылать на PMM Server. Процесс настройки мониторинга БД с помощью PMM можно разделить на 5 этапов: Создать PMM Server Установить PMM Agent Подключить PMM Agent к PMM Server Подключить DB к PMM Agent Customise Dashboards and Alerts В отличие от большинства cloud-based систем мониторинга, здесь об облаке (PMM Server) нужно позаботиться самому. Самый простой способ – это получить fully managed PMM Server на hosetedpmm.com. Если вы хотите настроить PMM Server самостоятельно, вам потребуется сервер (VPS/VDS) соответствующий системным требованиям PMM. Он будет обрабатывать и хранить данные телеметрии, присланные агентами, поэтому нужен хост с 2 Гб RAM и диск из расчета 1 Гб на телеметрию с одной бд в неделю. Когда вы подготовили хост, можно установить PMM Server. Для этого используйте easy-install script запустив команду: Этот скрипт: Установит Docker (если еще не установлен). Остановит все запущенные PMM Server Docker контейнеры, если такие есть Скачает и запустит Docker image PMM Server последней версии. После установки PMM Server возможно потребуется настроить сеть. Если всё настроено корректно, вы сможете зайти в веб интерфейс PMM Server. Используйте admin/admin чтобы войти. Вы попадёте на главный дашборд. Как видите, тут уже отображается информация про хост, на котором развернут PMM Server и телеметрия его базы данных. Всё, PMM Server готов и работает. PMM Agent нужно установить на хост с базой данных. Для этого потребуется ssh доступ и права администратора. Есть несколько способов установить PMM Agent: Docker Package manager Binary package Не все готовы устанавливать докер на машину с бд, а установку из Binary package сложно обновлять. Поэтому многие предпочитают вариант под номером 2 - установку из репозитория. Её и рассмотрим. Для установки PMM агента нужно запустить несколько команд в терминале машины с бд. Они отличаются в зависимости от ОС: Debian-based Red Hat-based В большинстве случаевв проблем на этом этапе не возникает. PMM Agent установлен. Теперь нужно подключить его к PMM серверу. Для подключения агента к серверу используется команда с логином, паролем и ip вашего PMM Server. Флаг --server-insecure-tls можно убрать, если добавить SSL сертификаты в PMM Server. Это может быть не просто, но очень важно для безопасности. Если вы сделали сервер на hostedpmm.com, там этой проблемы нет - сертификаты уже внутри. После подключения PMM Agent к PMM Server, вы уже сможете видеть метрики машины, на которой работает ваша бд. Но в метриках самой БД мы пока видим N/A. Чтобы увидеть здесь телеметрию из базы данных, нужно подключить к ней PMM Agent. Для PMM агента лучше создать отдельного юзера в бд без админских прав. Настройка немного отличается в зависимости от БД, но смысл один. Например для MySQL с именем пользователя pmm и паролем pass После этого через UI PMM Server нужно добавить service MySQL, используя логин и пароль этого юзера. После этого метрики вашей бд должны начать собираться. Базовая настройка завершена. Много дашбордов доступны из коробки. Например можно смотреть прогноз, когда закончится место на диске или использовать Query analytics для поиска проблемных запросов. Также можно добавить алерты на случай, если что-то пойдёт не так. Всё готово! Open source мониторинг БД настроен. Это мощный бесплатный инструмент, с помощью которого можно улучшить доступность сервиса, оптимизировать приложения и сэкономить на инфраструктуре. Если будете настраивать PMM для себя, попробуйте воспользоваться hostedpmm.com -  это мой проект. Выглядит так: Там 1 месяц бесплатно для всех - можно попробовать потыкать, понять подходит вам или нет. А если напишите мне (sergei.krupnik@hostedpmm.com), что вы с Хабра, я начислю вам ещё бонус в $200. Спасибо, что дочитали. Успехов!  Инженерия, IT, финансы, бизнес.