Mimir — это производительная база данных, предназначенная для долговременного хранения временных рядов метрик мониторинга. Mimir получает данные от систем-источников с помощью опции Prometheus Remote-Write и сохраняет их, используя сторонние объектные хранилища, такие как S3 или GCS.
Установка и настройка Mimir на вашем сервере состоит из нескольких этапов:
- Скачивание Helm-чарта и конфигурационного файла.
- Создание бакетов в Minio.
- Заполнение конфигурационного файла.
- Установка с помощью Helm в Kubernetes-кластер чарта Mimir.
- Настройка подключения Mimir в источниках данных Grafana.
Шаг 1: Скачивание Helm-чарта и конфигурационного файла
Для установки через интернет получите конфигурационный файла values-mimir.yaml
, выполнив следующую команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/mimir > values-mimir.yaml
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет
- На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта Mimir из репозитория ELMA365, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm pull elma365/mimir
- Полученный архив чарта mimir-X.Y.Z.tgz скопируйте на сервер, где будет производиться установка.
- Распакуйте чарт и скопируйте конфигурационный файл по умолчанию
values.yaml в values-mimir.yaml .
tar -xf loki-X.Y.Z.tgz
cp mimir/values.yaml mimir-loki.yaml
|
Шаг 2: Создание бакетов в Minio
На данном этапе необходимо создать бакет в S3 хранилище.
- Создайте
alias
для Minio командой:
mc alias set my_alias http://minio.local accessKey secretKey
- Создайте бакеты с наименованием admins, chunks и rules, выполнив команду:
mc mb -p my_alias/mimir --region=ru-central-1
Шаг 3: Заполнение конфигурационного файла
Заполнение конфигурационного файла values-mimir.yaml для установки Mimir
# -- Настройки mimir
mimir-distributed:
# -- Конфигурация модуля minio
minio:
enabled: false
# -- Конфигурация модуля distributor
distributor:
replicas: 1
# -- Конфигурация модуля ingester
ingester:
replicas: 3
persistentVolume:
size: 10Gi
# -- Конфигурация модуля store_gateway
store_gateway:
persistentVolume:
size: 10Gi
# -- Конфигурация модуля compactor
compactor:
persistentVolume:
size: 10Gi
# -- Конфигурация mimir
mimir:
structuredConfig:
limits:
# -- Срок хранения блоков
compactor_blocks_retention_period: 1y
query_ingesters_within: 5h
querier:
query_store_after: 4h
alertmanager_storage:
backend: filesystem
blocks_storage:
# -- Конфигурация хранилища
backend: s3
s3:
endpoint: minio.local:9000
region: ru-central-1
secret_access_key: secret_access_key
access_key_id: access_key_id
bucket_name: mimir
insecure: true
tsdb:
retention_period: 5h
dir: /data/tsdb
bucket_store:
ignore_blocks_within: 4h
ruler_storage:
backend: filesystem
# -- Настройка лимитов
runtimeConfig:
ingester_limits:
max_ingestion_rate: 190000
max_series: 19000000
max_tenants: 1000
max_inflight_push_requests: 30000
distributor_limits:
max_ingestion_rate: 190000
max_inflight_push_requests: 30000
max_inflight_push_requests_bytes: 50000000
nginx:
enabled: true
|
Заполнение параметров подключения к приватному registry для установки в закрытом контуре без доступа в интернет
- Скачайте образы ELMA365 и загрузите их в локальный реестр образов. Подробнее читайте в статье «Загрузка образов ELMA365».
- Задайте адрес и путь для параметра
image.registry и image.repository . - Укажите наименование секрета с правами доступа к приватному registry в параметре
imagePullSecrets . Обратите внимание, секрет должен быть создан вручную и зашифрован в Base64.
mimir-distributed:
nginx:
## параметры подключения к приватному registry
image:
registry: docker.io
repository: nginxinc/nginx-unprivileged
tag: 1.25-alpine
image:
repository: grafana/mimir
tag: 2.12.0
pullSecrets:
- myRegistryKeySecretName
memcached:
image:
repository: memcached
tag: 1.6.25-alpine
memcachedExporter:
image:
repository: prom/memcached-exporter
tag: v0.14.3
gateway:
nginx:
image:
registry: docker.io
repository: nginxinc/nginx-unprivileged
tag: 1.25-alpine
smoke_test:
image:
repository: grafana/mimir-continuous-test
tag: 2.12.0
|
Шаг 4: Установка с помощью Helm в Kubernetes-кластер чарта Mimir
Выполните установку чарта Mimir в namespace monitoring
.
Для установки через интернет:
helm upgrade --install -n monitoring mimir elma365/mimir -f values-mimir.yaml
Для офлайн-установки без доступа в интернет перейдите в каталог с загруженным чартом и выполните команду:
helm upgrade --install mimir ./mimir -f values-mimir.yaml -n monitoring
Шаг 5: Настройка подключения Mimir в источниках данных Grafana
- Добавьте источник Mimir при установке средства мониторинга, заполнив путь: Home > Administration > Data source.
- Добавьте источник данных Prometheus и заполните поле URL, указав адрес сервиса Mimir:
http://mimir-nginx:80/prometheus
.