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

MatrixDB Database:

Компоненты мониторинга входят в состав установочного пакета YMatrix. После развертывания YMatrix настройка мониторинга выполняется в два этапа: включение сбора метрик и установка/настройка Grafana.
Выполните следующие шаги для включения сбора метрик по YMatrix и использованию системных ресурсов. Собранные данные сохраняются в новой базе данных с именем matrixmgr. В приведенных ниже примерах хост Master — mdw.
[<普通用户>@mdw ~]$ sudo su - mxadmin
[mxadmin@mdw ~]$ psql -d matrixmgr
matrixmgr=# SELECT mxmgr_init_local();
При успешном выполнении в базе данных matrixmgr появится новая схема с именем local. Таблицы и представления в этой схеме содержат данные мониторинга и конфигурации кластера. Не изменяйте вручную определения или содержимое этих таблиц и представлений.
Подготовьте хост, имеющий доступ как к узлу Master, так и к интернету. Это может быть Master, Standby Master или отдельный компьютер (Linux, macOS, Windows и т.д.).
Установите Grafana версии 7.3 или выше (рекомендуется). Официальные инструкции по загрузке и установке доступны по адресу https://grafana.com/grafana/download.
Приведенные ниже команды используют CentOS 7 в качестве примера. Для других операционных систем обратитесь к их соответствующей документации.
Примечание!
YMatrix поддерживает офлайн-установку 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
[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
Примечание!
- Версия Grafana, предоставляемая через
yumв CentOS 7, часто устаревает (6.x), поэтому прямая установка черезsudo yum install grafanaне рекомендуется.- Для полных официальных инструкций по установке см. https://grafana.com/docs/grafana/latest/installation/rpm
После установки откройте браузер и перейдите по следующему URL. Порт 3000 — это стандартный порт Grafana, который можно изменить. Войдите с помощью учетных данных по умолчанию (admin / admin). Для безопасности измените пароль после входа, нажав на аватар пользователя в левом нижнем углу.
http://<IP_or_domain_of_installed_node>:3000
После установки Grafana добавьте базу данных matrixmgr из YMatrix в качестве источника данных и импортируйте предопределенные панели мониторинга.
Шаги для добавления источника данных:



Перед импортом предопределенных панелей скопируйте файлы 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.


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

После включения сбора метрик кластера каждый хост запускает службу сбора. Соответствующие логи хранятся в /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');