ERRORS: Мониторинг и сквозной контроль (End-to-End) системных состояний

Часть 1: Спецификация доменных ошибок (IAD, MDM, INVENTORY)

Published

July 13, 2026

WarningОграничение публичной документации

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

  • Полная спецификация метода: Будет доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).

1. Домен Идентификации и Доступа: Identity & Access Domain (IAD)

Специализированные коды auth-service для контроля сессий, Dual Token ротации и прав мультитендентных групп.

Login & Register (IAD)

Исходный триггер (Бэкенд / СУБД / Клиент) gRPC / HTTP Статус Каноничный код (canonical_code) Реакция интерфейса (ui_reaction) JSON для логов и метрик (Бэкенд аналитика / ELK / Prometheus) JSON для маппинга из error_directory (Ответ для Фронтенда)
DioException: send timeout
IAD_CLIENT_SEND_TIMEOUT Показать локальный Alert-toast: «Превышено время ожидания отправки. Проверьте сеть». {
"level": "WARN",
"metric_name": "client_network_errors_total",
"labels": {
"type": "send_timeout",
"stage": "gateway_entry"
}
}
{
"canonical_code": "IAD_CLIENT_SEND_TIMEOUT",
"localized_text": "Не удалось отправить запрос. Проверьте интернет-соединение.",
"http_status": "0 Client Timeout"
}
HTTP 400 Bad Request: validation fail INVALID_ARGUMENT (3)
400 Bad Request
IAD_AUTH_BAD_REQUEST_FORMAT Подсветить поле Email красным цветом и вывески ошибку контракта. {
"level": "WARN",
"metric_name": "client_contract_violations",
"labels": {
"validator": "nginx_gateway",
"field": "email_format"
}
}
{
"canonical_code": "IAD_AUTH_BAD_REQUEST_FORMAT",
"localized_text": "Некорректный формат адреса электронной почты или параметров.",
"http_status": "400 Bad Request"
}
Nginx: Rate Limit exceeded RESOURCE_EXHAUSTED (8)
429 Too Many Requests
IAD_AUTH_RATE_LIMIT_EXCEEDED Заблокировать форму ввода на 60 секунд, показать таймер обратного отсчета. {
"level": "WARN",
"metric_name": "rate_limit_blocks_total",
"labels": {
"subsystem": "nginx_limit_req",
"zone": "auth_endpoints"
}
}
{
"canonical_code": "IAD_AUTH_RATE_LIMIT_EXCEEDED",
"localized_text": "Слишком много запросов. Пожалуйста, подождите перед следующей попыткой.",
"http_status": "429 Too Many Requests"
}
Nginx Proxy: upstream unavailable UNAVAILABLE (14)
502 Bad Gateway
IAD_INFRA_GATEWAY_DOWN Перенаправить пользователя на полноэкранную заглушку: «Сервер на техническом обслуживании». {
"level": "ERROR",
"metric_name": "nginx_upstream_failures_total",
"labels": {
"target": "backend_api_container",
"status": "502"
}
}
{
"canonical_code": "IAD_INFRA_GATEWAY_DOWN",
"localized_text": "Сервис временно недоступен. Инженеры уже в курсе.",
"http_status": "502 Bad Gateway"
}
FastAPI Gateway: downstream timeout DEADLINE_EXCEEDED (4)
504 Gateway Timeout
IAD_INFRA_GATEWAY_TIMEOUT Показать Alert-toast: «Сервер не ответил вовремя. Попробуйте еще раз». {
"level": "ERROR",
"metric_name": "gateway_downstream_timeouts_total",
"labels": {
"service": "auth_service_grpc"
}
}
{
"canonical_code": "IAD_INFRA_GATEWAY_TIMEOUT",
"localized_text": "Время ожидания ответа от сервера истекло. Повторите попытку.",
"http_status": "504 Gateway Timeout"
}
Pydantic: space_creation_mode fail INVALID_ARGUMENT (3)
422 Unprocessable Entity
IAD_CONTRACT_INVALID_SPACE_MODE Вывести системную ошибку, заблокировать кнопку отправки формы регистрации. {
"level": "WARN",
"metric_name": "client_contract_violations",
"labels": {
"validator": "pydantic",
"field": "space_creation_mode"
}
}
{
"canonical_code": "IAD_CONTRACT_INVALID_SPACE_MODE",
"localized_text": "Передан некорректный или неподдерживаемый режим инициализации пространства.",
"http_status": "422 Unprocessable Entity"
}
PostgreSQL: users_email_key violation ALREADY_EXISTS (6)
409 Conflict
IAD_AUTH_EMAIL_DUPLICATE Подсветить поле ввода Email красным цветом, заблокировать сабмит. {
"level": "ERROR",
"metric_name": "registration_failed_total",
"labels": {
"reason": "email_taken",
"domain": "auth"
}
}
{
"canonical_code": "IAD_AUTH_EMAIL_DUPLICATE",
"localized_text": "Данный Email уже зарегистрирован в системе.",
"http_status": "409 Conflict"
}
Bcrypt: password validation mismatch UNAUTHENTICATED (16)
401 Unauthorized
IAD_AUTH_INVALID_PASSWORD Показать Alert-toast «Неверные учетные данные», полностью очистить поле ввода пароля. {
"level": "WARN",
"metric_name": "login_failed_total",
"labels": {
"reason": "bad_password",
"security_level": "low"
}
}
{
"canonical_code": "IAD_AUTH_INVALID_PASSWORD",
"localized_text": "Неверный логин или пароль.",
"http_status": "401 Unauthorized"
}
PostgreSQL: ConnectionPoolTimeout UNAVAILABLE (14)
503 Service Unavailable
IAD_INFRA_DB_TIMEOUT Показать системный Full-screen overlay технического обслуживания («База данных перегружена»). {
"level": "ERROR",
"metric_name": "infra_db_pool_starvation_total",
"labels": {<br/> "pool": "auth_db",<br/> "severity": "high"<br/> }
}
{
"canonical_code": "IAD_INFRA_DB_TIMEOUT",
"localized_text": "Сервер базы данных временно перегружен. Попробуйте зайти позже.",
"http_status": "503 Service Unavailable"
}
CryptoException: KeySigningError INTERNAL (13)
500 Internal Server Error
IAD_CRYPTO_SIGNING_ERROR Показать системный модальный алерт: «Внутренняя ошибка генерации сессии. Обратитесь в поддержку». {
"level": "CRITICAL",
"metric_name": "crypto_key_faults_total",
"labels": {
"operation": "jwt_sign",
"algorithm": "RS256"
}
}
{
"canonical_code": "IAD_CRYPTO_SIGNING_ERROR",
"localized_text": "Критическая ошибка сервера при подписи сессии безопасности.",
"http_status": "500 Internal Server Error"
}
DioException: receive timeout
IAD_CLIENT_RECEIVE_TIMEOUT Показать ненавязчивый Bottom-toast: «Сессия создана, но ответ от сервера задерживается». {
"level": "WARN",
"metric_name": "client_network_errors_total",
"labels": {
"type": "receive_timeout",
"stage": "response_delivery"
}
}
{
"canonical_code": "IAD_CLIENT_RECEIVE_TIMEOUT",
"localized_text": "Превышено время ожидания ответа. Проверьте статус операции в приложении.",
"http_status": "0 Client Timeout"
}

Refresh & Logout (IAD)

Исходный триггер (Бэкенд / СУБД / Клиент) gRPC / HTTP Статус Каноничный код (canonical_code) Реакция интерфейса (ui_reaction) JSON для логов и метрик (Бэкенд аналитика / ELK / Prometheus) JSON для маппинга из error_directory (Ответ для Фронтенда)
Redis.ConnectionError: Connection refused UNAVAILABLE (14)
503 Service Unavailable
IAD_INFRA_REDIS_FAIL_CLOSE Жесткая блокировка UI. Разлогинить пользователя и показать экран «Проблемы с безопасностью сети». {
"level": "CRITICAL",
"metric_name": "infra_redis_down_incidents",
"labels": {
"subsystem": "blacklist",
"strategy": "fail_close"
}
}
{
"canonical_code": "IAD_INFRA_REDIS_FAIL_CLOSE",
"localized_text": "Критическая ошибка безопасности ядра авторизации. Доступ временно заблокирован.",
"http_status": "503 Service Unavailable"
}
Redis: refresh_token blacklist match UNAUTHENTICATED (16)
401 Unauthorized
IAD_JWT_REFRESH_STOLEN Срабатывание защиты Interceptor: полная очистка SecureStorage и принудительный вылет на экран Login. {
"level": "CRITICAL",
"metric_name": "security_token_reuse_alerts",
"labels": {
"token_type": "refresh",
"action": "force_logout"
}
}
{
"canonical_code": "IAD_JWT_REFRESH_STOLEN",
"localized_text": "Текущая сессия скомпрометирована или устарела. Требуется повторный вход.",
"http_status": "401 Unauthorized"
}
PostgreSQL: session rows not found NOT_FOUND (5)
401 Unauthorized
IAD_SESSION_NOT_FOUND Остановить очередь запросов Dio Interceptor, сбросить токены и открыть форму входа. {
"level": "WARN",
"metric_name": "session_validation_failures",<br/> "labels": {
"reason": "missing_in_db"
}
}
{
"canonical_code": "IAD_SESSION_NOT_FOUND",
"localized_text": "Активная сессия устройства не найдена в базе данных.",
"http_status": "401 Unauthorized"
}
PostgreSQL: user_sessions Deadlock ABORTED (10)
500 Internal Server Error
IAD_SESSION_ROTATION_DEADLOCK Заморозить Interceptor на 2 секунды и выполнить повторную автоматическую попытку ротации (Retry). {
"level": "ERROR",
"metric_name": "db_transaction_deadlocks_total",
"labels": {
"table": "user_sessions",
"operation": "rotate_tokens"
}
}
{
"canonical_code": "IAD_SESSION_ROTATION_DEADLOCK",
"localized_text": "Внутренняя ошибка коллизии транзакций на сервере при обновлении ключей.",
"http_status": "500 Internal Server Error"
}
App: SecureStorage write failure
IAD_CLIENT_HARDWARE_KEYSTORE_FAIL Показать диалоговое окно ОС: «Недостаточно защищенной памяти устройства для сохранения ключей сессии». {
"level": "ERROR",
"metric_name": "client_hardware_faults_total",
"labels": {
"storage": "ios_keychain_android_keystore",
"operation": "write_tokens"
}
}
{
"canonical_code": "IAD_CLIENT_HARDWARE_KEYSTORE_FAIL",
"localized_text": "Аппаратная ошибка крипто-хранилища смартфона. Попробуйте перезагрузить девайс.",
"http_status": "0 Client Storage Error"
}

Ошибки метода динамической синхронизации справочника (GET /api/v1/auth/error-directory)

Исходный триггер (Бэкенд / СУБД / Клиент) gRPC / HTTP Статус Каноничный код (canonical_code) Реакция интерфейса (ui_reaction) JSON для логов и метрик (Бэкенд аналитика / ELK / Prometheus) JSON для маппинга из error_directory (Ответ для Фронтенда)
gRPC: INVALID_ARGUMENT (app_lang unsupported) INVALID_ARGUMENT (3)
400 Bad Request
IAD_DIRECTORY_UNSUPPORTED_LANG Игнорировать ошибку, принудительно переключить локализацию перехватчика ошибок на дефолтный en. {
"level": "WARN",
"metric_name": "directory_sync_failed_total",
"labels": {
"reason": "invalid_lang_code",
"fallback": "en"
}
}
{
"canonical_code": "IAD_DIRECTORY_UNSUPPORTED_LANG",
"localized_text": "Запрошенный язык локализации справочника ошибок не поддерживается сервером.",
"http_status": "400 Bad Request"
}
PostgreSQL: table "error_directory" does not exist INTERNAL (13)
500 Internal Server Error
IAD_DIRECTORY_SCHEMA_CORRUPTED Использовать жестко захардкоженный дефолтный набор ошибок в коде мобилки. {
"level": "CRITICAL",
"metric_name": "db_schema_faults_total",
"labels": {
"table": "error_directory",
"reason": "missing_relation"
}
}
{
"canonical_code": "IAD_DIRECTORY_SCHEMA_CORRUPTED",
"localized_text": "Внутренняя ошибка сервера: повреждена или отсутствует структура справочников.",
"http_status": "500 Internal Server Error"
}
gRPC: DEADLINE_EXCEEDED (DB response too slow) DEADLINE_EXCEEDED (4)
504 Gateway Timeout
IAD_DIRECTORY_SYNC_TIMEOUT Повторить фоновый запрос синхронизации через 5 минут. Не блокировать интерфейс. {
"level": "ERROR",
"metric_name": "grpc_deadline_exceeded_total",
"labels": {
"rpc_method": "GetErrorDirectory"
}
}
{
"canonical_code": "IAD_DIRECTORY_SYNC_TIMEOUT",
"localized_text": "Истекло время ожидания ответа от мастер-сервиса справочников.",
"http_status": "504 Gateway Timeout"
}
App: JsonUnsupportedObjectError during parsing
IAD_CLIENT_JSON_PARSING_FAIL Записать инцидент в Crashlytics, отменить применение кэша и использовать локальный стейт. {
"level": "ERROR",
"metric_name": "client_serialization_faults_total",
"labels": {
"parser": "dart_json_decode",
"target": "error_directory"
}
}
{
"canonical_code": "IAD_CLIENT_JSON_PARSING_FAIL",
"localized_text": "Не удалось распарсить конфигурационный файл реестра ошибок. Структура пакета повреждена.",
"http_status": "0 Client Parsing Error"
}

2. Домен Реестров и Мастер-Данных: Master Data Registry Domain (MDM)

WarningОграничение публичной документации

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

  • Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
  • Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.

Специализированные коды справочников номенклатур и кулинарной книги (recipes-service).

3. Домен Склада и Транзакционного Учета: Inventory Domain (INVENTORY)

WarningОграничение публичной документации

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

  • Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
  • Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.

B2B Store Webhook Sync (STORE)

B2B Financial Processing (BILLING)

Batch Inventory Consolidation (MERGE)

4. Домен Асинхронных ИИ-Сервисов и Оркестрации: AI Orchestration Domain (AID)

WarningОграничение публичной документации

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

  • Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
  • Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.

Специализированные коды тяжелых GPU-воркеров (image-processor, product-vision-processor, grpc-analytics) и ИИ-цензора censorship-control-worker.

5. Домен Предиктивной Аналитики и Скорринга: Predictive Intelligence & Affinity Domain (AFFINITY)

WarningОграничение публичной документации

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

  • Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
  • Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.

Специализированные коды ошибок аналитического ядра affinity-service и фоновых математических планировщиков.

6. Домен Сквозного Мониторинга и Аудита Процессов: Process Mining & Audit Domain (PMA)

WarningОграничение публичной документации

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

  • Полная спецификация метода: Доступна только во внутреннем контуре разработки (Confluence / Swagger Enterprise).
  • Для получения доступа: Обратитесь к системному аналитику или Product Owner вашей команды.

Специализированные коды ошибок для bupar-audit-service, Grafana Loki и контура проброса trace_id.