что такое kibana и как этим пользоваться
Визуализация данных с помощью Kibana
Kibana 4 – это платформа для визуализации и анализа данных, основанная на Elasticsearch.
Данное руководство покажет, как использовать Kibana: работать с интерфейсом, визуализировать логи, собранные с помощью стека ELK, создавать дашборды, искать данные etc.
Требования
Краткий обзор интерфейса Kibana
Интерфейс Kibana содержит четыре основных раздела:
Рассмотрим каждый раздел подробнее.
Раздел Discover
При первом подключении к Kibana 4 вы попадёте на страницу Discover, которая по умолчанию отображает список последних собранных логов. Здесь вы можете отфильтровать сообщения логов (в том числе по времени) и найти нужные данные.
Страница Discover содержит следующие элементы:
Изучите эту страницу и её функции самостоятельно:
Если вы не получили никакого результата, убедитесь, что вы ввели правильный поисковый запрос.
Сообщения логов зависят от настройки Logstash и Logstash Forwarder. Если вы собираете сообщения логов, но не фильтруете данные по полям, сообщения будет сложнее запрашивать, так как вы не сможете запросить определенные поля.
Синтаксис поиска
Поисковая строка позволяет быстро найти необходимый набор сообщений. Синтаксис поиска достаточно прост и поддерживает логические операторы, шаблоны и фильтры полей. Например, чтобы найти логи доступа Nginx, которые были созданы пользователями Google Chrome, нужно ввести:
type: «nginx-access»
agent: «chrome»
Также поиск можно выполнять по хостам, диапазонам IP-адресов и другим данным, которые содержатся в логах.
Вы можете сохранять поисковые запросы, которые часто используете. Для этого нажмите Save Search (кнопка справа от поисковой строки) и выберите Save.
Чтобы открыть сохранённый поиск, нажмите Load Saved Search. Позже эти данные можно использовать для визуализации.
Попробуйте сохранить запрос type: “nginx-access” и создать его визуализацию.
Раздел Visualize
На странице интерфейса Visualize вы можете создавать, редактировать и просматривать пользовательские визуализации. Kibana предлагает несколько видов визуализации: вертикальные и секторные диаграммы, отображение данных на карте, таблицы данных. Визуализацией можно поделиться с другими пользователями, которые имеют доступ к Kibana.
Если вы используете визуализацию Kibana впервые, перезапустите список полей.
Примечание: Об этом и других настройках можно прочитать в разделе о странице Settings данного руководства.
Создание вертикальной диаграммы
Чтобы создать визуализацию, откройте страницу Visualize.
Выберите тип визуализации. Например, чтобы создать вертикальную диаграмму, нужно выбрать Vertical bar chart.
Теперь нужно выбрать источник поиска. Вы можете создать новый или использовать сохраненный поиск. Если вы создали поиск type nginx access, как предлагалось ранее, используйте его.
Сначала появится график для предварительного просмотра. Если поисковой запрос обнаружил логи, вертикальная диаграмма будет состоять только из оси Y, которая отображает количество логов.
Вы можете расширить диаграмму с помощью меню слева, buckets. К примеру, вы можете добавить ось X, затем открыть выпадающее меню Aggregation, выбрать Date Histogram и нажать Apply. После этого в диаграмме появятся новые вертикали: количество логов распределится по оси Х, которая отображает время.
Попробуйте выполнить следующее:
Если отображаемые логи сгенерированы несколькими IP-адресами (т.е., ваш сайт посетил не один пользователь), вы увидите, что каждая вертикаль в графике разделена на несколько разноцветных сегментов. Каждый такой сегмент отображает количество логов, сгенерированных тем или иным IP-адресом. Максимальное количество сегментов – 10 (указано в Size).
Чтобы сохранить визуализацию, нажмите Save Visualization в верхнем меню, выберите название и нажмите Save.
Создание других визуализаций
Прежде чем приступить к работе над дашбордом, нужно создать хотя бы ещё одну диаграмму. Ознакомьтесь с остальными функциями страницы Visualize самостоятельно, выберите тип визуализации, создайте и сохраните график.
К примеру, вы можете создать круговую диаграмму из пяти самых распространённых типов логов. Для этого:
Примечание: Количество сегментов в круговой диаграмме может быть меньше, если запрашиваемых данных недостаточно для построения всех сегментов (например, если типов логов у вас всего 2).
Раздел Dashboard
Страница Dashboard позволяет создавать, изменять и просматривать пользовательские дашборды. Дашборды объединяют несколько визуализаций в одну страницу и могут фильтровать их. Дашборды помогают получить полный обзор логов и сравнить несколько визуализаций.
Создание дашборда
Чтобы создать дашборд, перейдите в раздел Dashboard.
Для создания дашборда необходимо иметь хотя бы две диаграммы. Если ранее вы не создавали дашбордов и на данный момент у вас недостаточно диаграмм, на экране появится почти пустая страница и надпись:
Ready to get started?
Если у вас достаточно данных для создания дашборда, нажмите New Dashboard (справа от строки поиска).
Чтобы создать дашборд, нажмите Add Visualization и добавьте созданные ранее диаграммы.
Когда диаграммы появятся на экране, вы сможете поменять их местами или изменить их размеры с помощью мыши.
Чтобы сохранить дашборд, кликните Save Dashboard, выберите имя для дашборда и нажмите Save.
Работа с дашбордами
Вы можете фильтровать данные в дашборде, изменив фильтр времени или кликая на элементы визуализации.
К примеру, кликнув на один из сегментов диаграммы, вы можете получить подробные данные о нём.
Чтобы отфильтровать данные, нужно нажать кнопку Apply Now. Все фильтры работают так же, как на странице Discover, но в дашборде они применяются только к определённому набору данных.
Раздел Settings
Страница Settings позволяет изменять настройки Kibana.
Перезагрузка списка полей
Добавляя в Logstash новое поле (например, фильтр для нового типа логов), вы должны перезапустить список полей, чтобы в нем появились новые поля.
Также список полей необходимо перезагрузить в случае, если вы не можете найти отфильтрованные поля в Kibana (они хранятся в кэше временно).
Чтобы обновить список полей:
Редактирование сохранённых объектов
Раздел Objects позволяет редактировать, просматривать и удалять сохранённые дашборды, поиски и диаграммы.
Чтобы открыть эту страницу, выберите Settings → Objects. Здесь вы можете управлять созданными ранее объектами.
Руководство пользователя Kibana. Визуализация. Часть 4
Четвертая часть перевода официальной документации по визуализации данных в Kibana.
Region Maps
Карты регионов являются тематическими картами, в которых векторные формы с границами раскрашены с использованием градиента: высокая цветовая интенсивность обозначает большие значения и низкая цветовая интенсивность соответствует меньшим значениям. Это также известно как картограмма.
Конфигурация
Создавая карту регионов, вы настраиваете входящее соединение, которое связывает результат агрегации значений Elasticsearch и ссылку на векторный файл на основе общего ключа.
Данные
Метрики
Выберите любую из поддерживаемых метрик или агрегаций родственного источника.
Сегменты
Настройка агрегации значений. Значением является ключ, что используется для связывания результатов и векторных данных на карте.
Опции
Настройки слоя
Настройки стиля
Базовые настройки
Time Series Visual Builder
Визуальный конструктор временных рядов — это визуализатор данных временных рядов с акцентом на разрешении вам использовать все возможности платформы агрегации Elasticsearch. Визуальный конструктор временных рядов позволяет комбинировать бесконечность агрегаций и агрегаций родственного источника для отображения комплекса данных в выразительном виде.
Конечные визуализации
Визуальный конструктор временных рядов идет в комплекте с 6 разными типами визуализации. Вы можете выбрать между каждым типом визуализации, используя средство выбора с вкладками в верхней части интерфейса.
Временные ряды
Визуализация гистограммы поддерживает площадь, график, диаграмму и шаги вместе с несколькими осями Y. Вы можете полностью изменить цвета, точки, толщину линий и прозрачность заливки. Эта визуализация также поддерживает сдвиг времени для сравнения двух временных периодов. Она также поддерживает аннотации, которые могут быть загружены из отдельного индекса на основе запроса.
Метрика
Визуализация для вывода последних чисел в ряде. Эта визуализация поддерживает 2 метрики: первичную и вторую. Подписи и фоны могут быть полностью изменены основываясь на наборе правил.
Top N
Это горизонтальная полоса, где ось Y основана на наборе метрик и ось X отображает последнее значение в этом наборе; отсортированы в порядке убывания. Цвет этих полос полностью настраивается набором правил.
Gauge
Эта визуализация шкалы с одним значением основывается на последним значении в наборе. Отображение шкалы может быть полукругом или кругом. Вы можете настроить толщину внутренних и внешних линий для достижения желаемой эстетики дизайна. Цвет шкалы и текст полностью настраиваемая на основе набора правил.
Markdown
Эта визуализация позволяет вам ввести текст отметки и встроить синтаксис шаблона Mustache для настройки отметки с данными, основанными на наборе рядов.
Table
Визуализация таблицы позволяет вам выводит данные из нескольких временных рядов. Вы определяете, какая группа полей отображается в строках и какие столбцы данных.
Обзор интерфейса
Пользовательский интерфейс для каждой визуализации — это композиция вкладки «Данные» и «Панели опций». Единственное исключение это визуализации Временные ряды и Отметка; Временные ряды имеют третью вкладку для аннотаций, Отметка имеет вкладку для редактора.
Data Tab
Вкладка данных используется для настройки рядов для каждой визуализации. Эта вкладка позволяет вам добавлять несколько рядов, в зависимости от поддержки визуализации, с несколькими агрегациями, объединенными вместе для создания единой метрики. Здесь присутствует разбивка важных компонентов вкладки данных пользовательского интерфейса.
Series Label and Color
Каждый ряд поддерживает подпись, которая будет использоваться для легенд и заголовков, в зависимости от выбора типа визуализации. Для рядов, сгруппированных по значению, вы можете определить переменную Mustache <
Метрики
Каждый ряд поддерживает несколько метрик (агрегаций); последняя метрика (агрегация) есть значением, которое будет выводиться для рядов, это обозначено значком «глаз» слева от метрики. Метрики могут быть составлены с использованием агрегаций родственного источника. Распространенным вариантом использования является создание метрики с агрегацией «максимума», затем создание метрики «производная» и выбор предыдущей метрики «максимум» в качестве источника; это создаст скорость.
Опций рядов
Каждый ряд также поддерживает набор опций, которые зависят от типа выбранных визуализаций. Универсально для каждого типа визуализации вы можете настроить:
Для визуализаций временных рядов вы также можете настроить:
Группировка по элементам управления
Внизу метрики находится набор элементов управления «Группировать по», который позволяет вам указать, как ряд должен быть сгруппирован или разделен. Есть 4 варианта:
По умолчанию, ряды сгруппированы по всему.
Panel Options Tab
Вкладка панели опций использовалась для настройки всей панели; набор опций доступен в зависимости от выбранной визуализации. Ниже приведен список опций, доступных для визуализации:
Time Series
Metric
Top N
Gauge
Markdown
Annotations Tab
Вкладка аннотаций используется для добавления источника данных аннотации к визуализации временных рядов. Вы можете настроить следующие опции:
5 причин, которые заставят тебя использовать Kibana
Во многих компаниях для сбора и анализа логов используют такой инструмент как Kibana. Но существует проблема которая выражается в том, что этим инструментом редко или почти не пользуются. Почему же так происходит? Дело в том, что человек привык анализировать логи непосредственно на инстансе. Читать логи так сказать из первоисточника. Безусловно это самый лучший способ. И мало кто не любит менять свои привычки. Потому что это своего рода выход из зоны комфорта и к этому не все и не всегда готовы.
Кейсы чтения логов
Но бывают ситуации, когда нет возможности зайти непосредственно на инстанс. Например необходимо проанализировать инцидент случившийся на продакшене и у нас нет доступа к этому окружению по известным всем причинам. Другая ситуация, если сервис работает на операционной системе Windows, а доступ нужен для трех и более сотрудников одновременно. Как мы все хорошо знаем у компании Windows есть политика одновременной работы не более двух человек при входе по RDP (Remote Desktop Protocol). Для того чтобы получить одновременный доступ по RDP большему количеству сотрудников, необходимо купить лицензию, а на это готова пойти далеко не каждая компания.
Стек ELK
Таким образом мы возвращаемся к нашему замечательному инструменту Kibana. Kibana это часть стека ELK, в который помимо неё входят Elasticsearch и Logstash. Kibana используется не только для визуализации данных в различных форматах, но также и для быстрого поиска и анализа логов. И сегодня речь пойдет о том, как комфортно перейти на этот инструмент и какие у него есть скрытые возможности для этого.
Способы и лайфхаки
Для начала можно ввести в поле Search номер какой-нибудь операции и выбрать промежуток времени за который необходимо произвести поиск. В результате этого запроса отобразиться временной график с количеством совпадений этого номера.
Так же можно составлять сложные поисковые запросы. Существует специальный язык запросов, называемый KQL (Kibana Query Language). С помощью этого языка можно составлять многоуровневые запросы, которые помогают отфильтровывать нужную информацию. Например можно выбрать тестовое окружение и задать конкретное его имя. Если необходимо найти какое-нибудь словосочетание, то нам на помощь приходят двойные кавычки. При заключении двух и более слов в двойные кавычки происходит поиск всей фразы целиком.
Более подробную информацию по составлению сложных запросов можно найти на официальном сайте elastic. Для тех кто привык изучать логи в хронологическом порядке, в Kibana тоже есть такая возможность. При нахождении конкретной ошибки в нашем логе, хотелось бы увидеть что происходило до этого и после. Для этого необходимо кликнуть на найденный фрагмент лога и далее нажать на Просмотр. Перед вами откроется список логов, в котором ваш запрос будет подсвечен серым цветом. И будет загружено несколько строчек лога которые предшествовали нашей ошибке.
Эти логи будут внизу. И несколько строчек которые были после нашей ошибки. Эти строчки будут выше нашей ошибки. В Kibana логи читаются снизу вверх в отличии от логов на инстансе, где логи идут сверху вниз. По умолчанию загружаются 5 строчек до и 5 после, но это значение можно изменить и затем нажать кнопку Загрузка. После чего произойдет загрузка указанного количества строк лога выше нашей ошибки. Тоже самое можно сделать и с предыдущими логами.
Дефолтное значение 5 можно изменить в настройках системы перейдя Stack Management > Advanced Settings
Заключение
В данной статье я не преследовал цель научить пользоваться инструментом Kibana. В интернете очень много подробных статей и видео об этом. Да и на официальном сайте elastic есть предостаточно информации. Мне хотелось показать, как комфортно и без особых усилий можно начать пользоваться другим способом чтения логов. И при этом можно решить одновременно несколько задач, начиная от выхода из зоны комфорта и заканчивая сложнейшими запросами в совокупности с быстродействием получения результата.
В преддверии старта курса «Java QA Engineer. Basic» приглашаем всех желающих на двухдневный онлайн-интенсив «Теория тестирования и практика в системах TestIT и Jira».
На интенсиве вы узнаете, что такое тестирование и откуда оно появилось, кто такой тестировщик и что он делает. Изучим модели разработки ПО, жизненный цикл тестирования, чек листы и тест-кейсы, а также дефекты. На втором занятии познакомимся с одним из главных трекеров задач и дефектов — Jira, а также попрактикуемся в TestIT — отечественной разработке для решения задач по тестированию и обеспечению качества ПО.