Мониторинг развертывания

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

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

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

MatrixDB Dashboard: MatrixDB Dashboard

MatrixDB Database: MatrixDB Database

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

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

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

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

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

  • Создание базы данных matrixmgr
createdb matrixmgr;
  • Подключение к базе данных matrixmgr, создание расширений matrixts и matrixmgr, включение сбора метрик
psql -d matrixmgr

matrixmgr=# CREATE EXTENSION matrixts;
matrixmgr=# CREATE EXTENSION matrixmgr;

matrixmgr=# SELECT mxmgr_init_local();

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

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

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

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

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

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

  • Скачивание и установка 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
sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server
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_Grafana_host>:3000
  • Настройка панелей мониторинга

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

Для добавления источника данных: 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 /usr/local/matrixdb/share/doc/postgresql/extension

##or

[mxadmin@mdw ~]$ find /usr/local/matrixdb/share/doc/postgresql/extension -name database.json

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

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

[mxadmin@mdw]$ scp mxadmin@<server_IP>:/usr/local/matrixdb/share/doc/postgresql/extension/"database.json" mxadmin@<server_IP>:/tmp/

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

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

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

После внесения изменений импортируйте JSON-файлы через веб-интерфейс Grafana.

Import Dashboard 1 Import Dashboard 3

2 Управление

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

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

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

psql -d matrixmgr

matrixmgr=# SELECT mxmgr_remove_all('local');

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

matrixmgr=# SELECT mxmgr_deploy('local');