Меню


[I128-2818] Реализовать наблюдаемость Observability для промышленных модулей


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2818] Реализовать наблюдаемость Observability для промышленных модулей📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Новые возможности 2026.3 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: Нет

Завершено: 08.09.2026 13:40

  1. Цель

Нужно реализовать общесистемный модуль Observability для ИРБИС 128. Модуль должен дать единый контракт публикации эксплуатационных сигналов, настройки metric profiles, routing policies, retention, dashboards и безопасных диагностических пакетов для промышленных модулей.

Observability должен быть владельцем нормализации, маршрутизации, агрегации, хранения краткоживущих технических сигналов, маскирования и диагностического представления эксплуатационных данных. Доменные модули должны публиковать только свои безопасные domain-specific signals и не должны сами решать, что писать в Stat, SiteStat, StatForms, Log или HealthCheck.

  1. Контекст

В промышленном контуре ИРБИС 128 задачи, workflowпереходы, публичные формы, события, очереди, файловые операции, рабочие календари и интеграции должны диагностироваться одинаково. Сейчас при отсутствии общего контракта есть риск получить разрозненные частные логи, счетчики, healthпроверки и отчеты в каждом модуле.

Observability должен стать общим слоем между модулями-источниками и существующими системными механизмами: Stat, SiteStat, StatForms, Log, HealthCheck, EventBus, Queue, TraceContext и Security. Модуль не заменяет эти системы, а определяет, какие сигналы куда маршрутизируются, как агрегируются, сколько хранятся, какие данные маскируются и что может быть включено в диагностический пакет.

  1. Что Нужно Сделать

Нужно реализовать модель эксплуатационных сигналов:

Нужно реализовать profiles и routing:

Нужно реализовать хранение и агрегацию:

Нужно реализовать безопасность и masking:

Нужно реализовать системные dashboards первого промышленного контура:

Нужно реализовать интеграции:

Нужно реализовать контракт для Tasks как первого промышленного потребителя:

Observability владеет signal envelope, metric profiles, routing policies, retention policies, normalized raw buffer, metric snapshots, dashboards, diagnostic packages, masking before sink/export и объяснением routing.

Observability не должен владеть доменной моделью задач, workflowстатусами, event log, job runtime, постоянным файловым хранилищем, правами как таковыми, healthcheck orchestration, бизнесотчетами StatForms, BIвитринами, пользовательскими уведомлениями и внешними transport adapters.

Tasks и другие доменные модули публикуют свои domainspecific signals и выбирают profiles, но не должны писать напрямую в конкретные статистические или журнальные sinks, кроме явно оставленного legacyкода до миграции.

  1. Критерии Приемки

Доменный модуль может опубликовать ObservabilitySignal без знания конкретного sink.

Routing policy может отправить один сигнал в несколько sinks и объяснить, почему каждый sink был выбран или пропущен.

Raw buffer хранит только нормализованные и маскированные технические данные с ограниченным retention; доменный текст, содержимое вложений, скрытые поля, персональные данные и секреты не попадают в raw buffer и diagnostic package без явной policy.

Stat, SiteStat и StatForms получают только утвержденные агрегаты, а не сырые технические payload.

Log получает технические log signals с trace id и безопасным context.

HealthCheck получает current health snapshots, thresholds, degraded states и ссылки на diagnostic packages, но не становится хранилищем полной истории метрик.

Dashboards первого промышленного контура доступны для system overview, module/runtime health, Workflow, EventBus, Queue, public intake/security, Tasks и storage/retention.

Права просмотра dashboards, raw signals, diagnostic packages, export и настройки profiles/routing/sinks проверяются отдельно через Security.

Diagnostic package формируется с trace id, агрегатами, ссылками на логи, результатами HealthCheck, event/queue контекстом и маскированными деталями без раскрытия чувствительных данных.

Отсутствие доступного Stat или SiteStat не ломает публикацию технических signals в Log и HealthCheck, если routing policy это допускает.

Observability можно использовать не только для Tasks, но и для Workflow, EventBus, Queue, WorkCalendar, WorkflowBoard, WorkflowCalendar, публичных форм, transportмодулей и будущих recordbased модулей.

  1. Проверки И Документация

Нужно подготовить TestA-сценарии для:

В Help должны быть подготовлены:

-

Куда смотреть

Изменения по файлам

1. Связанные задачи

1.1. 🔗 blocks: I128-2805

[I128-2805] SLA, командные очереди и ранжирование задач Статус: Завершено | Автор: Ilya Mikhaylenko

1.2. 🔗 blocks: I128-2817

[I128-2817] Реализовать общесистемные рабочие календари WorkCalendar Статус: Завершено | Автор: Ilya Mikhaylenko

1.3. 🔗 blocks: I128-2820

[I128-2820] Реализовать общесистемную автоматизацию Automation Статус: Завершено | Автор: Ilya Mikhaylenko

1.4. 🔗 blocks: I128-2821

[I128-2821] Реализовать рабочие доски WorkflowBoard для workflow-записей Статус: Завершено | Автор: Ilya Mikhaylenko

1.5. 🔗 blocks: I128-2822

[I128-2822] Реализовать календарные представления WorkflowCalendar для workflow-записей Статус: Завершено | Автор: Ilya Mikhaylenko

1.6. 🔗 blocks: I128-2824

[I128-2824] Расширить NewsFeed для ленты проектной активности workflow-проектов Статус: Завершено | Автор: Ilya Mikhaylenko

1.7. 🔗 blocks: I128-2829

[I128-2829] Расширить Security для системного хранения и ротации секретов интеграций Статус: Завершено | Автор: Ilya Mikhaylenko

1.8. 🔗 blocks: I128-2830

[I128-2830] Реестр API-контрактов и профилей внешней интеграции Статус: Завершено | Автор: Ilya Mikhaylenko

1.9. 🔗 blocks: I128-2831

[I128-2831] Mapping внешних интеграций и реестр ExternalId в модуле API Статус: Завершено | Автор: Ilya Mikhaylenko

1.10. 🔗 blocks: I128-2832

[I128-2832] Политики bidirectional sync и conflict resolution в модуле API Статус: Завершено | Автор: Ilya Mikhaylenko

1.11. 🔗 blocks: I128-2833

[I128-2833] AI-governance core: policy runtime и реестр AI-операций Статус: Завершено | Автор: Ilya Mikhaylenko

1.12. 🔗 blocks: I128-2834

[I128-2834] AI input profiles, masking и consent Статус: Завершено | Автор: Ilya Mikhaylenko

1.13. 🔗 blocks: I128-2835

[I128-2835] AIPrompt registry и versioning Статус: Завершено | Автор: Ilya Mikhaylenko

1.14. 🔗 blocks: I128-2836

[I128-2836] AIProvider/AIModel policy и routing Статус: Завершено | Автор: Ilya Mikhaylenko

1.15. 🔗 blocks: I128-2837

[I128-2837] AITool policy и safe execution Статус: Завершено | Автор: Ilya Mikhaylenko

1.16. 🔗 blocks: I128-2838

[I128-2838] AI-операции задач в модуле Tasks Статус: Завершено | Автор: Ilya Mikhaylenko

1.17. 🔗 blocks: I128-2839

[I128-2839] Реализовать WorkflowApproval для формальных согласований workflow-переходов Статус: Завершено | Автор: Ilya Mikhaylenko

1.18. 🔗 blocks: I128-2840

[I128-2840] Реализовать WorkflowDesigner как единую административную студию настройки workflow-проектов Статус: Завершено | Автор: Ilya Mikhaylenko

1.19. 🔗 blocks: I128-2823

[I128-2823] Расширить FindDublet для поиска дублей задач и workflow-записей Статус: На рассмотрении | Автор: Ilya Mikhaylenko

1.20. 🔗 blocks: I128-2793

[I128-2793] Ввести TraceContext для сквозной трассировки операций Статус: Завершено | Автор: Ilya Mikhaylenko

1.21. 🔗 blocks: I128-2794

[I128-2794] Реализовать системную событийную шину EventBus Статус: Завершено | Автор: Ilya Mikhaylenko

1.22. 🔗 blocks: I128-2795

[I128-2795] Расширить Queue как runtime фоновых заданий, retry и расписаний Статус: Завершено | Автор: Ilya Mikhaylenko

1.23. 🔗 blocks: I128-2797

[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа Статус: Завершено | Автор: Ilya Mikhaylenko

1.24. 🔗 blocks: I128-2798

[I128-2798] Реализовать HealthCheck для workflow-проектов и задач Статус: Завершено | Автор: Ilya Mikhaylenko

1.25. 🔗 blocks: I128-2799

[I128-2799] Подготовить TestA-контракты системных JSON и end-to-end сценариев Статус: Завершено | Автор: Ilya Mikhaylenko