Создание окна обслуживания

Материал из Документация Ключ-АСТРОМ
Версия от 23:33, 13 октября 2026; IKuznetsov (обсуждение | вклад) (Новая страница: « = Создание окна обслуживания = Создайте окно обслуживания, чтобы сообщить Ключ-АСТРОМ, когда вы ожидаете плановую нестандартную работу. Во время окна Ключ-АСТРОМ обогащает телеметрию метаданными обслуживания. Используйте окна обслуживания, чтобы дел...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Создание окна обслуживания

Создайте окно обслуживания, чтобы сообщить Ключ-АСТРОМ, когда вы ожидаете плановую нестандартную работу. Во время окна Ключ-АСТРОМ обогащает телеметрию метаданными обслуживания. Используйте окна обслуживания, чтобы делиться контекстом обслуживания с командой, подавлять уведомления, избегать автоматических действий и сохранять точность расчётов доступности.

Предварительные требования

У вас есть политика IAM, разрешающая запись в схему builtin:maintenance-windows:

ALLOW settings:objects:read, settings:objects:write, settings:schemas:read
WHERE settings:schemaId = "builtin:maintenance-windows";

Если вы планируете использовать пользовательские правила расписания или календари, создайте их до настройки окна обслуживания.

Создание окна обслуживания

Окно обслуживания можно создать либо в веб-интерфейсе Ключ-АСТРОМ, либо через API.

Через веб-интерфейс

Перейдите в Настройки > Общие > Окна обслуживания. Выберите Новое окно обслуживания. Введите основные сведения, такие как Имя и Описание окна обслуживания. Выберите Далее. Настройте расписание. Ваши параметры зависят от того, повторяется ли окно.

  • Для разового окна укажите Дату и время начала, Длительность и Часовой пояс. Установите или снимите флажок Автоматическое удаление в зависимости от ваших потребностей.
  • Для повторяющегося окна укажите Время начала, Длительность и Правило повторения. Чтобы добавить или изменить правила, выберите Управление правилами. Установите или снимите флажок Автоматическое удаление в зависимости от ваших потребностей.

Выберите Далее. Введите критерии фильтра области действия в поле Область обслуживания, чтобы только соответствующая телеметрия была помечена как находящаяся на обслуживании. Начните вводить текст в поле, чтобы получить подсказки. Выберите Предварительный просмотр, чтобы просмотреть данные. В разделе Результаты предварительного просмотра вы найдёте список типов событий, которые можно обогатить метаданными. Выберите Сохранить, чтобы сохранить окно обслуживания, и убедитесь, что оно появилось в таблице Окна обслуживания со статусом Активно. Если вы создаёте повторяющееся окно обслуживания, убедитесь, что необходимые правило расписания и календарь уже доступны.

Через API

Отправьте POST-запрос к api/v2/settings/objects. В теле запроса укажите:

  • schemaId — builtin:maintenance-windows.
  • scope — environment.
  • В value определите основные сведения, конфигурацию расписания и критерии фильтра.

Отправьте запрос и сохраните возвращённый ID объекта для обновлений. Убедитесь, что новое окно обслуживания отображается в таблице в разделе Настройки > Общие > Окна обслуживания. Окно по умолчанию установлено в Активно. Если вы создаёте повторяющееся окно обслуживания, используйте те же общие правила расписания и календари, что и в веб-интерфейсе.

Деактивация или удаление окна обслуживания

Вы можете приостановить окно обслуживания без потери его конфигурации или удалить его полностью. Ни одно из этих действий не останавливает уже запущенное окно; оно продолжается до настроенного времени окончания.

Через веб-интерфейс

Перейдите в Настройки > Общие > Окна обслуживания. Найдите окно обслуживания в списке. Выберите одно из следующих действий:

  • Чтобы приостановить окно, установите переключатель в положение Неактивно. Конфигурация сохраняется, и вы можете повторно активировать её позже, установив переключатель в положение Активно.
  • Чтобы удалить окно безвозвратно, откройте меню, выберите Удалить и выберите Удалить безвозвратно.

Через API

Чтобы приостановить окно без его удаления, обновите состояние окна через API настроек. Чтобы удалить окно обслуживания, отправьте DELETE-запрос к api/v2/settings/objects/{objectId}.

Использование критериев фильтра

Примените критерии фильтра, чтобы нацелить телеметрию, которую вы хотите пометить как обслуживаемую. Используйте общие основные поля хранилища данных и основные теги хранилища данных, чтобы ваши критерии фильтра работали согласованно. Интерфейс предоставляет поле фильтра, которое автоматически преобразует ваш ввод в синтаксис сопоставления DQL. Для API и конфигурации как кода используйте синтаксис сопоставления DQL напрямую.

Примеры критериев фильтра

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

  • Определить критерии фильтра для конкретного кластера Kubernetes (основные поля хранилища данных):
k8s.cluster.name == "k8s-02"
  • Определить критерии фильтра по среде (с использованием основных тегов хранилища данных):
primary_tags.environment == "staging"
  • Определить критерии фильтра для хоста:
host.name == "HOST-CWS-4-IG-1-HG-200001"
  • Определить критерии фильтра для группы хостов (основные поля хранилища данных):
dt.host_group.id == "host-group-1234"
  • Определить критерии фильтра для процесса:
dt.smartscape.process == "PROCESS-00970A58C3D6A4AE"
  • Определить критерии фильтра для сервиса:
dt.smartscape.service == "SERVICE-01B5009DAFF92605"
  • Определить критерии фильтра для HTTP-проверки:
dt.entity.http_check == "HTTP_CHECK-0A77C3D2E1F82B5A"
  • Определить критерии фильтра для синтетического теста:
dt.entity.synthetic_test == "SYNTHETIC_TEST-0B44D7A3C2E91F67"
  • Определить критерии фильтра для фронтенда:
frontend.name == "easytravel-frontend"
  • Определить критерии фильтра для данных, поступающих из расширения:
device == "mysql-postgresql:5432:DemoDatabase"
  • Комбинированный пример с использованием AND:
k8s.cluster.name == "k8s-02" AND primary_tags.environment == "staging"
  • Комбинированный пример с использованием OR:
k8s.cluster.name == "k8s-01" OR k8s.cluster.name == "k8s-02"
  • Фильтрация нескольких значений с помощью IN:
matchesValue(primary_tags.environment, {"staging", "production", "testing"})

Следующие шаги

  • См. раздел Использование данных окна обслуживания, чтобы запрашивать данные обслуживания, управлять проблемами и настраивать триггеры рабочих процессов.
  • См. раздел Жизненный цикл окна обслуживания, чтобы понять жизненный цикл окна обслуживания, события хранилища данных и обогащение OpenPipeline.