Гайды
Визуализация логов в 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