Skip to content

Правила алертов

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

Как открыть

Боковое меню → ПроизводствоПороговые настройки

Зачем нужны правила алертов

Без правил алертов мастер узнаёт о проблеме, когда она уже стала критической. AlertRule позволяет:

  • задать пороговое значение для любого показателя (переполнение буфера, задержка, дефекты);
  • автоматически создавать Alert при срабатывании условия;
  • настроить серьёзность (info/warning/high/critical) и эскалацию;
  • избежать «шторма» алертов через throttling (дедупликация);
  • включать/отключать правила без удаления.

Как работает правило

AlertRule (code=BUFFER_OVERFLOW, trigger_condition)


Система проверяет условие каждую минуту

    ├─ Условие НЕ выполнено → ничего

    └─ Условие выполнено

         ├─ is_active = false → ничего (BR-723)

         ├─ Прошло < throttle_minutes с последнего алерта → ничего (BR-724)

         └─ Создаётся Alert с тем же code и severity

              └─ Обновляется last_triggered_at

Что на экране

Таблица правил

СтолбецОписаниеПример
КодУникальный код правилаBUFFER_OVERFLOW
НазваниеОписаниеПереполнение накопителя 95%
Тип сущностиЧто отслеживаетсяbuffer
УсловиеПорог срабатыванияqueue_percent >= 95
СерьёзностьУровень создаваемого алертаcritical
ДействиеЧто делать при срабатыванииnotify / escalate / block
ThrottleМинимальный интервал5 мин
АктивноВключено / ОтключеноВключено
ПоследнееКогда сработало последний раз15.03 14:22

Фильтры

ФильтрВарианты
СерьёзностьВсе / Info / Warning / High / Critical
Тип сущностиВсе / batch / workplace / buffer / equipment / order
АктивностьВсе / Включённые / Отключённые

Создание правила

Обязательные поля

ПолеОписание
Код *Уникальный код (совпадает с Alert.code при срабатывании)
Название *Человекочитаемое описание
Тип сущности *batch / workplace / buffer / equipment / order
Условие *JSON: {field, operator, value} (см. ниже)
Серьёзность *info / warning / high / critical

Дополнительные поля

ПолеОписание
Действиеnotify (уведомление) / escalate (эскалация) / block (блокировка)
ThrottleМинимальный интервал между повторными алертами (по умолчанию 5 мин)
АктивноВключить/отключить (по умолчанию включено)

Условие срабатывания (trigger_condition)

Условие задаётся в JSON формате:

json
{
  "field": "queue_percent",
  "operator": ">=",
  "value": 95,
  "unit": "%",
  "lookback_minutes": 5
}
КлючОбязателенОписание
fieldДаКакой показатель отслеживать
operatorДаОператор сравнения: >=, <=, >, <, ==, !=
valueДаПороговое значение
unitНетЕдиница измерения (для отображения)
lookback_minutesНетОкно наблюдения (для скользящего среднего)

15 типов алертов

AlertRule создаёт Alert с одним из 15 стандартных кодов:

Буферы / Накопители

КодОписаниеТипичное условие
BUFFER_OVERFLOWНакопитель переполненqueue_percent >= 95
BUFFER_EMPTYНакопитель пуст (голодание)queue_count == 0

Партии

КодОписаниеТипичное условие
BATCH_DELAYEDПартия задерживаетсяdelay_minutes >= 30
BATCH_STALLEDПартия застряла (нет прогресса)idle_minutes >= 60
BATCH_BLOCKEDПартия заблокированаis_blocked == true

Рабочие места

КодОписаниеТипичное условие
WORKSTATION_OVERLOADEDРМ перегруженоload_percent >= 95
WORKSTATION_UNDERUTILIZEDРМ недозагруженоload_percent <= 20
WORKSTATION_IDLEРМ простаиваетidle_minutes >= 30

Эффективность

КодОписаниеТипичное условие
EFFICIENCY_DROPПадение эффективностиoee_percent < 60
LOW_PRODUCTIVITYНизкая производительностьoutput_rate < threshold

Качество

КодОписаниеТипичное условие
QUALITY_DEGRADATIONДеградация качестваdefect_rate >= 5
HIGH_DEFECT_RATEВысокий процент бракаdefect_rate >= 10

Оборудование

КодОписаниеТипичное условие
EQUIPMENT_FAILUREПоломка оборудованияstatus == fault
MAINTENANCE_DUEПодошёл срок ТОhours_to_maintenance <= 10
MAINTENANCE_OVERDUEПросрочено ТОhours_overdue > 0

Серьёзность и эскалация

СерьёзностьКодВремя реакцииЭскалация
ИнформацияinfoБез ограниченийНет
Предупреждениеwarning2 часаНет
Высокийhigh30 минутL1 (30 мин) → L2 (60 мин)
Критическийcritical15 минутL1 (15 мин) → L2 (30 мин) → L3 (60 мин)

Уровни эскалации:

  • L1 — SMS мастеру участка
  • L2 — Telegram начальнику цеха
  • L3 — Звонок директору

Throttling (дедупликация)

Поле throttle_minutes (по умолчанию 5) предотвращает «шторм» алертов. Если условие выполняется повторно в течение throttle-окна — новый алерт не создаётся.

Пример: Буфер переполнен на 96%. Правило BUFFER_OVERFLOW срабатывает. Через 2 минуты буфер всё ещё на 97% — повторный алерт НЕ создаётся (5 минут не прошли). Через 6 минут, если буфер по-прежнему > 95% — создаётся новый алерт.

Настройка throttle

Для критических правил (EQUIPMENT_FAILURE) имеет смысл уменьшить throttle до 1-2 минут. Для информационных (LOW_PRODUCTIVITY) можно увеличить до 30-60 минут.

Включение / Отключение

Деактивированное правило (is_active = false) не генерирует новых алертов. Существующие алерты при этом не затрагиваются — они продолжают жить своим жизненным циклом.

Это удобно для временного отключения: например, плановое ТО станка — мастер отключает правило MAINTENANCE_DUE для этого РМ, а после ТО включает обратно.

Правила валидации

ПравилоОписание
BR-720code уникален, совпадает с Alert.code при срабатывании
BR-721trigger_condition обязан содержать
BR-722Частота проверки: каждую минуту (конфигурируется)
BR-723is_active = false — правило не срабатывает
BR-724throttle_minutes — дедупликация повторных алертов
BR-725aRBAC: создание — SHOP_MANAGER, DIRECTOR, TECHNOLOGIST

Для кого

РольЧто делает
Начальник цехаСоздаёт и настраивает правила для своих участков
ТехнологОпределяет пороги качества и эффективности
ДиректорНастраивает стратегические правила (OEE, бюджет)
МастерПолучает алерты, принимает к сведению, подавляет плановые
ОператорРеагирует на алерты на своём рабочем месте

AntRoute MES — управление блуждающими узкими местами