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

27 lines
1.9 KiB
Markdown

# 🎯 Состояние сервиса видно без чтения логов
- **Тип:** goal
- **Секция:** Сопровождение
- **Зачем:** Отказ замечает пользователь, а не владелец: оповещения нет, а путь записи по конвейеру собирается глазами по логам контейнера.
- **Теги:** decomposed
Наблюдаем **мы**, а не пользователь сервиса, — поэтому цель стоит в
сопровождении, а не среди возможностей приложения. Пользовательская половина
той же темы живёт отдельно: о готовности своей записи человек узнаёт по цели
[ready-notification](ready-notification.md).
Эндпоинт `/metrics` остаётся и развивается. Чем именно развивать — голым
`client_golang` или OpenTelemetry с трассировкой — решает разведка
`opentelemetry-fit`.
## Завершение
1. По метрикам видно, что конвейер встал: задача висит в состоянии дольше
обычного, и это отличимо от «работы нет».
2. Каждый внешний сервис имеет метрику вызовов, отказов и длительности —
сегодня их нет ни у одного.
3. Путь одной записи по конвейеру собирается запросом, а не чтением логов
глазами.
4. Владелец узнаёт об отказе сам, а не от пользователя.
5. Стоимость обращений к платным сервисам видна числом.