Files
transcriber/tasks/items/service-observability.md
T

1.9 KiB

🎯 Состояние сервиса видно без чтения логов

  • Тип: goal
  • Секция: Сопровождение
  • Зачем: Отказ замечает пользователь, а не владелец: оповещения нет, а путь записи по конвейеру собирается глазами по логам контейнера.
  • Теги: decomposed

Наблюдаем мы, а не пользователь сервиса, — поэтому цель стоит в сопровождении, а не среди возможностей приложения. Пользовательская половина той же темы живёт отдельно: о готовности своей записи человек узнаёт по цели ready-notification.

Эндпоинт /metrics остаётся и развивается. Чем именно развивать — голым client_golang или OpenTelemetry с трассировкой — решает разведка opentelemetry-fit.

Завершение

  1. По метрикам видно, что конвейер встал: задача висит в состоянии дольше обычного, и это отличимо от «работы нет».
  2. Каждый внешний сервис имеет метрику вызовов, отказов и длительности — сегодня их нет ни у одного.
  3. Путь одной записи по конвейеру собирается запросом, а не чтением логов глазами.
  4. Владелец узнаёт об отказе сам, а не от пользователя.
  5. Стоимость обращений к платным сервисам видна числом.