Гайды

Визуализация логов в Kibana

Data View, Discover и KQL, Lens и дашборды, алерты, RBAC и чек-лист полей для корреляции.

~8 мин чтения

Визуализация логов в Kibana

Kibana — визуальный слой поверх Elasticsearch: поиск по логам, дашборды, алерты. Данные попадают через Filebeat/Logstash — Logstash и Filebeat; стек в целом — ELK.


1. Data View (Index Pattern)

Связывает индексы (logs-*, data streams) с полями для Discover/Lens. Выберите правильное время (@timestamp).


2. Discover

Фильтр по полям, KQL (level: "error" and service: "api"), быстрый drill-down в один документ JSON.


3. Dashboards и Lens

Lens — сборка графиков без JSON DSL; сохранение в Dashboard с общими фильтрами (например, окружение).

Типовые типы: time series (ошибки в минуту), metric (текущий error rate), data table (топ URL с 5xx), map по geo-полям. TSVB и Vega оставьте для редких случаев — они мощнее, но сложнее в сопровождении, чем Lens.

Dev Tools → Console — выполнение сырых запросов _search и _cat/indices; удобно отладить bucket aggregation, прежде чем переносить в дашборд. В проде ограничьте доступ к Console (роли Kibana), чтобы не выполняли тяжёлые запросы на весь кластер.


4. Saved searches и alerts

Kibana Alerting — правило на query (count errors > N за 5m) → Slack/PagerDuty (connector).


5. RBAC

Пространства (Spaces) для разделения команд; роли read-only для разработчиков.


6. Runtime fields и scripted fields

Runtime fields считаются при запросе — удобно для быстрых экспериментов без reindex. Scripted fields (legacy) нагружают каждый hit; по возможности переносите логику в ingest pipeline или в приложение при записи.


7. Control panel и cross-cluster search

При нескольких кластерах ES CCS/CCR и remote clusters в Kibana дают единый Discover; учитывайте задержку и стоимость запросов «через границу» кластера.


8. CSV-отчёты и ссылки

Share → permalink на Discover с фильтром — удобно для постмортемов; помните, что ссылка может устареть при смене data view. CSV export из Discover ограничивайте по времени и полям, чтобы не выгружать миллионы строк на ноутбук инженера.


9. Чек-лист

  • Поля нормализованы (trace.id, service.name для корреляции с трейсингом).
  • Не строить дашборды на text полях без keyword multi-field.
  • Экспорт важных дашбордов в Git (Saved Object API) при GitOps-подходе к obs.
  • Refresh interval индекса согласован с SLA свежести дашбордов.
  • Ограничение размера выборки в тяжёлых визуализациях, чтобы не убить кластер.

Дальше: OpenTelemetry