[Документация](../../README-ru.md#документация) → [Конфигурация](../config.ru.md) → Параметры мониторов

-----

[Read in English](monitor.en.md)

# Параметры мониторов

Данные параметры используются только мониторами Vitastor.

- [use_antietcd](#use_antietcd)
- [enable_prometheus](#enable_prometheus)
- [mon_http_port](#mon_http_port)
- [mon_http_ip](#mon_http_ip)
- [mon_https_cert](#mon_https_cert)
- [mon_https_key](#mon_https_key)
- [mon_https_client_auth](#mon_https_client_auth)
- [mon_https_ca](#mon_https_ca)
- [etcd_mon_ttl](#etcd_mon_ttl)
- [etcd_mon_timeout](#etcd_mon_timeout)
- [etcd_mon_retries](#etcd_mon_retries)
- [mon_change_timeout](#mon_change_timeout)
- [mon_stats_timeout](#mon_stats_timeout)
- [osd_out_time](#osd_out_time)
- [placement_levels](#placement_levels)
- [use_old_pg_combinator](#use_old_pg_combinator)
- [osd_backfillfull_ratio](#osd_backfillfull_ratio)

## use_antietcd

- Тип: булево (да/нет)
- Значение по умолчанию: false

Включить экспериментальный встроенный заменитель etcd (кластерную БД ключ-значение):
[antietcd](https://git.yourcmc.ru/vitalif/antietcd/).

Если параметр установлен в true, монитор запускает antietcd автоматически,
если обнаруживает сетевой интерфейс с одним из адресов, указанных в опции
конфигурации `etcd_address` (в `/etc/vitastor/vitastor.conf` или в опциях
командной строки монитора). Если таких адресов несколько, также проверяется
опция `antietcd_port` и antietcd запускается для адреса с соответствующим
портом. По умолчанию antietcd принимает подключения по выбранному совпадающему
IP, но его также можно определить вручную опцией `antietcd_ip`.

При запуске antietcd монитор сам хранит центральные метаданные кластера и
выставляет etcd-совместимое REST API. На диске эти метаданные хранятся в файле
`/var/lib/vitastor/mon_2379.json.gz` (можно переопределить параметрами
antietcd_data_file или antietcd_data_dir). Все остальные параметры antietcd
(смотрите [по ссылке](https://git.yourcmc.ru/vitalif/antietcd/)), за исключением
node_id, cluster, cluster_key, persist_filter, stale_read также можно задавать
в конфигурации Vitastor с префиксом `antietcd_`.

Вы можете выгружать/загружать данные в или из antietcd с помощью его инструмента
`anticli`:

```
npm exec anticli -e http://etcd:2379/v3 get --prefix '' --no-temp > dump.json
npm exec anticli -e http://antietcd:2379/v3 load < dump.json
```

## enable_prometheus

- Тип: булево (да/нет)
- Значение по умолчанию: true

Включить встроенный Prometheus-экспортер метрик на порту mon_http_port (по умолчанию 8060).

Обратите внимание, что метрики выставляет только активный (главный) монитор, остальные
возвращают статус HTTP 503, поэтому вам следует добавлять адреса всех мониторов
в задание по сбору метрик Prometheus.

Дашборд для Grafana, подходящий для этого экспортера: [Vitastor-Grafana-6+.json](../../mon/scripts/Vitastor-Grafana-6+.json).

## mon_http_port

- Тип: целое число
- Значение по умолчанию: 8060

Порт, на котором мониторы принимают HTTP-соединения (в том числе для отдачи метрик)

## mon_http_ip

- Тип: строка

IP-адрес, на котором мониторы принимают HTTP-соединения (по умолчанию все адреса)

## mon_https_cert

- Тип: строка

Путь к PEM-файлу SSL-сертификата для монитора, чтобы принимать соединения через HTTPS

## mon_https_key

- Тип: строка

Путь к PEM-файлу секретного SSL-ключа для монитора, чтобы принимать соединения через HTTPS

## mon_https_client_auth

- Тип: булево (да/нет)
- Значение по умолчанию: false

Включить в HTTPS-сервере монитора авторизацию по клиентским сертификатам

## mon_https_ca

- Тип: строка

Путь к удостоверяющему сертификату для авторизации клиентских HTTPS соединений

## etcd_mon_ttl

- Тип: секунды
- Значение по умолчанию: 1
- Минимальное значение: 5

Интервал обновления etcd резервации (lease) монитором

## etcd_mon_timeout

- Тип: миллисекунды
- Значение по умолчанию: 1000

Таймаут выполнения запросов к etcd от монитора

## etcd_mon_retries

- Тип: целое число
- Значение по умолчанию: 5

Максимальное число попыток выполнения запросов к etcd монитором

## mon_change_timeout

- Тип: миллисекунды
- Значение по умолчанию: 1000
- Минимальное значение: 100

Время повтора при коллизиях при запросах модификации в etcd, производимых монитором

## mon_stats_timeout

- Тип: миллисекунды
- Значение по умолчанию: 1000
- Минимальное значение: 100

Интервал, который монитор ожидает при изменении статистики по отдельным
OSD перед обновлением агрегированной статистики в etcd

## osd_out_time

- Тип: секунды
- Значение по умолчанию: 600

Время, через которое отключенный OSD исключается из распределения данных.
То есть, время, которое монитор ожидает перед попыткой переместить данные
на другие OSD и таким образом восстановить избыточность хранения.

## placement_levels

- Тип: json
- Значение по умолчанию: `{"host":100,"osd":101}`

Определения уровней для дерева размещения OSD. Вы можете определять
произвольные уровни, помещая их в данный параметр конфигурации. Значение
параметра должно содержать JSON-объект, ключи которого будут являться
названиями уровней, а значения - целочисленными приоритетами. Меньшие
приоритеты соответствуют верхним уровням дерева. Например, уровень
"датацентр" должен иметь меньший приоритет, чем "OSD". Уровни с названиями
"host" и "osd" являются предопределёнными и не могут быть удалены. Если
один из них отсутствует в конфигурации, он доопределяется с приоритетом по
умолчанию (100 для уровня "host", 101 для "osd").

## use_old_pg_combinator

- Тип: булево (да/нет)
- Значение по умолчанию: false

Использовать старый генератор комбинаций PG, не поддерживающий [level_placement](pool.ru.md#level_placement)
и [raw_placement](pool.ru.md#raw_placement) для пулов, которые не используют данные функции.

## osd_backfillfull_ratio

- Тип: число
- Значение по умолчанию: 0.99

Мониторы стараются предотвратить 100% заполнение OSD в процессе ребаланса
или восстановления, рассчитывая, сколько места будет занято на каждом OSD после
завершения всех операций ребаланса и восстановления, и приостанавливая
ребаланс и восстановление, если рассчитанный объём превышает ёмкость OSD,
умноженную на значение данного параметра.

Будущее занятое место рассчитывается сложением места, занятого всеми
пользовательскими блоками данных (объектами) во всех PG, расположенных
на конкретном OSD, даже если часть этих объектов в данный момент находится
на другом наборе OSD.
