Автор оригинала: Vlad Mihalcea.
Вступление
Эта статья представляет собой руководство для начинающих по мониторингу и управлению Percona (PMM), инструменту, который очень удобен, когда дело доходит до анализа данной системы баз данных.
PMM был выпущен в 2016 , и изначально он был доступен для MySQL. Однако с 2018 года он также поддерживает мониторинг PostgreSQL , поэтому, как только вы его изучите , вы сможете использовать его с двумя самыми популярными системами реляционных баз данных с открытым исходным кодом.
Что такое ПММ
PMM-это инструмент с открытым исходным кодом, написанный в Go и размещенный на GitHub , который позволяет вам отслеживать систему реляционных баз данных с помощью pmm-клиента
, который отправляет показатели использования базы данных на pmm-сервер
, который объединяет все данные и предоставляет их вам через интерфейс Графана панели мониторинга.
Вы можете использовать PMM для мониторинга использования ресурсов данной системы баз данных, таких как процессор, оперативная память, сеть или дисковый ввод-вывод, а также для анализа запросов и определения медленно выполняемых запросов или запросов, которые выполняются быстро, но выполняются чаще, чем необходимо, например, N+1 проблем с запросами .
Как установить PMM
Самый простой способ установить PMM-использовать Docker, так как образ размещен в Docker Hub .
Первое, что нам нужно сделать, это вытащить изображение Docker, используя следующую команду:
docker pull percona/pmm-server:2
Теперь вам нужно создать pmm-data
постоянное хранилище, которое необходимо подключить к /srv
пути.
docker create --volume /srv --name pmm-data percona/pmm-server:2 /bin/true
Следующим шагом является создание контейнера PMM Docker.
Если вы используете Windows, вы можете выполнить следующую команду:
docker run --detach --restart always ^ --name pmm-server ^ --publish 9090:80 ^ --volumes-from pmm-data ^ percona/pmm-server:2
Для системы на базе Unix используйте \
вместо ^
для разделителя новой строки, как это:
docker run --detach --restart always \ --name pmm-server \ --publish 9090:80 \ --volumes-from pmm-data \ percona/pmm-server:2
Атрибут publish
позволяет нам сопоставить порт 80 в контейнере PMM docker с портом 9090 в операционной системе хоста.
Атрибут volumes-from
позволяет нам ссылаться на pmm-данные
тома, которые мы создали ранее.
Чтобы проверить, что контейнер был создан, выполните команду docker ps-a
, и вы увидите что-то вроде этого:
> docker ps -a NAMES IMAGE COMMAND PORTS pmm-server percona/pmm-server:2 /opt/entrypoint.sh 0.0.0.0:9090 -ᐳ 80/tcp pmm-data percona/pmm-server:2 /bin/true
Если вы откроете браузер и загрузите URL-адрес localhost:9090
, вы увидите что-то вроде этого:
Как отслеживать базу данных PostgreSQL или MySQL с помощью PMM
Чтобы отслеживать новую базу данных, перейдите к кнопке поиска в меню слева и найдите Добавить экземпляр , как показано на следующей диаграмме:
После того как вы нажмете значок PMM Добавить экземпляр и выберете тип БД, которую вы хотите отслеживать.
Для удаленной базы данных MySQL (даже установленной в ОС хоста) выберите параметр Добавление удаленного экземпляра MySQL и добавьте учетные данные базы данных, как показано на следующей диаграмме:
Для удаленной базы данных PostgreSQL (даже установленной в ОС хоста) выберите параметр Добавление удаленного экземпляра PostgreSQL и добавьте учетные данные базы данных, как показано на следующей диаграмме:
Мониторинг базы данных с помощью PMM
После добавления базы данных, которую вы хотите отслеживать, вы можете просмотреть выполняемые запросы и посмотреть, какие из них занимают больше времени или выполняются чаще всего в секунду.
Круто, правда?
Вывод
Инструмент Percona PMM очень удобен, когда дело доходит до мониторинга базы данных PostgreSQL или MySQL и анализа выполняемых базовых SQL-запросов.
И, поскольку он доступен в Docker Hub, вы можете легко установить его на свой компьютер или на сервер мониторинга производительности данного приложения.