Установка и управление 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
[<regular_user>@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_hostname_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/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 в dashboard.json на 'mdw','sdw1','sdw2'. Для database.json замените только ${cluster} на local. После модификации импортируйте файлы в Grafana.

Import Dashboard 1

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

Import Dashboard 3

Примечание!
Дополнительную информацию о настройке панелей данных YMatrix, добавлении панелей node_exporter, развертывании панелей мониторинга MatrixGate и панелей мониторинга etcd см. в разделе Настройка мониторинга Grafana.
Для настройки оповещений см. Оповещения кластера Grafana.

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');