Устранение неполадок источника данных Loki
В этом документе приведены решения типовых проблем, с которыми вы можете столкнуться при настройке или использовании источника данных Loki. Инструкции по настройке см. в разделе Configure the Loki data source.
Note
Это руководство охватывает источник данных Loki в Grafana: подключение к Loki, выполнение запросов и настройку функций. Оно не охватывает устранение неполадок самого сервиса Loki. Для помощи с развёртыванием Loki, включая производительность приёма и запросов, обратитесь к разделу Manage and debug errors в документации Loki.
Ошибки подключения
Эти ошибки возникают, когда Grafana не может достичь вашего сервера Loki.
Ошибка Save & test
Признаки:
- Проверка источника данных завершается с ошибкой или по таймауту.
- Запросы завершаются с ошибками сети.
Возможные причины и решения:
Ошибки запросов
Эти ошибки возникают при выполнении запросов к Loki.
Нет данных или пустые результаты
Признаки:
- Запрос выполняется без ошибок, но не возвращает данных.
- Панели отображают сообщение “No data”.
Возможные причины и решения:
Таймаут запроса или “too many outstanding requests”
Признаки:
- Запрос выполняется долго и затем завершается с ошибкой.
- В ошибках упоминаются таймауты, лимиты запросов или слишком много незавершённых запросов.
Решения:
- Сузьте диапазон времени, чтобы уменьшить объём сканируемых данных.
- Добавьте фильтры меток или фильтр строк, чтобы уменьшить результирующий набор.
- Уменьшите параметр Maximum lines на источнике данных или лимит строк в запросе.
- Проверьте лимиты запросов и скорости, настроенные в вашем развёртывании Loki.
“maximum of series reached for a single query”
Признаки:
- Метрический запрос завершается с ошибкой о максимальном количестве рядов.
Решения:
- Добавьте селекторы меток, чтобы уменьшить количество потоков, которых касается запрос.
- Агрегируйте через
sum by (...), чтобы уменьшить кардинальность. - Избегайте меток с высокой кардинальностью в агрегациях.
Проблемы производительности
Эти проблемы связаны с медленными запросами или лимитами скорости.
Запросы выполняются медленно или попадают под лимит скорости
Решения:
- Сузьте диапазон времени и добавьте фильтры меток, чтобы запросы сканировали меньше данных.
- Включите кэширование запросов, доступное в Grafana Enterprise и Grafana Cloud.
- Проверьте лимиты запросов, приёма и скорости в вашем развёртывании Loki.
Ошибки шаблонных переменных
Эти ошибки возникают при использовании шаблонных переменных с источником данных.
Переменные не возвращают значений
Решения:
- Убедитесь, что подключение к источнику данных работает, выполнив Save & test.
- Проверьте, что метка или селектор потока в запросе переменной возвращает значения в редакторе запросов.
- Для каскадных переменных убедитесь, что родительские переменные имеют допустимые значения.
Проблемы с производными полями и связями из журналов в трассировки
Эти проблемы затрагивают производные поля, включая связи из журналов в трассировки.
Производное поле или связь с трассировкой не отображается
- Убедитесь, что регулярное выражение соответствует формату вашей строки журнала. Шаблон, который не совпадает, не даёт значения и связи. Используйте Show example log message в конфигурации источника данных, чтобы проверить шаблон на реальной строке журнала.
- Для производного поля типа Label убедитесь, что ключ метки соответствует шаблону. Совпадение проверяется по ключам меток, а не по значениям.
- Проверьте, что значение поля захватывается. Для типа Regex in log line Grafana использует первую группу захвата, поэтому выражение должно её содержать.
Связь с трассировкой открывается, но не показывает трассировку
- Производное поле лишь строит связь с целевым источником данных, используя извлечённое значение; оно не создаёт трассировку. Убедитесь, что трассировка принята в целевой источник данных, например Tempo, и что извлечённый идентификатор совпадает с идентификатором трассировки, хранящимся там.
- Проверьте, что извлечённое значение — правильный идентификатор. Слишком разрешающее регулярное выражение может захватить не ту часть строки журнала. Привяжите шаблон и сделайте его конкретным, например сопоставляйте
traceID=(\w+), а не широкое(\w+).
Не удаётся редактировать производные поля на источнике данных, настроенном провижинингом
Источники данных, созданные через провижининг, доступны только для чтения в UI, поэтому вы не можете изменить их производные поля со страницы конфигурации источника данных.
- Для самостоятельно управляемой Grafana отредактируйте конфигурацию производного поля в YAML-файле провижининга и перезапустите Grafana или перезагрузите провижининг.
- Для Grafana Cloud создайте обращение в поддержку из Grafana Cloud Portal, чтобы запросить изменения в источнике данных, настроенном провижинингом.
Одна связь требует значений из более чем одного поля
Производное поле даёт одно значение на строку журнала, поэтому вы не можете объединить несколько меток или групп захвата в одно поле или связь. Создайте отдельное производное поле для каждого значения, которое нужно вывести.
Проблемы с живым просмотром журналов
Эти проблемы затрагивают просмотр журналов в реальном времени в Explore.
Живой просмотр журналов не передаёт журналы потоком
Живой просмотр журналов опирается на WebSocket-соединения между браузером и Grafana, а также между Grafana и Loki. Обратные прокси часто блокируют эти соединения.
Решения:
- Убедитесь, что ваш обратный прокси перенаправляет WebSocket-соединения для эндпоинта tail. Обратитесь к примерам прокси в разделе Loki query editor.
- Проверьте, что промежуточные балансировщики нагрузки и правила межсетевого экрана разрешают обновления до WebSocket.
- Убедитесь, что сам Loki достижим и что эндпоинт tail не заблокирован.
Проблемы с управлением доступом на основе меток (LBAC)
Управление доступом на основе меток (LBAC) фильтрует журналы, которые команда может запрашивать, по меткам. Оно доступно в Grafana Cloud и Grafana Enterprise, где требует Grafana Enterprise Logs (GEL). Если вы не можете включить LBAC или команды видят больше журналов, чем ожидается, проверьте следующее.
Не удаётся включить LBAC на источнике данных, настроенном провижинингом
Note
Вы не можете включить LBAC на источнике данных Loki, настроенном провижинингом или автоматическим провижинингом. Провижининг источников данных LBAC не поддерживается.
Чтобы использовать LBAC, создайте новый источник данных Loki вручную и настройте его с базовой аутентификацией, используя ваш токен Cloud Access Policy (CAP) в качестве пароля. Укажите тот же эндпоинт Loki, что и у источника данных, настроенного провижинингом, затем задайте правила LBAC на вкладке Permissions нового источника данных. Полную процедуру см. в разделе Configure LBAC for data sources for Loki.
Команды всё ещё могут запрашивать все журналы
- LBAC применяется только когда у команды есть хотя бы одно правило. Если у команды нет правил LBAC, её участники могут запрашивать все журналы. Убедитесь, что у каждой команды есть нужные вам правила.
- Разрешения Grafana складываются. Базовая роль пользователя, например Viewer, может давать доступ к источнику данных независимо от правил, ограниченных командами. Удалите роли и разрешения команд, которые не требуются, чтобы только нужные команды имели разрешение Query на источнике данных LBAC.
- Удалите любые селекторы меток из Cloud Access Policy, используемой источником данных. Селекторы меток CAP переопределяют правила LBAC.
Подробности и ограничения см. в разделе LBAC for data sources.
Включение журналирования отладки
Чтобы собрать подробную информацию об ошибках для устранения неполадок:
-
Задайте уровень журналирования Grafana
debugв файле конфигурации:[log] level = debug -
Просмотрите журналы в
/var/log/grafana/grafana.logили в настроенном вами месте хранения журналов. -
Ищите записи, относящиеся к Loki, которые включают сведения о запросах и ответах.
-
Верните уровень журналирования на
infoпосле устранения неполадок, чтобы избежать чрезмерного объёма журналов.
Получение дополнительной помощи
Если вы испробовали эти решения и всё ещё сталкиваетесь с проблемами:
- Проверьте форумы сообщества Grafana на наличие похожих проблем.
- Просмотрите issues источника данных Loki на GitHub на предмет известных ошибок.
- Обратитесь к документации Loki за рекомендациями по самому сервису.
- При сообщении о проблемах укажите:
- Версии Grafana и Loki
- Сообщения об ошибках со скрытой чувствительной информацией
- Шаги воспроизведения
- Соответствующую конфигурацию со скрытыми учётными данными