Основы Kibana для QA

Основы Kibana для QA

t.me/qa_chillout

Kibana — это веб-интерфейс для работы с данными в связке с Elasticsearch, входящий в стек ELK (Elasticsearch, Logstash, Kibana). Его основная задача — упростить анализ и визуализацию информации, хранящейся в Elasticsearch.

С помощью Kibana можно строить графики и дашборды, выполнять поиск и фильтрацию данных, отслеживать состояние систем и приложений (в том числе через Elastic Observability), а также управлять индексами, маппингами и параметрами кластера.

Интерфейс Kibana разделён на несколько ключевых модулей: одни предназначены для работы с логами, другие — для визуализации и мониторинга, а также для администрирования.

Ниже мы разберём те разделы Kibana, которые особенно полезны для тестировщиков:

  • Discover используется для поиска и фильтрации логов,
  • Visualize и Dashboard позволяют строить графики и объединять их в панели мониторинга,
  • Logs даёт возможность отслеживать события в реальном времени.

Мы разбираем именно эти разделы, потому что QA чаще всего используют их в работе.


Discover

Что это: раздел для поиска и фильтрации логов в Kibana.

Что полезного для QA:

  • искать конкретные ошибки (например, level: ERROR);
  • фильтровать логи по дате, версии приложения, типу устройства (например, @timestamp:[now-1d TO now] — логи за последние сутки, app_version:"3.4.1" — только для версии 3.4.1, device.os:"iOS" или device.model:"Pixel 7" — только для конкретной ОС или модели.);
  • проверять, воспроизводится ли баг у других пользователей (например, error.message:"NullPointerException" — найти все случаи с такой ошибкой).

Пример:

level: ERROR

Найдёт все ошибки уровня ERROR.


Навигация в разделе Discover

Слева — панель с кнопками разделов Kibana (например, Discover, Dashboard, Visualize). Здесь осуществляется переход между основными модулями.

Вверху по центру — строка поиска и область для добавления фильтров. Также здесь выбирается временной интервал, за который отображаются данные.

Ниже по центру — гистограмма, показывающая количество событий в выбранный период времени.

В центральной области ниже графика — список с логами, где каждая строка — отдельное событие с набором полей (timestamp, host.name, log.level, message и т.д.).

Чтобы анализировать логи эффективнее, важно уметь выделять только нужные события. Для этого можно:

  • ограничить выборку по времени;
  • задать условия в строке поиска;
  • отобрать записи по конкретным полям, например log.level, channel или message.

В боковой панели Available fields отображаются все доступные поля, а в блоке Popular собраны наиболее часто используемые. Для QA особенно важны три поля:

  • level — показывает уровень события (INFO, WARN, ERROR) и помогает быстро сосредоточиться на критических ошибках;
  • channel — указывает, из какого модуля или части системы пришёл лог;
  • message — содержит текстовое описание события и часто напрямую указывает на проблему.

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


Visualize (или Visualize Library)

Что это: раздел Kibana для построения графиков, диаграмм и других визуальных представлений данных. Все созданные визуализации сохраняются в библиотеке и могут использоваться повторно, в том числе в дашбордах.

Что полезного для QA:

  • строить графики распределения ошибок по времени;
  • анализировать, на какой версии приложения чаще всего встречаются баги;
  • сравнивать нагрузку на разные окружения или устройства;
  • отслеживать тренды (рост или снижение числа ошибок, частота определённых событий).

Примеры графиков:

  • гистограмма ошибок по времени;
  • круговая диаграмма распределения по регионам;
  • линейный график роста числа WARN/ERROR после релиза.

Самый простой и полезный для QA график в Visualize — это гистограмма (bar chart) по уровню логов.


Как её построить:

  1. В Visualize Library выберите Lens.
  2. Перетащите поле level в ось X (категории).
  3. Перетащите поле Records (или Count) в ось Y (подсчёт количества).
  4. Примените фильтр по времени (например, «Last 24 hours»).


Столбцы показывают сколько событий разных уровней (INFO, WARN, ERROR) было за выбранный период.


Dashboard

Что это: раздел Kibana, в котором собираются несколько визуализаций на одном экране. Это может быть комбинация графиков, таблиц и карт, объединённых общей логикой.

Что полезного для QA:

  • создать «панель мониторинга релиза»: количество ошибок, разбивка по версиям приложения, самые проблемные API;
  • быстро отслеживать общее состояние системы без необходимости запускать ручные запросы;
  • делиться панелями с командой — разработчиками, менеджерами, аналитиками, чтобы у всех было единое представление о ситуации.

Пример:

Один дашборд может включать:

  • график ошибок 500;
  • диаграмму по географии запросов;
  • таблицу «топ 5 API по числу ошибок».


Иными словами, Visualize Library — место, где строятся и хранятся отдельные визуализации. А Dashboard — панель, где эти визуализации собираются вместе. На скрине ниже видно, что мы добавили график через Add from library. То есть это не новый график, созданный прямо в дашборде, а уже готовая визуализация из Visualize Library, которую мы подтянули в дашборд.


Logs (или Observability → Logs)

Что это: раздел Kibana для просмотра логов в реальном времени. По сути, это аналог команды tail -f в консоли, только с удобным интерфейсом и фильтрами.

Что полезного для QA:

  • следить за логами прямо во время прохождения тестов или воспроизведения сценария;
  • мгновенно видеть новые ошибки, не обновляя страницу вручную;
  • проверять, какие события происходят в системе параллельно с действиями в приложении.

Пример:

Запустили автотест → открыли Logs → сразу видно, что в момент клика на кнопку API вернуло 500.


Логи в Kibana могут поступать из разных источников. Чаще всего для этого используют Elastic Agent — универсальный агент для сбора логов, метрик и других данных (например, системных событий или метрик производительности). Это позволяет QA и разработчикам видеть в Logs не только ошибки приложения, но и события на уровне серверов или окружений, где оно работает.



Обсудить статью, узнать больше можно в телеграм канале «Тестировщики нужны».

Report Page