DBSExporter — дополнение, которое предназначено для мониторинга баз данных PostgreSQL, MongoDB, RabbitMQ, Redis и S3‑хранилища.
Установка дополнения состоит из следующих этапов:
- Загрузить helm-чарт и конфигурационный файл.
- Создать токен конфигурации, чтобы использовать MinIO-метрики для Prometheus.
- Заполнить конфигурационный файл.
- Установить Node Exporter на серверы с базами данных.
- Установить чарт DBSExporter с помощью Helm в Kubernetes-кластер.
Шаг 1: Загрузить Helm-чарт и конфигурационный файл
Для установки через интернет получите конфигурационный файл values-dbsexporter.yaml
, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/dbsexporter > values-dbsexporter.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
helm repo add elma365 https://charts.elma365.tech
tar -xf dbsexporter-X.Y.Z.tgz |
Шаг 2: Создать токен конфигурации, чтобы использовать MinIO-метрики для Prometheus
Cоздайте alias
и отправьте команду для генерации токена, выполнив команду:
mc alias set my_alias http://minio.local accessKey secretKey
mc admin prometheus generate my_alias
Шаг 3: Заполнить конфигурационный файл
Заполнение конфигурационного файла для установки DBSExporter
|
prometheus-minio-exporter: Где формат repository: адрес — |
В конфигурационный файл values-dbsexporter.yaml
вы можете добавить дополнительные настройки:
- Подключить в DBSExporter несколько баз данных как внутренних, так и внешних. Для этого продублируйте параметры блока
instances
и настройте параметры подключения к каждой реплике. Например:
instances:
- name: mongodb-1
uri: "mongodb://mongodb-1:27017"
- name: mongodb-2
uri: "mongodb://mongodb-2:27017"
- Включить сбор метрик с Yandex Cloud.
Сбор метрик с Yandex Cloud является платной услугой. Подробнее читайте в официальной документации сервиса.
Пример включения сбора метрик с Yandex Cloud:
global:
# Экспорт yandex метрик
yandexExporter:
enabled: true
bearerToken: "your_bearerToken"
folderId: "your_folderId"
services: ["managed-mongodb", "managed-postgresql"]
relabelings: {}
- Связать DBSExporter с Deckhouse. Пример:
global:
provisioner: "deckhouse"
Шаг 4: Установить Node Exporter на серверы с базами данных
Чтобы отслеживать состояние серверов с базами данных, выполните установку Node Exporter. Для этого:
- Загрузите Node Exporter на сервер с базой данных:
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
- Разархивируйте архив, загруженный на предыдущем шаге:
tar xvf node_exporter-1.8.2.linux-amd64.tar.gz && cd node_exporter-1.8.2.linux-amd64
- Скопируйте файл
node_exporter
:
sudo cp node_exporter /usr/local/bin/
- Создайте пользователя для Node Exporter:
sudo useradd --no-create-home --shell /bin/false nodeusr
- Задайте владельца для исполняемого файла
node_exporter
:
sudo chown -R nodeusr:nodeusr /usr/local/bin/node_exporter;
- Создайте файл
node_exporter.service
для запуска Node Exporter в качестве службы:
cat <<EOF | sudo tee /etc/systemd/system/node_exporter.service;
[Unit]
Description=NodeExporter
[Service]
TimeoutStartSec=0
User=nodeusr
ExecStart=/usr/local/bin/node_exporter \
--web.listen-address=:9100
[Install]
WantedBy=multi-user.target
EOF
- Перечитайте конфигурацию
systemd
:
sudo systemctl daemon-reload
- Запустите службу
node_exporter.service
:
sudo systemctl enable --now node_exporter.service
После установки Node Exporter заполните параметры в конфигурационном файле values-dbsexporter.yaml
, чтобы отслеживать состояния серверов с базами данных. При этом адреса хостов будут извлекаться из пунктов instances
конфигурационного файла.
Пример заполнения параметров:
global:
# Настройки node exporter
nodeExporter:
enabled: true
port: 9100
relabelings: {}
Шаг 5: Установить чарт DBSExporter с помощью Helm в Kubernetes-кластер
Выполните установку чарта DBSExporter в namespace monitoring
.
Для установки через интернет:
helm upgrade --install -n monitoring dbsexporter elma365/dbsexporter -f values-dbsexporter.yaml
Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:
helm upgrade --install dbsexporter ./dbsexporter -f values-dbsexporter.yaml -n monitoring