Grafana Мониторинг

YMatrix предоставляет нативный графический инструмент мониторинга на базе Grafana. В этом документе описаны шаги по развертыванию и управлению компонентами мониторинга. YMatrix включает в себя стандартную панель мониторинга, отображающую следующую информацию. Пользователи также могут создавать пользовательские дашборды в Grafana, используя собранные системные данные.

  • Состояние кластера, версия, текущее количество подключений, время работы и статус узлов данных (Segment)
  • Свободное место на диске: текущее использование диска на узле Master и узлах Segment
  • Логи базы данных: просмотр недавних логов базы данных с фильтрацией по уровням серьезности, таким как предупреждение, ошибка, критическая и фатальная
  • Недавняя нагрузка на серверы базы данных, включая:
    • ЦП, память, ввод-вывод диска, сетевой ввод-вывод и количество процессов
    • Возможность выбора всех или конкретных хостов для мониторинга
    • Гибкий выбор временного диапазона и интервалы автоматического обновления

После развертывания интерфейс мониторинга выглядит следующим образом. Начиная с версии 4.4, панель мониторинга разделена на две части: MatrixDB Dashboard и MatrixDB Database.

MatrixDB Dashboard:
MatrixDB Dashboard

MatrixDB Database:
MatrixDB Database

1 Развертывание

Компоненты мониторинга входят в состав установочного пакета YMatrix. После развертывания YMatrix настройка мониторинга выполняется в два этапа: включение сбора метрик и установка и настройка Grafana.

1.1 Включение сбора метрик

Выполните следующие шаги для включения сбора метрик по YMatrix и использованию системных ресурсов. Собранные данные сохраняются в новой базе данных с именем matrixmgr. В приведенных ниже примерах мастер-узел называется mdw.

  • Переключитесь на пользователя mxadmin
[<普通用户>@mdw ~]$ sudo su - mxadmin
  • Подключитесь к базе данных matrixmgr и включите сбор метрик
[mxadmin@mdw ~]$ psql -d matrixmgr
matrixmgr=# SELECT mxmgr_init_local();

При успешном выполнении в базе данных matrixmgr появится новая схема с именем local. Таблицы и представления в этой схеме содержат данные мониторинга и конфигурации кластера. Не изменяйте вручную определения или содержимое этих таблиц и представлений.

1.2 Установка и настройка Grafana

Подготовьте хост, имеющий доступ как к мастер-узлу, так и к интернету. Это может быть Master, Standby Master или отдельный компьютер (Linux, macOS, Windows и т.д.).

Установите Grafana, рекомендуется версия 7.3 или выше. Официальная ссылка для скачивания: https://grafana.com/grafana/download.

Приведенные ниже команды используют CentOS 7 в качестве примера. Для других операционных систем обратитесь к соответствующей документации.

Примечание!
YMatrix поддерживает офлайн-установку Grafana. Подробности см. в разделе Часто задаваемые вопросы по мониторингу и оповещениям.

  • Скачайте и установите Grafana
wget https://dl.grafana.com/oss/release/grafana-7.3.6-1.x86_64.rpm
sudo yum install grafana-7.3.6-1.x86_64.rpm
  • Запустите Grafana
[mxadmin@mdw ~]$ sudo systemctl daemon-reload
[mxadmin@mdw ~]$ sudo systemctl start grafana-server
[mxadmin@mdw ~]$ sudo systemctl status grafana-server
[mxadmin@mdw ~]$ sudo systemctl enable grafana-server

Примечание!

  1. Версия Grafana, предоставляемая yum в CentOS 7, часто устаревает (6.x), поэтому sudo yum install grafana не рекомендуется.
  2. Полное официальное руководство по установке см. на https://grafana.com/docs/grafana/latest/installation/rpm

После установки откройте в браузере следующий URL. Порт 3000 — это стандартный порт Grafana, который можно изменить. Войдите с помощью учетных данных по умолчанию (admin / admin). Для безопасности после входа измените пароль, нажав на значок пользователя в левом нижнем углу.

http://<IP_or_domain_of_installed_node>:3000
  • Настройка панелей мониторинга

После установки Grafana добавьте базу данных matrixmgr в YMatrix как источник данных и импортируйте предопределенные панели мониторинга.

Шаги для добавления источника данных:
Add Data Source 1
Add Data Source 2
Add Data Source 3

Перед импортом предопределенных панелей скопируйте файлы dashboard.json и database.json на локальную машину. Процесс следующий: найдите файлы на сервере, скопируйте их, а затем загрузите локально. Выполните следующие шаги:

Сначала войдите на сервер и переключитесь на пользователя mxadmin. Найдите файлы dashboard.json и database.json по указанному ниже пути. Вы можете использовать команду cd, команду find или любой другой предпочитаемый метод. Пример команды find ниже ищет database.json.

[mxadmin@mdw ~]$ cd /opt/ymatrix/matrixdb5/share/ru/doc/postgresql/extension

##or

[mxadmin@mdw ~]$ find /opt/ymatrix/matrixdb5/share/ru/doc/postgresql/extension -name database.json

Затем используйте команду scp, чтобы скопировать файлы на локальную машину. Возможны проблемы с правами доступа. Рассмотрите возможность копирования файла сначала в каталог /tmp/, а затем из /tmp/ на локальную машину. Пример ниже использует database.json.

Примечание!
При копировании из /tmp/ убедитесь, что вы переключились на нужного пользователя, чтобы избежать проблем с правами доступа.

[mxadmin@mdw]$ scp mxadmin@<server_IP>:/opt/ymatrix/matrixdb5/share/ru/doc/postgresql/extension/"database.json" mxadmin@<server_IP>:/tmp/

~ scp waq@<server_IP>:/tmp/"database.json" /Users/akkepler/workplace/Grafana

Наконец, откройте локальную папку или используйте командную строку, чтобы убедиться, что файлы успешно скопированы. После подтверждения загрузите файлы через интерфейс Grafana.

Примечание!
Если импорт не удается, выполните следующие изменения переменных.

В файле dashboard.json замените все вхождения ${cluster} на local. Замените $host на фактические имена хостов. Например, если ваш кластер состоит из mdw, sdw1 и sdw2, замените все вхождения $host в dashboard.json на 'mdw','sdw1','sdw2'. Для файла database.json замените только ${cluster} на local. После модификации импортируйте файлы в Grafana.

Import Dashboard 1

Нажмите Upload JSON file, чтобы выбрать и импортировать файлы dashboard.json и database.json. Эти файлы по умолчанию находятся в /opt/ymatrix/matrixdb5/share/ru/doc/postgresql/extension.

Import Dashboard 3

2 Управление

После включения сбора метрик кластера каждый хост запускает службу сбора. Соответствующие логи хранятся в каталоге /var/log/matrixdb.

Если вы перезапускаете YMatrix или перезагружаете сервер, а затем снова запускаете YMatrix, служба сбора данных запускается автоматически. Ручное вмешательство не требуется.

Чтобы остановить службу сбора данных, подключитесь к базе данных matrixmgr и выполните mxmgr_remove_all. Собранные данные сохраняются после остановки:

[mxadmin@mdw ~]$ psql -d matrixmgr

matrixmgr=# SELECT mxmgr_remove_all('local');

Если служба сбора была остановлена вручную или после переустановки YMatrix, повторно включите сбор, подключившись к базе данных matrixmgr и выполнив mxmgr_deploy:

matrixmgr=# SELECT mxmgr_deploy('local');