При выполнении запроса трассировочного следа в сервисной сетке могут возникать ситуации, когда целевой трассировочный след не удаётся получить.
Если параметр коэффициента выборки трассировок установлен слишком низко, система будет собирать данные трассировок пропорционально. В периоды недостаточного объёма запросов или в часы низкой нагрузки это может привести к тому, что выборочные данные окажутся ниже порога видимости.
По умолчанию для индекса 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
, если нужны данные с клиента