Grafana Мониторинг

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

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

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

MatrixDB Dashboard:
MatrixDB Dashboard

MatrixDB Database:
MatrixDB Database

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

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

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

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

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

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

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

Подготовьте хост, имеющий доступ как к узлу Master, так и к интернету. Это может быть 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. Перейдите в путь, показанный на изображении, или используйте команду find для поиска файлов dashboard.json и database.json. Ниже приведен пример использования find для database.json.

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

##or

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

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

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

[mxadmin@mdw]$ scp mxadmin@<server_IP>:/opt/ymatrix/matrixdb5/share/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 на 'mdw','sdw1','sdw2'. Для database.json замените только ${cluster} на local. После изменения импортируйте JSON-файлы в 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');