Раздел 40 · Elasticsearch и ELK

Kibana и применения Elasticsearch

junior~10 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Весь раздел мы писали запросы в консоли, похожей на Kibana Dev Tools. Но Kibana намного больше консоли: это веб-интерфейс, через который с Elasticsearch работают люди, не пишущие JSON. Аналитик ищет в логах, дежурный смотрит дашборд, безопасник разбирает подозрительные входы. Познакомимся с Kibana и заодно с тем, где ещё, кроме поиска по каталогу, работает Elasticsearch.

Что внутри Kibana

Kibana сама ничего не хранит, она только спрашивает Elasticsearch и показывает ответы. Главные разделы:

  • Discover: поиск по документам с полосой времени. Набираешь запрос, видишь гистограмму событий и сами события. Это главный инструмент для логов;
  • Dashboards и Lens: графики и дашборды. Под капотом это те же агрегации из урока 13;
  • Dev Tools: консоль для запросов, наша старая знакомая;
  • Stack Management: индексы, шаблоны, политики жизненного цикла, пользователи и роли;
  • Alerts: правила, которые сами ищут проблемы и присылают уведомления.

Запускают Kibana рядом с Elasticsearch, обычно в Docker из образа kibana:9.5.5, и открывают в браузере на порту 5601.

Discover и KQL

В Discover запросы пишут не на Query DSL, а на коротком языке KQL: service.name : payments and log.level : ERROR. Kibana переводит строку KQL в Query DSL и отправляет в Elasticsearch. А полоса времени сверху превращается в фильтр range по полю @timestamp.

Подробно KQL разберём в части про логи. Пока достаточно трёх приёмов: поле : значение, and/or/not и сравнения >, >=, <.

урок из курса

Урок из курса «Elasticsearch и ELK». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.