Appearance
Правила алертов
Настройка условий автоматического срабатывания алертов: какие показатели отслеживать, при каких пороговых значениях реагировать и с какой серьёзностью.
Как открыть
Боковое меню → Производство → Пороговые настройки
Зачем нужны правила алертов
Без правил алертов мастер узнаёт о проблеме, когда она уже стала критической. 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 | Без ограничений | Нет |
| Предупреждение | warning | 2 часа | Нет |
| Высокий | high | 30 минут | L1 (30 мин) → L2 (60 мин) |
| Критический | critical | 15 минут | 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-720 | code уникален, совпадает с Alert.code при срабатывании |
| BR-721 | trigger_condition обязан содержать |
| BR-722 | Частота проверки: каждую минуту (конфигурируется) |
| BR-723 | is_active = false — правило не срабатывает |
| BR-724 | throttle_minutes — дедупликация повторных алертов |
| BR-725a | RBAC: создание — SHOP_MANAGER, DIRECTOR, TECHNOLOGIST |
Для кого
| Роль | Что делает |
|---|---|
| Начальник цеха | Создаёт и настраивает правила для своих участков |
| Технолог | Определяет пороги качества и эффективности |
| Директор | Настраивает стратегические правила (OEE, бюджет) |
| Мастер | Получает алерты, принимает к сведению, подавляет плановые |
| Оператор | Реагирует на алерты на своём рабочем месте |