Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Связь метрик, логов и трейсов

Связь метрик, логов и трейсов: переход между сигналами

Связь трёх сигналов наблюдаемости: общие признаки, переход от метрики к записи и к дереву операций, ограничения сопоставления.

Прямой ответ

Связь метрик, логов и трейсов обеспечивается общими признаками, поэтому от деградации метрики можно перейти к записям и к дереву операций того же обращения.

Сигнал Что показывает
Метрика Числовое значение во времени
Лог Отдельное событие с признаками
Трейс Дерево операций одного обращения
# Grafana: переход от метрики к записям
links:
  - title: Показ записи
    url: "/explore?left={\"datasource\":\"loki\",\"queries\":[{\"expr\":\"{service=\\\"orders\\\"}\"}]}"

Общие признаки сервиса и обращения позволяют перейти от одного сигнала к другому без ручного поиска. О признаках обращения — в статье про сквозной идентификатор.

Общие признаки и переход между сигналами

Признаки сервиса, окружения и обращения присутствуют во всех трёх сигналах, поэтому сопоставление выполняется по значению признака.

Признак сервиса. Присутствует в метрике, записи и спане, поэтому сопоставление выполняется по имени сервиса.

Признак обращения. Присутствует в записи и спане, поэтому переход от записи к дереву операций выполняется по признаку.

Переход от метрики. Метрика показывает деградацию, поэтому переход к записям и дереву выполняется для того же интервала и сервиса.

Практическое следствие: отсутствие общего признака разрывает сопоставление, поэтому переход между сигналами выполняется вручную.

Отдельный аспект — различие детализации. Метрика даёт агрегированное значение, запись — отдельное событие, дерево — структуру операций одного обращения.

Три признака некорректной связи.

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

Отсутствие признака обращения в записи. Переход от записи к дереву не выполняется, поскольку признак не совпадает.

Различие меток времени. Записи и метрики не совпадают по времени, поэтому сопоставление даёт неверный результат.

О различии сигналов — в статье про три сигнала; об основах трассировки — в статье про распределённую трассировку.

Различие детализации и совместное использование

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

Метрика. Агрегированное значение показывает деградацию во времени, поэтому используется для тенденции и оповещения.

Лог. Отдельное событие с признаками описывает конкретное occurrence, поэтому используется для детали обращения.

Трейс. Дерево операций показывает структуру обращения, поэтому используется для локализации участка.

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

Практика: настройка связи сигналов

1. Используйте единые признаки сервиса. Присутствие во всех сигналах обеспечивает сопоставление по значению.

2. Включайте признак обращения в запись и спан. Переход от записи к дереву выполняется по совпадающему признаку.

3. Синхронизируйте метки времени. Единый источник времени обеспечивает совпадение интервалов.

4. Настройте переходы от метрики к записям. Переход выполняется для того же интервала и сервиса.

5. Проверяйте сопоставление по реальному обращению. Совпадение признаков подтверждает корректность перехода.

6. Фиксируйте признак источника в ошибке. Признак в записи ошибки позволяет определить сервис сбоя.

7. Ограничивайте объём переходов. Переход к полному объёму записей не даёт полезной информации.

Рекомендации:

  1. Не полагайтесь на сопоставление без общего признака. Отсутствие признака делает переход ручным и ненадёжным.
  2. Учитывайте различие детализации. Метрика агрегирует, запись описывает событие, дерево — структуру операций.
  3. Сопоставляйте по интервалу и сервису. Совпадение интервала и признака обеспечивает корректность перехода.
  4. Фиксируйте признак обращения при ошибке. Признак в записи позволяет перейти к дереву того же обращения.
  5. Пересматриваем признаки при добавлении сервисов. Новый сервис требует включения общих признаков.

Практический сценарий: переход от метрики к причине не сработал

Контекст: метрика показала рост длительности, но переход к записям не дал записей того же обращения.

  1. Диагностика. Проверка показала, что признак обращения отсутствовал в записи сервиса. Метрика показывала деградацию, но переход к записям возвращал записи без признака, поэтому сопоставление не выполнялось.
  2. Причина. Запись сервиса не содержала признака обращения, поэтому переход от метрики к дереву операций не выполнялся.
  3. Действия. (а) Добавили признак обращения в запись и спан сервиса; (б) проверили совпадение признаков по реальному обращению; (в) синхронизировали метки времени между сигналами; (г) настроили переход от метрики к записям для того же интервала; (д) проверили переход по реальному обращению и убедились в возврате записей и дерева.
  4. Результат. Переход от метрики к записям и дереву выполняется по общим признакам.

Вывод: отсутствие общего признака разрывает сопоставление сигналов, поэтому переход выполняется вручную. Единые признаки сервиса и обращения обеспечивают переход от деградации метрики к причине.

FAQ

Как связаны метрики, логи и трейсы? Через общие признаки сервиса и обращения. Совпадение признаков позволяет перейти от одного сигнала к другому.

Как перейти от метрики к причине? Через переход к записям и дереву операций того же интервала и сервиса. Совпадение признаков обеспечивает корректность перехода.

Почему важен признак обращения? Он связывает записи и спаны одного запроса, поэтому переход от записи к дереву выполняется по совпадающему признаку.

Что даёт различие детализации сигналов? Метрика показывает деградацию в целом, запись описывает событие, дерево — структуру операций. Совместное использование даёт полную картину.

Источники: OpenTelemetry signals, Grafana datasources, Prometheus naming — ссылки в шапке.