Метрики, логи и трассировки: три источника наблюдаемости
Когда использовать time series, структурированные события и distributed tracing.
Метрики, логи и трассировки описывают систему с разных сторон. Они не заменяют друг друга, а дополняют.
Метрика хорошо отвечает на вопрос «как менялось значение во времени». Лог объясняет конкретное событие. Трассировка показывает путь одного запроса через несколько сервисов.
Метрики
Time series удобны для CPU, memory, request rate, latency percentile и количества ошибок. Они компактны и хорошо агрегируются.
Логи
Логи могут содержать идентификаторы, сообщения об ошибках и прикладной контекст. Структурированный JSON обычно проще фильтровать и анализировать, чем произвольные текстовые строки.
Трассировки
Distributed tracing связывает операции разных сервисов одним trace ID. Это особенно полезно в микросервисной архитектуре, где один пользовательский запрос проходит через несколько backend.
Корреляция
Наиболее сильный подход — связывать источники. Из графика ошибки оператор переходит к trace, а из конкретного span — к логам нужного экземпляра приложения.
Практический вывод
Observability начинается не с установки трёх продуктов, а с согласованной модели идентификаторов, времени и контекста.