Визуализация данных с помощью Kibana

Kibana 4 – это платформа для визуализации и анализа данных, основанная на Elasticsearch.

Данное руководство покажет, как использовать Kibana: работать с интерфейсом, визуализировать логи, собранные с помощью стека ELK, создавать дашборды, искать данные etc.

Требования

  • Установленный и настроенный стек ELK (подробные инструкции можно найти в статье Установка стека ELK в Ubuntu 14.04).
  • Стек должен собирать данные логов доступа Nginx и системного лога (подробнее об этом здесь).

Краткий обзор интерфейса Kibana

Интерфейс Kibana содержит четыре основных раздела:

  • Discover (просмотр доступных данных)
  • Visualize (визуализация собранных данных)
  • Dashboard (управление дашбордами)
  • Settings (настройки).

Рассмотрим каждый раздел подробнее.

Раздел Discover

При первом подключении к Kibana 4 вы попадёте на страницу Discover, которая по умолчанию отображает список последних собранных логов. Здесь вы можете отфильтровать сообщения логов (в том числе по времени) и найти нужные данные.

Страница Discover содержит следующие элементы:

  • Строка поиска: находится непосредственно под главным меню навигации, позволяет выполнить поиск по собранным сообщениям логов.
  • Фильтр по времени (Time Filter): находится в правом верхнем углу. Используйте эту функцию для фильтрации логов на основе различных относительных и абсолютных временных диапазонов.
  • Список полей: находится слева, сразу под строкой поиска. Здесь можно выбирать поля для визуализации.
  • Гистограмма: график, который находится в центре страницы под строкой поиска. По умолчанию в нём отображается количество всех логов в зависимости от времени (ось х).
  • Просмотр логов: список под гистограммой, который содержит сообщения логов и данные, отфильтрованные по полям. В случае если поле не установлено, сообщение отображается полностью.

Изучите эту страницу и её функции самостоятельно:

  1. Выберите поле в списке слева.
  2. Введите запрос в строку поиска (например, попробуйте вывести логи доступа nginx).

Если вы не получили никакого результата, убедитесь, что вы ввели правильный поисковый запрос.

Сообщения логов зависят от настройки 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. После этого в диаграмме появятся новые вертикали: количество логов распределится по оси Х, которая отображает время.

Попробуйте выполнить следующее:

  • Кликните Add Sub Aggregation и выберите тип Split Bars.
  • Откройте выпадающее меню Sub Aggregation и выберите Significant Term.
  • Откройте выпадающее меню Field и выберите clientip.raw.
  • В поле Size введите 10.
  • Нажмите Apply, чтобы сгенерировать новый график.

Если отображаемые логи сгенерированы несколькими IP-адресами (т.е., ваш сайт посетил не один пользователь), вы увидите, что каждая вертикаль в графике разделена на несколько разноцветных сегментов. Каждый такой сегмент отображает количество логов, сгенерированных тем или иным IP-адресом. Максимальное количество сегментов – 10 (указано в Size).

Чтобы сохранить визуализацию, нажмите Save Visualization в верхнем меню, выберите название и нажмите Save.

Создание других визуализаций

Прежде чем приступить к работе над дашбордом, нужно создать хотя бы ещё одну диаграмму. Ознакомьтесь с остальными функциями страницы Visualize самостоятельно, выберите тип визуализации, создайте и сохраните график.

К примеру, вы можете создать круговую диаграмму из пяти самых распространённых типов логов. Для этого:

  • Откройте Visualize и выберите Pie chart.
  • В строку поиска введите запрос “” (чтобы вывести все логи).
  • В меню buckets выберите *Split Slices**.
  • В выпадающем меню Aggregation выберите Significant Terms.
  • В выпадающем меню Field выберите type.raw.
  • В поле Size введите 5.
  • Чтобы отобразить диаграмму, нажмите Apply.

Примечание: Количество сегментов в круговой диаграмме может быть меньше, если запрашиваемых данных недостаточно для построения всех сегментов (например, если типов логов у вас всего 2).

Раздел Dashboard

Страница Dashboard позволяет создавать, изменять и просматривать пользовательские дашборды. Дашборды объединяют несколько визуализаций в одну страницу и могут фильтровать их. Дашборды помогают получить полный обзор логов и сравнить несколько визуализаций.

Создание дашборда

Чтобы создать дашборд, перейдите в раздел Dashboard.

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

Ready to get started?

Если у вас достаточно данных для создания дашборда, нажмите New Dashboard (справа от строки поиска).

Чтобы создать дашборд, нажмите Add Visualization и добавьте созданные ранее диаграммы.

Когда диаграммы появятся на экране, вы сможете поменять их местами или изменить их размеры с помощью мыши.

Чтобы сохранить дашборд, кликните Save Dashboard, выберите имя для дашборда и нажмите Save.

Работа с дашбордами

Вы можете фильтровать данные в дашборде, изменив фильтр времени или кликая на элементы визуализации.

К примеру, кликнув на один из сегментов диаграммы, вы можете получить подробные данные о нём.

Чтобы отфильтровать данные, нужно нажать кнопку Apply Now. Все фильтры работают так же, как на странице Discover, но в дашборде они применяются только к определённому набору данных.

Раздел Settings

Страница Settings позволяет изменять настройки Kibana.

Перезагрузка списка полей

Добавляя в Logstash новое поле (например, фильтр для нового типа логов), вы должны перезапустить список полей, чтобы в нем появились новые поля.

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

Чтобы обновить список полей:

  • Откройте Settings и кликните logstash- (под Index Patterns).
  • Нажмите жёлтую кнопку Reload Field List и кликните OK.

Редактирование сохранённых объектов

Раздел Objects позволяет редактировать, просматривать и удалять сохранённые дашборды, поиски и диаграммы.

Чтобы открыть эту страницу, выберите Settings → Objects. Здесь вы можете управлять созданными ранее объектами.

Читайте также: Определение местоположения пользователя при помощи GeoIP и ELK

Tags: ,

Добавить комментарий