При выполнении запроса трассировки в сервисной сетке могут возникать ситуации, когда целевое трассирование не удаётся получить.
Если параметр частоты выборки трассировки установлен слишком низко, система будет собирать данные трассировки пропорционально. В периоды недостаточного объёма запросов или низкой нагрузки это может привести к тому, что выборочные данные окажутся ниже порога видимости.
По умолчанию для индекса Elasticsearch установлено "refresh_interval": "10s"
, что приводит к задержке в 10 секунд перед обновлением данных из буфера памяти в состояние, доступное для поиска. При запросе недавно созданных трассировок результаты могут отсутствовать, так как данные ещё не были сохранены.
Эта конфигурация индекса эффективно снижает нагрузку на слияние данных в Elasticsearch, улучшая скорость индексирования и скорость первого запроса, но в то же время снижает степень актуальности данных.
При выполнении запросов трассировки, если технические принципы параметра Span kind
не до конца понятны, это может привести к отсутствию возвращаемых данных. Поэтому не рекомендуется использовать этот параметр произвольно. Особенно если указаны одновременно Client
и Server
, это может привести к пустым результатам запроса.
Span kind
set to Root Span
with both Client
and Server
specifiedВ этом случае запрос вернёт нет данных. Причина в том, что при наличии OTel Agent как на клиенте, так и на сервере, корневой спан трассировки обычно находится на стороне клиента, и данные сервера не будут получены. Для решения удалите условие Server
или избегайте выбора Root Span
.
Span kind
set to Service Entry Span
with both Client
and Server
specifiedАналогично, этот запрос также вернёт нет данных. Причина в том, что при наличии 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
, если нужны данные с клиента