НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2818] Реализовать наблюдаемость Observability для промышленных модулей📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: Нет
Завершено: 08.09.2026 13:40
Нужно реализовать общесистемный модуль Observability для ИРБИС 128. Модуль должен дать единый контракт публикации эксплуатационных сигналов, настройки metric profiles, routing policies, retention, dashboards и безопасных диагностических пакетов для промышленных модулей.
Observability должен быть владельцем нормализации, маршрутизации, агрегации, хранения краткоживущих технических сигналов, маскирования и диагностического представления эксплуатационных данных. Доменные модули должны публиковать только свои безопасные domain-specific signals и не должны сами решать, что писать в Stat, SiteStat, StatForms, Log или HealthCheck.
В промышленном контуре ИРБИС 128 задачи, workflowпереходы, публичные формы, события, очереди, файловые операции, рабочие календари и интеграции должны диагностироваться одинаково. Сейчас при отсутствии общего контракта есть риск получить разрозненные частные логи, счетчики, healthпроверки и отчеты в каждом модуле.
Observability должен стать общим слоем между модулями-источниками и существующими системными механизмами: Stat, SiteStat, StatForms, Log, HealthCheck, EventBus, Queue, TraceContext и Security. Модуль не заменяет эти системы, а определяет, какие сигналы куда маршрутизируются, как агрегируются, сколько хранятся, какие данные маскируются и что может быть включено в диагностический пакет.
Нужно реализовать модель эксплуатационных сигналов:
Нужно реализовать profiles и routing:
Нужно реализовать хранение и агрегацию:
Нужно реализовать безопасность и masking:
Нужно реализовать системные dashboards первого промышленного контура:
Нужно реализовать интеграции:
Нужно реализовать контракт для Tasks как первого промышленного потребителя:
Tasks публикует сигналы создания задачи, изменения задачи, workflowперехода, отказа condition, применения экрана, ошибки postfunction, назначения, комментария, вложения, события, уведомления, API-вызова, фоновой операции, миграции и публичного приема.
Сигналы Tasks включают task key, project key, workflow key, transition key, status key, task type, result, duration, actor/principal, host/context и trace id при наличии.
Tasks хранит только ссылку на выбранный ObservabilityMetricProfile и taskspecific имена сигналов, но не собственную routingсхему в Stat, Log или HealthCheck.
Dashboards задач строятся через Observability и WorkflowFilter, а не через частные счетчики внутри Tasks.
Диагностический экспорт проекта задач формируется как ObservabilityDiagnosticPackage с безопасными ссылками на HealthCheck, Log, EventBus и Queue.
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кода до миграции.
Доменный модуль может опубликовать 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 модулей.
Нужно подготовить TestA-сценарии для:
В Help должны быть подготовлены:
-
Куда смотреть
Изменения по файлам
[I128-2805] SLA, командные очереди и ранжирование задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2817] Реализовать общесистемные рабочие календари WorkCalendar
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2820] Реализовать общесистемную автоматизацию Automation
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2821] Реализовать рабочие доски WorkflowBoard для workflow-записей
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2822] Реализовать календарные представления WorkflowCalendar для workflow-записей
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2824] Расширить NewsFeed для ленты проектной активности workflow-проектов
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2829] Расширить Security для системного хранения и ротации секретов интеграций
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2830] Реестр API-контрактов и профилей внешней интеграции
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2831] Mapping внешних интеграций и реестр ExternalId в модуле API
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2832] Политики bidirectional sync и conflict resolution в модуле API
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2833] AI-governance core: policy runtime и реестр AI-операций
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2834] AI input profiles, masking и consent
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2835] AIPrompt registry и versioning
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2836] AIProvider/AIModel policy и routing
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2837] AITool policy и safe execution
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2838] AI-операции задач в модуле Tasks
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2839] Реализовать WorkflowApproval для формальных согласований workflow-переходов
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2840] Реализовать WorkflowDesigner как единую административную студию настройки workflow-проектов
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2823] Расширить FindDublet для поиска дублей задач и workflow-записей
Статус: На рассмотрении | Автор: Ilya Mikhaylenko
[I128-2793] Ввести TraceContext для сквозной трассировки операций
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2794] Реализовать системную событийную шину EventBus
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2795] Расширить Queue как runtime фоновых заданий, retry и расписаний
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2797] Расширить Security для проектных прав, полей, действий и аудита доступа
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2798] Реализовать HealthCheck для workflow-проектов и задач
Статус: Завершено | Автор: Ilya Mikhaylenko
[I128-2799] Подготовить TestA-контракты системных JSON и end-to-end сценариев
Статус: Завершено | Автор: Ilya Mikhaylenko