Перейти к содержанию

Поиск логов и трейсов

SigNoz: как быстро находить логи и трейсы, и переходить между ними

Оглавление


Введение

Ниже — пошаговые инструкции для типовых сценариев.

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

Для Kubernetes полезные атрибуты: service.name, k8s.namespace.name, k8s.pod.name, k8s.container.name.

Для HTTP: http.method, http.route, http.status_code.

Для корреляции: trace_id в логах и трейсе.


Как найти нужные логи

1) Откройте раздел Logs. Pasted image 20251030185635.png

2) Ограничьте период времени (например, Last 1 hour). Pasted image 20251030185656.png

3) Отфильтруйте по сервису:

В фильтрах добавьте serviceName = <имя_сервиса>. Имя сервиса включает в себя имя деплоймента и его неймспейс. Например: filestream-api.documentations-prod Pasted image 20251030185706.png

4) Ищите по ключевым словам в сообщении:

Примеры фильтров:

service.name = filestream-api.documentations-prod AND details CONTAINS ERROR

Pasted image 20251030185738.png Здесь мы ищем логи сервиса filestream-api в неймспейсе documentations-prod, в котором поле лога details содержит ERROR

6) Уточняйте по полям Pod/Container:

k8s.pod.name = documentations-filestream-54cdd...

Pasted image 20251030185813.png Если вы не видите логов для указанного пода, расширьте временной диапазон поиска, так как поды — это эфемерная сущность и они могут создаваться и удаляться.

Подсказки

  • Для JSON-логов раскрывайте правую панель с полями и добавляйте нужные как фильтры. Для добавления поля и его значения в фильтр, просто кликните по нему.

  • При большом объёме логов сузьте период и повышайте селективность (severity, точные слова, имя конкретного пода).


Как искать и фильтровать трейсы

1) Откройте раздел Traces. Pasted image 20251030185832.png

2) Выберите сервис:

  • Выберите период, добавьте service.name = <имя_сервиса>. Pasted image 20251030185859.png

3) Фильтры:

Если известен trace_id, можно отфильтровать по нему. Также можно отфильтровать по любому его атрибуту:

http.route = /payments/{id}

Pasted image 20251030185909.png

Pasted image 20251030185922.png

4) Фильтр по latency (длительность):

  • Задайте durationNano > <значение>. Pasted image 20251030185934.png

5) Фильтр по статусу/ошибкам:

http.status_code >= 500 AND k8s.namespace.name = <namespace>

Pasted image 20251030185952.png 7) Откройте подходящий трейс:

  • Используйте таблицу/список, flamegraph для диагностики. Pasted image 20251030190004.png

Как перейти от логов к трейсам и обратно

Логи → Трейс

1) В логах найдите запись с trace_id (отображается со значком ссылки).

2) Нажмите на trace_id → откроется связанный трейс.

Pasted image 20251030190028.png Pasted image 20251030190037.png Если ссылки нет — скопируйте значение trace_id, откройте Traces и добавьте фильтр:

trace_id = <значение>

3) Убедитесь, что временной диапазон включает момент появления лога.

Трейс → Логи

1) В деталях трейсa используйте кнопку Go to related logs. Pasted image 20251030190049.png Pasted image 20251030190100.png 2) Либо откройте Logs и добавьте фильтр:

trace_id = <trace_id из данных трейсa>

Использование View

Для сохранения часто используемых запросов во вкладке Traces или Logs вы можете добавить их в качестве View. Для этого добавьте нужные фильтры в запрос и нажмите на кнопку Save this view в нижней части окна. Добавьте имя лейбла к сохраненному View как на скриншоте. После этого данный View появится в dropdown списке и его можно использовать. Pasted image 20251030190118.png Pasted image 20251030190125.png