Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
YMatrix предоставляет пользовательский экспортер, который бесшовно интегрируется с экосистемой мониторинга Prometheus.
Обратите внимание, что экспортер YMatrix и соответствующие дашборды охватывают только метрики базы данных, а не метрики операционной системы. Мониторинг на уровне ОС требует дополнительных экспортеров, таких как node_exporter. Архитектура показана ниже:

Экспортер YMatrix включен в установочный пакет YMatrix и может быть активирован во время настройки. После активации установите и разверните node_exporter, Grafana и Prometheus.
createdb matrixmgr;
psql -d matrixmgr
matrixmgr=# CREATE EXTENSION matrixts;
matrixmgr=# CREATE EXTENSION matrixmgr;
matrixmgr=# SELECT mxmgr_init_exporter();
При успешном выполнении в базе данных matrixmgr появится новая схема с именем "exporter". Эта схема содержит таблицы и представления с данными мониторинга и конфигурации кластера. Не изменяйте определения или содержимое этих таблиц и представлений.
Эта команда запускает matrixdb_exporter на всех хостах кластера.
Примечание!
Если устаревшая система мониторинга уже запущена, сначала отключите её — иначе активация не удастся.
Для отключения:SELECT mxmgr_remove_all('local');
node_exporter собирает метрики на уровне ОС. Скачайте последнюю версию с официального сайта: node_exporter. В следующем примере используется версия 1.3.1 (запуск от имени root).
# Download node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
# Extract the package
tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local
# Create a symbolic link
ln -s /usr/local/node_exporter-1.3.1.linux-amd64/ /usr/local/node_exporter
# Generate systemctl configuration file
cat << EOF > /usr/lib/systemd/system/node_exporter.service
[Service]
User=root
Group=root
ExecStart=/usr/local/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
[Unit]
Description=node_exporter
After=network.target
EOF
# Start node_exporter
systemctl start node_exporter
systemctl status node_exporter
systemctl enable node_exporter
Примечание!
node_exporterдолжен быть развернут на всех хостах кластера. Повторите вышеуказанные шаги на каждом хосте.
Выберите хост, имеющий доступ к портам экспортера на всех узлах кластера. Это может быть Master, Standby Master или отдельный компьютер (Linux, MacOS, Windows и т.д.).
Установите последнюю версию Prometheus. Официальная ссылка для скачивания: https://prometheus.io/download/.
В следующих командах в качестве примера используется CentOS 7. Для других операционных систем обратитесь к их соответствующим руководствам.
Примечание!
Во время установки вы можете выбрать, устанавливать ли интерфейс мониторинга mxgate. В приведённом ниже примере включён код для мониторинга mxgate. Удалите соответствующий фрагмент, если мониторинг mxgate не требуется. См. комментарии в примере.
# Download package
wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz
# Extract to /usr/local and create symbolic link
tar -xf ./prometheus-2.36.1.linux-amd64.tar.gz -C /usr/local
ln -s /usr/local/prometheus-2.36.1.linux-amd64/ /usr/local/prometheus
# Create Prometheus user
useradd -s /sbin/nologin -M prometheus
# Create data directory
mkdir /data/prometheus -p
# Set ownership
chown -R prometheus:prometheus /usr/local/prometheus/
chown -R prometheus:prometheus /data/prometheus/
# Configure systemctl
cat << EOF > /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# Edit Prometheus configuration file
# Add matrixdb and node exporter IPs and ports in scrape_configs
# (matrixdb_exporter default port: 9273, node_exporter default port: 9100)
# Note: matrixdb and mxgate dashboards use the matrixdb_cluster label for cluster filtering.
# Add relabel_configs to replace the job label with matrixdb_cluster.
# Set 'replacement' to your cluster name.
# Example configuration:
scrape_configs:
- job_name: "matrixdb_exporter"
relabel_configs:
- source_labels: ['job']
regex: .*
target_label: matrixdb_cluster
replacement: cluster1
action : replace
static_configs:
- targets: ["localhost:9273"]
- job_name: "node_exporter"
static_configs:
- targets: ["localhost:9100"]
# For multi-host clusters, list all host IPs and ports in targets:
# Example:
scrape_configs:
- job_name: "matrixdb_exporter"
relabel_configs:
- source_labels: ['job']
regex: .*
target_label: matrixdb_cluster
replacement: cluster1
action : replace
static_configs:
- targets: ["192.168.0.1:9273", "192.168.0.2:9273", "192.168.0.3:9273"]
- job_name: "node_exporter"
static_configs:
- targets: ["192.168.0.1:9100", "192.168.0.2:9100", "192.168.0.3:9100"]
# Optional: Add the following section to monitor mxgate. Restart Prometheus after adding.
- job_name: "gate_exporter"
relabel_configs:
- source_labels: ['job']
regex: .*
target_label: matrixdb_cluster
replacement: cluster1
action : replace
static_configs:
- targets: ["192.168.0.1:9275"]
# Important: Ensure correct indentation in YAML to avoid syntax errors.
# Start Prometheus
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus
После запуска откройте веб-интерфейс Prometheus для проверки статуса: http://IP:9090/
На панели Prometheus перейдите в раздел Status → Targets:

Вы должны увидеть, что matrixdb_exporter, node_exporter и сам Prometheus отмечены как UP, что указывает на успешное развертывание:

После включения сбора метрик кластера каждый хост запускает службу сбора. Логи сохраняются в каталоге /var/log/matrixdb.
При перезапуске YMatrix или перезагрузке сервера и последующем запуске YMatrix служба matrixdb_exporter запустится автоматически.
Чтобы остановить службу matrixdb_exporter, подключитесь к базе данных matrixmgr и выполните:
psql -d matrixmgr
matrixmgr=# SELECT mxmgr_remove_exporter();
Чтобы снова включить сбор данных, подключитесь к базе данных matrixmgr и выполните:
matrixmgr=# SELECT mxmgr_deploy_exporter();
Примечание!
mxmgr_remove_exporterостанавливает толькоmatrixdb_exporter. Вы должны отдельно остановитьnode_exporter, Grafana и Prometheus.
Миграция с устаревшей системы мониторинга на новую, основанную на Prometheus.
Сначала завершите настройку Prometheus и обновите Grafana до последней версии:
# Stop legacy monitoring
psql -d matrixmgr
matrixmgr=# SELECT mxmgr_remove_all('local');
# Initialize and start new monitoring
matrixmgr=# SELECT mxmgr_init_exporter();
Примечание!
Вы можете одновременно запускать и устаревшую, и новую системы мониторинга. Однако это приведёт к избыточному сбору данных.