Grafana Мониторинг

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

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

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

MatrixDB Dashboard:
MatrixDB Dashboard

MatrixDB Database:
MatrixDB Database

Для сложных панелей добавлены описания. Чтобы просмотреть объяснение, наведите курсор на значок в левом верхнем углу панели:
Panel Desc

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或者域名>: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/, а затем передать его из /tmp/ на локальную систему. Пример с использованием database.json:

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

[mxadmin@mdw]$ scp mxadmin@< 服务器IP地址 >:/opt/ymatrix/matrixdb5/share/doc/postgresql/extension/"database.json" mxadmin@< 服务器IP地址 >:/tmp/

~ scp waq@< 服务器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

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