Руководство по работе с приборной панелью Kibana для начинающих

Поисково-аналитический движок Elasticsearch является одним из лучших решений с открытым исходным кодом для индексирования и структурирования больших баз данных. Однако получить ценные сведения при последующем анализе необработанных данных можно, если они визуализированы в четкой и понятной форме. Инструмент визуализации, Kibana, был разработан специально для представления данных Elasticsearch и будет рассмотрен в этом руководстве.

Что такое Kibana?

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

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

Будучи веб-приложением, написанным на JavaScript, Kibana может использоваться на разных платформах. Затраты возникают только при использовании услуги хостинга Elastic Cloud, предлагаемой разработчиком. Эта платная услуга позволяет внедрить и организовать безопасный кластер Elasticsearch Kibana на Amazon или Google без необходимости предоставлять собственные ресурсы.

Учебник по Kibana: Первые шаги с инструментом визуализации

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

Шаг 1: Как правильно установить и запустить Kibana

Поскольку Kibana предназначена для отображения данных, которые были проиндексированы с помощью Elasticsearch, сначала вам потребуется установить поисково-аналитический движок. Соответствующие пакеты для Windows, macOS и Linux можно найти в центре загрузки Elasticsearch. Необходимым условием является наличие установленной текущей среды выполнения Java (64-бит).

Сам Kibana также доступен в виде кроссплатформенного программного обеспечения для Windows, macOS и Linux (RPM, DEB). Поскольку приложение основано на среде выполнения JavaScript Node.js, различные установочные пакеты также содержат необходимые двоичные файлы Node.js, используемые для запуска инструмента визуализации — отдельно поддерживаемые версии не поддерживаются. Различные пакеты (сжатые в ZIP) можно найти, как и Elasticsearch, на сайте Elastic.

Примечание .

Пользователи Linux и Mac также могут установить Kibana из репозитория Elastic с помощью менеджеров пакетов apt и yum. Подробные инструкции можно найти в онлайн-руководствах.

После распаковки пакета Kibana запустите файл bin/kibana (macOS, Linux) или binkibana.bat (Windows), чтобы запустить сервер Kibana.

Затем вы получите доступ к бэкенду Kibana через адрес «

localhost

» в вашем браузере (для этого Elasticsearch должен быть уже запущен).

Шаг 2: Подача данных в Kibana

Для того чтобы можно было более подробно рассмотреть приборную панель Kibana и ее функции в этом руководстве, приложение сначала должно быть снабжено данными. На сайте Elastic есть три бесплатно загружаемых образца баз данных, которые мы используем здесь в целях тестирования. Три перечисленные базы данных: «shakespeare.json» (база данных полных произведений Уильяма Шекспира), «accounts.zip» (набор вымышленных учетных записей) и «logs.jsonl.gz» (набор случайно сгенерированных файлов журналов).

Скачайте и разархивируйте три файла (учетные записи и файлы журналов) и сохраните их в выбранном вами месте.

Перед отправкой данных необходимо создать сопоставления для полей базы данных Shakespeare и журнала сервера. Эти сопоставления разделяют документы в индексе на логические группы, а также задают свойства полей, например, возможность их поиска. Подходящим инструментом для настройки связок является консоль, которую можно найти в интерфейсе Kibana в пунктах меню «Dev Tools» à «Console».

Теперь вставьте следующие связки последовательно через PUT-запрос:

PUT /shakespeare
{
 "mappings": {
  "doc": {
   "properties": {
    "speaker": {"type": "keyword"},
    "play_name": {"type": "keyword"},
    "line_id": {"type": "integer"},
    "speech_number": {"type": "integer"}
   }
  }
 }
}
PUT /logstash-2015.05.18
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}
PUT /logstash-2015.05.19
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}
PUT /logstash-2015.05.20
{
  "mappings": {
    "log": {
      "properties": {
        "geo": {
          "properties": {
            "coordinates": {
              "type": "geo_point"
            }
          }
        }
      }
    }
  }
}

Теперь используйте bulk API Elasticsearch для загрузки записей данных через curl в терминале. В Windows вместо этого используйте PowerShell с Invoke-RestMethod (пример кода ниже):

curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/bank/account/_bulk?pretty' --data-binary @accounts.json
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/doc/_bulk?pretty' --data-binary @shakespeare_6.0.json
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
Invoke-RestMethod "http://localhost:9200/bank/account/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "accounts.json"
Invoke-RestMethod "http://localhost:9200/shakespeare/doc/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "shakespeare_6.0.json"
Invoke-RestMethod "http://localhost:9200/_bulk?pretty" -Method Post -ContentType 'application/x-ndjson' -InFile "logs.jsonl"
Примечание

В зависимости от вычислительной мощности ввод наборов данных может занять несколько минут.

Переключитесь обратно на консоль Kibana, чтобы проверить успешность процесса загрузки с помощью следующего GET-запроса:

GET /_cat/indices?v

Если данные интегрированы в соответствии с планом, вывод выглядит следующим образом:

Шаг 3: Определение шаблона первого индекса

Чтобы Kibana знала, какие данные ей следует обрабатывать, вы должны создать соответствующие шаблоны для индексов «Shakespeare», «bank» и «logstash». Определить первые можно следующим образом:

  1. Откройте меню «Управление» и нажмите на «Шаблоны индексов». При создании первого индексного шаблона автоматически откроется страница «Создать индексный шаблон». Также вы можете перейти на нее с помощью кнопки с надписью.
  2. Введите «shakes*» в поле «Индексный шаблон» и нажмите «Следующий шаг».
  3. Поскольку для этого шаблона не требуется никаких специальных настроек, пропустите следующий шаг настройки и завершите создание шаблона, нажав кнопку «Создать индексный шаблон».

Повторите шаги для детали «ba*», которая автоматически назначается на индекс «bank».

Наконец, определите шаблон индекса под названием «logstash*» для трех индексов журналов сервера. Однако в этом шаблоне вы не пропускаете меню конфигурации, а выбираете запись «@timestamp» в выпадающем меню «Имя поля временного фильтра», поскольку эти записи содержат данные временного ряда. Затем нажмите кнопку «Создать индексный шаблон», как и для двух предыдущих шаблонов.

Шаг 4: Просмотр вставленных наборов данных

После того как вы загрузили на сервер Kibana записи, теперь можно запустить поисковый запрос Elasticsearch для поиска этих записей и фильтрации результатов. Для этого перейдите в меню «Discover» в Kibana и выберите шаблон индекса для поиска с помощью маленького значка треугольника в левой строке меню. В рамках этого руководства по работе с приборной панелью Kibana мы выбрали запись о счете (ba*):

В качестве теста вы можете отфильтровать запись банковского счета, чтобы увидеть только те счета, которые соответствуют определенным критериям. Например, для конкретного поиска счетов с балансом более $47 500 и принадлежащих людям старше 38 лет, введите в поле поиска следующую команду:

balance:>47500 AND age:>38

Затем Discover возвращает записи по четырем счетам 97, 177, 878 и 916, которые соответствуют выбранным критериям.

С помощью кнопки «Добавить фильтр» вы можете легко определить собственные фильтры для выбранной базы данных.

Шаг 5: Визуализация данных

С учетом подготовки, проделанной до сих пор в этом учебнике по Kibana, вы теперь можете визуализировать внедренные данные, чтобы оживить вашу приборную панель. Здесь приведен пример круговой диаграммы для базы данных банковских счетов. С одной стороны, эта диаграмма должна показать, какая доля от общего числа в 1 000 счетов попадает в определенные диапазоны баланса банковского счета, а с другой стороны, как получается распределение по возрасту внутри этих делений.

На первом этапе откройте меню «Визуализация» и нажмите «Создать визуализацию», чтобы получить список доступных типов визуализации. Затем выберите опцию «Круговая».

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

Чтобы сначала определить деления баланса отдельных счетов, нажмите на «Split Slices» и выберите «Range» из выпадающего меню «Aggregation»:

В разделе «Field» найдите запись «balance» и нажмите на нее, затем четыре раза нажмите на кнопку «Add Range», чтобы определить следующие шесть категорий баланса банковского счета:

0

999

1000

2999

3000

6999

7000

14999

15000

30999

31000

50000

Затем нажмите «Применить изменения» (символ треугольника), и круговая диаграмма покажет распределение счетов в соответствии с определенными подразделениями баланса счета.

На втором этапе вы добавляете к диаграмме еще одно кольцо, которое визуализирует распределение возрастных классов для отдельных областей баланса счета. Для этого нажмите на «Добавить вложенные ведра», затем снова на «Разделить срезы» и выберите «Условия» из выпадающего меню. Найдите в разделе «Поле» запись «возраст» и примите изменения через «Применить изменения».

Теперь вы можете легко сохранить визуализацию с помощью кнопки «Сохранить», расположенной в верхней строке меню.

Шаг 6: Организация приборной панели

Приборная панель Kibana кратко рассматривается в этом учебнике, поэтому вы создадите свою первую тестовую приборную панель, используя поиск и визуализацию, которые вы сохранили в шагах 4 и 5. Для этого выберите приборную панель в навигации страницы и нажмите «Создать новую приборную панель», а затем «Добавить». Теперь Kibana автоматически выведет список всех сохраненных визуализаций или поисков Elasticsearch:

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

Теперь можно изменять панели, например, изменять их размер или положение. Также можно отобразить визуализацию или результат поиска на весь экран или удалить его с приборной панели. Со многими визуализациями вы также можете использовать «Inspect» для отображения дополнительной информации о базовых данных и запросах.

Примечание

Если вы удалите панель из приборной панели Kibana, сохраненная визуализация или поиск будут сохранены.

Оцените статью
cdelat.ru
Добавить комментарий