Двухуровневая модель конфигурации

Как глобальные шаблоны конфигурации и переопределения на уровне сервера каскадируются, чтобы изменение общего значения доходило и до хостов с локальными исключениями.

Обновлено 2026-08-26

Настраивать парк хост за хостом не масштабируется, а настраивать только глобально не выдерживает столкновения с реальностью - всегда найдётся один сервер базы данных, которому нужен другой порог по диску. Servers Sentinel решает это так же, как CSS: значения по умолчанию каскадируются, а локальное правило переопределяет один ключ, не заменяя остальные.

Как работает слияние

  1. Глобальный шаблон задаёт значения по умолчанию для вида конфигурации - интервалы сбора, пороги, включённые сборщики.
  2. У сервера может быть переопределение: патч, содержащий только отличающиеся ключи.
  3. Агенту отдаётся эффективная конфигурация - шаблон, глубоко слитый с переопределением.

Важно то, что происходит при правке шаблона. Поскольку переопределение - это патч, а не копия, хост, переопределивший disk.threshold, всё равно получит новый cpu.interval, который вы только что задали глобально. При копировании на переопределение - а именно так устроено большинство инструментов - такой хост тихо застыл бы на значениях, которые были в момент создания исключения.

Разобранный пример

Глобальный шаблон сборщика диска:

{
  "interval": "60s",
  "warn_percent": 85,
  "critical_percent": 95,
  "ignore_mounts": ["/snap"]
}

Сервер базы данных, который по замыслу живёт с высокой занятостью диска, переопределяет один ключ:

{
  "warn_percent": 92
}

Что фактически получает агент на этом хосте:

{
  "interval": "60s",
  "warn_percent": 92,
  "critical_percent": 95,
  "ignore_mounts": ["/snap"]
}

Поднимите позже critical_percent до 97 в шаблоне - и этот хост тоже получит 97, сохранив свои 92. В этом весь смысл.

Где проводить границу

  • Всё, что описывает политику, кладите в шаблон: как часто собирать, что считать переполнением, какие сборщики включены.
  • Всё, что описывает конкретную машину, кладите в переопределение: точку монтирования, которую надо игнорировать, отличающееся имя службы, порог, оправданный нагрузкой.
  • Если одно и то же переопределение пишется больше чем на трёх хостах - это уже не исключение. Заведите группу серверов и сделайте для неё шаблон.