﻿# Установка Mimir

> [HTML Version](install-mimir.html)

Mimir — это  производительная база данных, предназначенная для долговременного хранения временных рядов метрик мониторинга. Mimir получает данные от систем-источников с помощью опции **Prometheus Remote-Write** и сохраняет их, используя сторонние объектные хранилища, такие как S3 или GCS.

**Установка и настройка Mimir на вашем сервере состоит из нескольких этапов:**

1. [Скачивание Helm-чарта и конфигурационного файла](#download-helm-chart).

2. [Создание бакетов в Minio](#create-minio-backets).

3. [Заполнение конфигурационного файла](#filling-out-config-file).

4. [Установка с помощью Helm в Kubernetes-кластер чарта Mimir](#install-chart-mimir).

5. [Настройка подключения Mimir в источниках данных Grafana](#enable-grafana).

## Шаг 1. Скачивание Helm-чарта и конфигурационного файла

Для установки через интернет получите конфигурационный файла \[OBJECT\], выполнив следующую команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm show values elma365/mimir > values-mimir.yaml

````
Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет

1. На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта **Mimir** из репозитория ELMA365, выполнив команду:

````
helm repo add elma365 https://charts.elma365.tech  
helm repo update  
helm pull elma365/mimir

2. ````
Полученный архив чарта **mimir-X.Y.Z.tgz** скопируйте на сервер, где будет производиться установка.

3. Распакуйте чарт и скопируйте конфигурационный файл по умолчанию \[OBJECT\] в \[OBJECT\].

````
tar -xf loki-X.Y.Z.tgz  
cp mimir/values.yaml mimir-loki.yaml
````

## ````
Шаг 2. Создание бакетов в Minio

На данном этапе необходимо создать бакет в S3 хранилище.

1. Создайте \[OBJECT\]** **для Minio командой:

````
mc alias set my\_alias http://minio.local accessKey secretKey

2. ````
Создайте бакеты с наименованием **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 для установки в закрытом контуре без доступа в интернет

1. Скачайте образы ELMA365 и загрузите их в локальный реестр образов. Подробнее читайте в статье [«Загрузка образов ELMA365»](downloadin-images-elma365.md).

2. Задайте адрес и путь для параметра \[OBJECT\] и \[OBJECT\].

3. Укажите наименование секрета с правами доступа к приватному **registry** в параметре \[OBJECT\]. Обратите внимание, секрет должен быть создан вручную и зашифрован в 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** в \[OBJECT\].

Для установки через интернет:

````
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

1. Добавьте источник Mimir при установке [средства мониторинга](install-monitoring-tools.md), заполнив путь: **Home > Administration > Data source**.

2. Добавьте источник данных Prometheus и заполните поле **URL**, указав адрес сервиса Mimir: \[OBJECT\].