Последнее обновление: августа 10, 2026

Устранение неполадок источника данных Elasticsearch

В этом документе приведена информация по устранению распространённых ошибок, с которыми можно столкнуться при использовании источника данных Elasticsearch в Grafana.

Ошибки подключения

Следующие ошибки возникают, когда Grafana не может установить или поддерживать соединение с Elasticsearch.

Не удалось подключиться к Elasticsearch

Сообщение об ошибке: “Health check failed: Failed to connect to Elasticsearch”

Причина: Grafana не может установить сетевое соединение с сервером Elasticsearch.

Решение:

  1. Убедитесь, что URL Elasticsearch указан верно в конфигурации источника данных.
  2. Проверьте, что Elasticsearch запущен и доступен с сервера Grafana.
  3. Убедитесь, что нет правил межсетевого экрана, блокирующих соединение.
  4. При использовании прокси убедитесь, что настройки прокси верны.
  5. Для Grafana Cloud убедитесь, что вы настроили Private data source connect, если ваш экземпляр Elasticsearch недоступен публично.

Превышено время ожидания запроса

Сообщение об ошибке: “Health check failed: Elasticsearch data source is not healthy. Request timed out”

Причина: Время ожидания соединения с Elasticsearch истекло до получения ответа.

Решение:

  1. Проверьте сетевую задержку между Grafana и Elasticsearch.
  2. Убедитесь, что Elasticsearch не перегружен и не испытывает проблем с производительностью.
  3. При необходимости увеличьте настройку тайм-аута в конфигурации источника данных.
  4. Проверьте, не прерывают ли соединение сетевые устройства (балансировщики нагрузки, прокси) из-за тайм-аута.

Не удалось разобрать URL источника данных

Сообщение об ошибке: “Failed to parse data source URL”

Причина: URL, введённый в конфигурации источника данных, недействителен.

Решение:

  1. Убедитесь, что формат URL верен (например, http://localhost:9200 или https://elasticsearch.example.com:9200).
  2. Убедитесь, что URL содержит протокол (http:// или https://).
  3. Удалите завершающие косые черты или недопустимые символы из URL.

Ошибки аутентификации

Следующие ошибки возникают при проблемах с учётными данными аутентификации или разрешениями.

Unauthorized (401)

Сообщение об ошибке: “Health check failed: Elasticsearch data source is not healthy. Status: 401 Unauthorized”

Причина: Учётные данные аутентификации недействительны или отсутствуют.

Решение:

  1. Убедитесь, что имя пользователя и пароль верны.
  2. При использовании ключа API убедитесь, что ключ действителен и не истёк.
  3. Проверьте, что выбранный метод аутентификации соответствует вашей конфигурации Elasticsearch.
  4. Убедитесь, что у пользователя есть необходимые разрешения для доступа к кластеру Elasticsearch.

Forbidden (403)

Сообщение об ошибке: “Health check failed: Elasticsearch data source is not healthy. Status: 403 Forbidden”

Причина: У аутентифицированного пользователя нет разрешения на доступ к запрошенному ресурсу.

Решение:

  1. Убедитесь, что у пользователя есть доступ на чтение указанного индекса.
  2. Проверьте настройки безопасности Elasticsearch и сопоставления ролей.
  3. Убедитесь, что у пользователя есть разрешение на доступ к эндпоинту _cluster/health.
  4. При использовании аутентификации SigV4 с доменом, совместимым с Elasticsearch и размещённым в AWS, убедитесь, что политика IAM предоставляет необходимые разрешения.

Ошибки состояния кластера

Следующие ошибки возникают, когда кластер Elasticsearch неисправен или недоступен.

Состояние кластера — красный

Сообщение об ошибке: “Health check failed: Elasticsearch data source is not healthy”

Причина: Состояние кластера Elasticsearch — красный, что означает, что один или несколько первичных шардов не размещены.

Решение:

  1. Проверьте состояние кластера Elasticsearch с помощью GET /_cluster/health.
  2. Просмотрите логи Elasticsearch на предмет ошибок.
  3. Убедитесь, что все узлы кластера запущены и подключены.
  4. Проверьте наличие неназначенных шардов с помощью GET /_cat/shards?v&h=index,shard,prirep,state,unassigned.reason.
  5. Рассмотрите возможность увеличения ресурсов кластера или уменьшения количества шардов.

Bad Gateway (502)

Сообщение об ошибке: “Health check failed: Elasticsearch data source is not healthy. Status: 502 Bad Gateway”

Причина: Прокси или балансировщик нагрузки между Grafana и Elasticsearch вернул ошибку.

Решение:

  1. Проверьте работоспособность прокси или балансировщиков нагрузки на пути соединения.
  2. Убедитесь, что Elasticsearch запущен и принимает соединения.
  3. Просмотрите логи прокси/балансировщика нагрузки для получения дополнительных сведений.
  4. Убедитесь, что тайм-аут прокси настроен должным образом для запросов Elasticsearch.

Ошибки индекса

Следующие ошибки возникают при проблемах с настроенным индексом или шаблоном индекса.

Индекс не найден

Сообщение об ошибке: “Error validating index: index_not_found”

Причина: Указанный индекс или шаблон индекса не соответствует ни одному существующему индексу.

Решение:

  1. Убедитесь, что имя или шаблон индекса в конфигурации источника данных верны.
  2. Проверьте, что индекс существует, с помощью GET /_cat/indices.
  3. Если используется шаблон индекса, зависящий от времени (например, [logs-]YYYY.MM.DD), убедитесь, что индексы существуют для выбранного временного диапазона.
  4. Убедитесь, что у пользователя есть разрешение на доступ к индексу.

Поле времени не найдено

Сообщение об ошибке: “Could not find time field ‘@timestamp’ with type date in index”

Причина: Указанное поле времени не существует в индексе или имеет тип, отличный от date.

Решение:

  1. Убедитесь, что имя поля времени в конфигурации источника данных соответствует полю в вашем индексе.
  2. Проверьте маппинг поля с помощью GET /<index>/_mapping.
  3. Убедитесь, что поле времени замаплено как тип date, а не text или keyword.
  4. Если имя поля отличается (например, timestamp вместо @timestamp), обновите конфигурацию источника данных.

Ошибки запросов

Следующие ошибки возникают при проблемах с синтаксисом или конфигурацией запроса.

Слишком много групп

Сообщение об ошибке: “Trying to create too many buckets. Must be less than or equal to: [65536].”

Причина: Запрос создаёт больше групп агрегации, чем допускает Elasticsearch.

Решение:

  1. Уменьшите временной диапазон запроса.
  2. Увеличьте интервал date histogram (например, измените с 10s на 1m). Для вложенных агрегаций со значением Interval, установленным в Auto, более новые версии плагина расширяют автоматический интервал, когда запрос превысил бы max_buckets.
  3. Добавьте фильтры, чтобы уменьшить количество агрегируемых документов.
  4. Увеличьте настройку search.max_buckets в Elasticsearch (требуется доступ администратора кластера).
  5. Обновите плагин Elasticsearch, если вы используете старую версию. См. Обновления плагина.

Отсутствует обязательное поле

Сообщение об ошибке: “Required one of fields [field, script], but none were specified.”

Причина: Метрическая агрегация (например, Average, Sum или Min) была добавлена без указания поля.

Решение:

  1. Выберите поле для метрической агрегации в редакторе запросов.
  2. Убедитесь, что выбранное поле существует в вашем индексе и содержит числовые данные.

Неподдерживаемый интервал

Сообщение об ошибке: “unsupported interval ‘<interval>’”

Причина: Указанный для шаблона индекса интервал недействителен.

Решение:

  1. Используйте поддерживаемый интервал: Hourly, Daily, Weekly, Monthly или Yearly.
  2. Если вам не нужен шаблон индекса, зависящий от времени, используйте No pattern и укажите точное имя индекса.

Ошибки версий

Следующие ошибки возникают при проблемах совместимости версий Elasticsearch.

Неподдерживаемая версия Elasticsearch

Сообщение об ошибке: “Support for Elasticsearch versions after their end-of-life (currently versions < 7.17) was removed. Using unsupported version of Elasticsearch may lead to unexpected and incorrect results.”

Причина: Версия Elasticsearch больше не поддерживается источником данных Grafana.

Решение:

  1. Обновите Elasticsearch до поддерживаемой версии (7.17+, 8.x или 9.x).
  2. См. Elastic Product End of Life Dates для информации о поддержке версий.
  3. Учтите, что запросы могут по-прежнему работать, но Grafana не гарантирует работоспособность для неподдерживаемых версий.

Проверка состояния Elastic Cloud Serverless возвращает 410 Gone

Сообщение об ошибке: Проверка состояния завершается ошибкой со статусом 410 Gone при подключении к Elastic Cloud Serverless.

Причина: Старая версия плагина Elasticsearch использовала запрос проверки состояния, который Elastic Cloud Serverless больше не принимает.

Решение:

  1. Обновите плагин Elasticsearch до 12.8.0 или выше. См. Обновления плагина.
  2. Убедитесь, что preinstall_auto_update включён, чтобы Grafana устанавливала последнюю версию плагина при перезапуске, или обновите вручную в разделе Plugins and data > Plugins.
  3. Нажмите Save & test ещё раз после обновления плагина.

Другие распространённые проблемы

Следующие проблемы не приводят к конкретным сообщениям об ошибках, но встречаются часто.

Пустые результаты запроса

Причина: Запрос не возвращает данных.

Решение:

  1. Убедитесь, что временной диапазон включает данные в вашем индексе.
  2. Проверьте синтаксис запроса Lucene на наличие ошибок.
  3. Проверьте запрос напрямую в Elasticsearch с помощью API _search.
  4. Убедитесь, что индекс содержит документы, соответствующие фильтрам вашего запроса.

Низкая производительность запросов

Причина: Запросы выполняются долго.

Решение:

  1. Уменьшите временной диапазон запроса.
  2. Добавьте более конкретные фильтры, чтобы ограничить объём сканируемых данных.
  3. Увеличьте интервал date histogram.
  4. Проверьте производительность кластера Elasticsearch и использование ресурсов.
  5. Рассмотрите использование псевдонимов индексов или потоков данных (data streams) для лучшей маршрутизации запросов.

Режим доступа через браузер отключён

Сообщение об ошибке: Прямой доступ через браузер больше недоступен, или источник данных даёт сбой при настройке доступа через браузер.

Причина: Режим доступа через браузер был удалён в Grafana 9.2.0. Источник данных Elasticsearch должен использовать доступ Server (proxy), чтобы бэкенд Grafana подключался к Elasticsearch.

Решение:

  1. Откройте конфигурацию источника данных в Grafana.
  2. Убедитесь, что режим доступа установлен в Server (proxy). Провизьонные источники данных должны использовать access: proxy.
  3. Нажмите Save & test, чтобы проверить соединение.
  4. Если вы по-прежнему видите ошибки CORS в браузере, обновите Grafana и плагин Elasticsearch. Старые конфигурации, пытавшиеся выполнять прямые запросы из браузера к Elasticsearch, больше не поддерживаются.

Получение дополнительной помощи

Если после работы с этим руководством по устранению неполадок проблемы сохраняются:

  1. Обратитесь к документации Elasticsearch для получения рекомендаций по конкретным API.
  2. Просмотрите форумы сообщества Grafana на предмет похожих проблем.
  3. Свяжитесь со службой поддержки Grafana, если у вас есть лицензия Enterprise.