DBSExporter — дополнение, которое предназначено для мониторинга баз данных PostgreSQL, MongoDB, RabbitMQ, Redis и S3-хранилища.
Установка дополнения состоит из четырёх этапов:
- Загрузить helm-чарт и конфигурационный файл.
- Создать токен конфигурации, чтобы использовать MinIO-метрики для Prometheus.
- Заполнить конфигурационный файл.
- Установить чарт 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
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
- На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта DBSExporter из репозитория ELMA365, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm pull elma365/dbsexporter
- Полученный архив чарта dbsexporter-X.Y.Z.tgz скопируйте на сервер, где будет производиться установка.
- Распакуйте чарт и скопируйте конфигурационный файл по умолчанию
values.yaml в values-dbsexporter.yaml .
tar -xf dbsexporter-X.Y.Z.tgz
cp dbsexporter/values.yaml values-dbsexporter.yaml
|
Шаг 2: Создать токен конфигурации, чтобы использовать MinIO-метрики для Prometheus
Cоздайте alias
и отправьте команду для генерации токена, выполнив команду:
mc alias set my_alias http://minio.local accessKey secretKey
mc admin prometheus generate my_alias
Шаг 3: Заполнить конфигурационный файл
Заполнение конфигурационного файла для установки DBSExporter
Сгенерированный токен используйте при настройке подключения к MinIO в файле values-dbsexporter.yaml .
dbsexporter:
## Включение импорта графиков
grafana-dashboards:
dashboards:
enabled: true
grafanaFolder: dbs
## Настройки подключения к Minio
prometheus-minio-exporter:
nameOverride: minio
instances:
- name: minio-job
token: generated_token
path: /minio/v2/metrics/cluster
host: 'minio.local'
port: 80
scheme: http
## Настройки подключения к MongoDB
prometheus-mongodb-exporter:
nameOverride: mongo
instances:
- name: mongodb
uri: "mongodb://mongodb:27017"
## Настройка подключения к Postgres
prometheus-postgres-exporter:
nameOverride: postgres
config:
instances:
- name: postgres
## Укажите один из источников данных и секрета источника данных.
host: 'example.ru'
user: postgres
userSecret: {}
# # Имя секрета
# name:
# # Ключ пользователя внутри секрета
# key:
password: postgres_password
## Укажите passwordFile, если пароль БД хранится в файле.
passwordFile: ''
## Укажите passwordSecret, если пароль БД хранится в секрете.
passwordSecret: {}
# # Секретное имя
# name:
# # Ключ пароля внутри секрета
# key:
pgpassfile: ''
## Если установлен pgpassfile, он используется для инициализации переменной среды PGPASSFILE.
port: "5432"
database: ''
sslmode: disable
extraParams: ''
## Настройки подключения к rabbitMQ
prometheus-rabbitmq-exporter:
nameOverride: rabbitmq
rabbitmq:
instances:
- name: rabbitmq
url: 'http://rabbitmq:15672'
user: rabbitmq_user
password: rabbitmq_password
## Указанный пароль будет помещён в Secret:
existingPasswordSecret: rabbitmq-secret
existingPasswordSecretKey: password
capabilities: bert,no_sort
include_queues: ".*"
include_vhost: ".*"
skip_queues: "^$"
skip_verify: "false"
skip_vhost: "^$"
exporters: "exchange,node,overview,queue"
output_format: "TTY"
timeout: 60
max_queues: 0
excludeMetrics: ""
## Позволяет переопределять переменные окружения с помощью внешнего ConfigMap.
configMapOverrideReference: ""
## Настройки подключения к Redis
prometheus-redis-exporter:
nameOverride: redis
instances:
- name: redis1
redisAddress: 'redis://redis:6379/0'
|
Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет
Для подключения к приватному registry нужно:
- Скачать образы ELMA365 и загрузить их в локальный реестр образов. Подробнее об этом читайте в статье «Загрузка образов ELMA365».
- Задать адрес и путь для параметра
image.repository . - Указать наименование секрета с правами доступа к приватному registry в параметре
image.pullSecrets . Секрет должен быть создан вручную и зашифрован в Base64.
prometheus-minio-exporter:
## параметры подключения к приватному registry
image:
## адрес и путь для приватного registry
repository: registry.example.com/minio_exporter
# tag: "1.0.15"
imagePullSecrets:
- myRegistryKeySecretName
prometheus-mongodb-exporter:
## параметры подключения к приватному registry
image:
## адрес и путь для приватного registry
repository: registry.example.com/mongodb_exporter
# tag: "0.31.0"
imagePullSecrets:
- myRegistryKeySecretName
prometheus-postgres-exporter:
## параметры подключения к приватному registry
image:
## адрес и путь для приватного registry
repository: registry.example.com/postgres-exporter
# tag: "v0.13.2"
imagePullSecrets:
- myRegistryKeySecretName
## Настройки подключения к rabbitMQ
prometheus-rabbitmq-exporter:
## параметры подключения к приватному registry
image:
## адрес и путь для приватного registry
repository: registry.example.com/rabbitmq-exporter
# tag: "v0.29.0"
imagePullSecrets:
- myRegistryKeySecretName
prometheus-redis-exporter:
## параметры подключения к приватному registry
# image:
## адрес и путь для приватного registry
repository: registry.example.com/redis_exporter
# tag: "v1.44.0"
imagePullSecrets:
- myRegistryKeySecretName
Где формат repository: адрес — registry.example.com .
|
начало внимание
В DBSExporter можно настроить подключение нескольких баз данных как внутренних, так и внешних.
конец внимание
Для этого продублируйте параметры блока instances
и настройте параметры подключения к каждой реплике. Например:
instances:
- name: mongodb-1
uri: "mongodb://mongodb-1:27017"
- name: mongodb-2
uri: "mongodb://mongodb-2:27017"
Шаг 4: Установить чарт 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