Устранение неполадок источника данных Jaeger
В этом документе приведены решения распространённых проблем, которые могут возникнуть при настройке или использовании источника данных Jaeger. Инструкции по настройке см. в разделе Настройка источника данных Jaeger.
Ошибки подключения
Эти ошибки возникают, когда Grafana не может подключиться к экземпляру Jaeger.
«Connection refused» или ошибки тайм-аута
Симптомы:
- Save & test завершается с ошибкой подключения
- Запросы завершаются ошибками сети
- Раскрывающиеся списки сервисов и операций не загружаются
Возможные причины и решения:
«request failed: 404 Not Found»
Симптомы:
- Save & test возвращает ошибку 404
- Запросы завершаются сообщениями «request failed»
Решения:
- Убедитесь, что URL Jaeger не содержит завершающего пути, такого как
/api. Правильный URL — это базовый адрес, напримерhttp://localhost:16686. - Убедитесь, что служба запросов Jaeger запущена и прослушивает ожидаемый порт.
- Если используется обратный прокси, убедитесь, что прокси перенаправляет запросы на корректную конечную точку Jaeger.
Ошибки TLS
Симптомы:
- Ошибки проверки сертификата во время Save & test
- Ошибки с упоминанием
x509или проверки сертификата
Решения:
- Убедитесь, что ваши сертификаты TLS действительны и не истекли.
- Если используется приватный CA, убедитесь, что сертификат CA настроен в Additional settings источника данных.
- Для тестирования вы можете временно включить Skip TLS verify в настройках источника данных. Не используйте это в продакшене.
- Убедитесь, что параметр Server name соответствует Common Name или Subject Alternative Name сертификата.
Ошибки тайм-аута
Симптомы:
- Запросы выполняются долго, а затем завершаются ошибкой
- В ошибках упоминается тайм-аут
Решения:
- Увеличьте значение тайм-аута в Additional settings > Timeout.
- Убедитесь, что сетевая задержка между Grafana и Jaeger приемлема.
- Проверьте, что служба запросов Jaeger не перегружена.
Ошибки аутентификации
Эти ошибки возникают, когда учётные данные недействительны или отсутствуют.
«401 Unauthorized» или «403 Forbidden»
Симптомы:
- Save & test завершается с ошибками авторизации
- Запросы возвращают сообщения об отказе в доступе
- Сервисы и операции не загружаются в раскрывающихся списках
Возможные причины и решения:
Ошибки запросов
Эти ошибки возникают при выполнении запросов к Jaeger.
«traceID is empty»
Симптомы:
- Запрос завершается с ошибкой «traceID is empty» при использовании типа запроса TraceID
Решения:
- Введите действительный идентификатор трассировки в поле Trace ID.
- Убедитесь, что идентификатор трассировки является корректной шестнадцатеричной строкой.
- Если используется переменная шаблона, убедитесь, что переменная имеет непустое значение.
Нет данных в результатах поиска
Симптомы:
- Запрос поиска не возвращает трассировок
- Список трассировок пуст
Возможные причины и решения:
«The JSON file uploaded is not in a valid Jaeger format»
Симптомы:
- Импорт файла трассировки завершается ошибкой формата
Решения:
- Убедитесь, что файл JSON соответствует формату трассировки Jaeger с массивом
dataна верхнем уровне. - Убедитесь, что файл содержит хотя бы один объект трассировки в массиве
data. - Проверьте синтаксис JSON с помощью линтера JSON.
Ожидаемый формат:
{
"data": [
{
"traceID": "<TRACE_ID>",
"spans": [...],
"processes": {...}
}
]
}
Ошибки графа зависимостей
Эти ошибки связаны с типом запроса dependency graph.
Пустой граф зависимостей
Симптомы:
- Запрос графа зависимостей не возвращает узлов или рёбер
- Панель Node Graph пуста
Возможные причины и решения:
Ошибки конечной точки gRPC
Эти ошибки возникают при использовании конечной точки запросов gRPC.
Запросы gRPC завершаются ошибкой
Симптомы:
- Запросы не используют конечную точку gRPC
- Запросы поиска, сервисов и операций по-прежнему используют REST API
Решения:
- Убедитесь, что флаг функции
jaegerEnableGrpcEndpointвключён в Grafana. Эта функция является экспериментальной. - Клиентам Grafana Cloud следует обратиться в службу поддержки, чтобы запросить доступ.
- Обратите внимание, что запросы поиска и графа зависимостей в настоящее время используют конечную точку REST даже при включённом флаге функции. Только поиск сервисов, поиск операций и запросы по идентификатору трассировки используют gRPC.
Включение отладочного журналирования
Чтобы получить подробную информацию об ошибках для устранения неполадок:
-
Установите уровень журналирования Grafana в
debugв файле конфигурации:[log] level = debug -
Воспроизведите проблему.
-
Просмотрите журналы в
/var/log/grafana/grafana.log(или в настроенном вами расположении журналов). -
Ищите записи, относящиеся к Jaeger, которые содержат URL запросов, коды состояния ответов и сведения об ошибках.
-
Верните уровень журналирования в
infoпосле устранения неполадок, чтобы избежать чрезмерного объёма журналов.
Получение дополнительной помощи
Если вы испробовали решения в этом документе и всё ещё сталкиваетесь с проблемами:
- Проверьте форумы сообщества Grafana на предмет похожих проблем.
- Просмотрите проблемы на GitHub Grafana на предмет известных ошибок, связанных с источником данных Jaeger.
- Обратитесь к документации Jaeger за рекомендациями по конкретным сервисам.
- Свяжитесь со службой поддержки Grafana, если вы являетесь пользователем Enterprise, Cloud Pro или Cloud Advanced.
- При сообщении о проблемах укажите:
- Версию Grafana
- Версию Jaeger
- Сообщения об ошибках (отредактируйте конфиденциальную информацию)
- Шаги воспроизведения
- Соответствующую конфигурацию источника данных (отредактируйте учётные данные)