При выполнении запроса трассировки в сервисной сетке вы можете столкнуться с ситуациями, когда целевую трассировку невозможно извлечь.
Когда параметр коэффициента выборки для трассировки установлен слишком низко, система будет собирать данные трассировки пропорционально. В периоды недостаточного объема запросов или в низкопиковые времена это может привести к тому, что собранные данные окажутся ниже порога видимости.
Конфигурация индекса Elasticsearch по умолчанию составляет "refresh_interval": "10s"
, что приводит к задержке в 10 секунд перед тем, как данные обновляются из буфера памяти в состояние доступности для поиска. При запросе недавно созданных трассировок результаты могут отсутствовать, поскольку данные еще не были сохранены.
Эта конфигурация индекса может эффективно уменьшить нагрузку на слияние данных в Elasticsearch, улучшая скорость индексирования и скорость первого запроса, но она также несколько снижает реальность данных.
При выполнении запросов трассировки, если технические принципы, стоящие за параметром Span kind
, не понятны, это может привести к отсутствию возвращаемых данных. Поэтому не рекомендуется использовать этот параметр произвольно. Особенно когда и Client
, и Server
указаны, это может привести к пустым результатам запроса.
Span kind
установлен на Root Span
с указанными обоими Client
и Server
В этом случае запрос вернет нет данных. Причина заключается в том, что когда и клиент, и сервер управляются OTel Agent, корневое покрытие трассировки обычно находится на стороне клиента, и данные сервера не будут извлечены. Чтобы решить эту проблему, удалите условие Server
или избегайте выбора Root Span
.
Span kind
установлен на Service Entry Span
с указанными обоими Client
и Server
Аналогично, этот запрос также вернет нет данных. Причина в том, что когда и клиент, и сервер имеют инъектированный Sidecar, Service Entry Span
относится к первому запросу, полученному сервером, но данные трассировки хранятся на стороне клиента. Чтобы решить эту проблему, удалите условие Client
или избегайте выбора Service Entry Span
.
Отрегулируйте интервал обновления с помощью параметра запуска --es.asm.index-refresh-interval
для jaeger-collector
, со значением по умолчанию 10s
.
Если значение этого параметра установлено на "null"
, то конфигурация для refresh_interval
индекса отсутствует.
Примечание: Установка значения на "null"
повлияет на производительность и скорость запросов Elasticsearch.
При использовании параметра Span kind
в запросах трассировки:
Client
и Server
Root Span
:
Server
, если присутствуют и клиент, и серверRoot Span
, если вам нужны данные со стороны сервераService Entry Span
:
Client
, если присутствуют и клиент, и серверService Entry Span
, если вам нужны данные со стороны клиента