Observability: как связать метрики, логи и трассировки

Как построить observability: пользовательские сигналы, метрики, структурированные логи, распределенные трассировки, единый контекст и владельцы.

Полноценная observability помогает задавать распределенной системе новые сложные вопросы во время сбоя, быстро связывая разные технические сигналы с конкретным пользовательским действием и результатом.

Начните с результата

Измеряйте успешность, задержку и объем ключевых операций, а ресурсы используйте для объяснения причины. Дашборд должен отвечать.

Добавьте контекст

Передавайте единый идентификатор запроса через сервисы, структурируйте журналы и отмечайте версию, регион и зависимость. Персональные данные исключайте.

Проверяйте полезность

Разберите реальный инцидент и оцените, какой сигнал заметил проблему, локализовал причину и подтвердил восстановление. Шум удаляйте.

Не собирайте максимальный объем телеметрии без срока хранения, владельца и сценария использования, поскольку лишние высококардинальные метки увеличивают стоимость, замедляют запросы и могут случайно раскрыть чувствительные данные без практической пользы для расследования.

Безопасные события рассмотрены в статье про журналирование. На сигналах стройте SLO.