Elasticsearch

Тема дорожной карты · Grafana

Источник данных Elasticsearch в Grafana позволяет командам запрашивать и визуализировать данные, хранящиеся в индексах Elasticsearch или OpenSearch, прямо на дашбордах Grafana без написания сырых JSON-запросов вручную. Вы настраиваете источник данных Elasticsearch, указав URL кластера, шаблон индекса (например, logs-*) и имя поля с временной меткой, используемого для фильтрации записей по временному диапазону Grafana. Grafana преобразует запросы панелей в агрегационные запросы Elasticsearch — average, sum, percentile и другие — и отображает результаты в виде временных рядов или таблиц наряду с исходными документами логов. Источник данных Elasticsearch также поддерживает синтаксис запросов Lucene и ES|QL (Elasticsearch Query Language) в новых версиях, что делает его гибким как для аналитики логов, так и для визуализации метрик. Переменные шаблонов прекрасно работают с источником данных Elasticsearch: Query-переменная может извлекать уникальные значения полей (например, имена хостов или сервисов) из индекса Elasticsearch и подставлять их в качестве фильтров во все панели дашборда.

Как это работает

Elasticsearch: настраиваются в Settings → Data Sources или через provisioning YAML. Распространённые: Prometheus (метрики), Loki (логи), Tempo (traces), InfluxDB, PostgreSQL, MySQL, Elasticsearch, CloudWatch, OpenSearch. У каждого type-specific конфиг (URL, auth, дефолтные query-опции). Mixed datasource в одной панели позволяет комбинировать запросы из нескольких источников. Test connection до использования ("Save & Test").

Когда применять

Provisioning YAML — для декларирования data sources; клики в UI в 10 средах error-prone. Prometheus URL через env var — один Helm chart деплоится в dev/staging/prod с разными backend. Mixed datasource — осторожно; усложняет запросы. Всегда проверяйте, что "Default"-datasource совпадает с самым используемым.

Типичные ошибки

Ловушки Elasticsearch: data sources с сохранёнными credentials утекают через URL панелей / shared дашбордов (server-side auth где можно); datasource на localhost из Docker-контейнера (используйте docker-internal hostnames или внешние адреса); слишком много data sources = медленный старт UI.

Связанные понятия

Полезные ресурсы