Учебники

Кибана — Введение в стек лося

Kibana — это инструмент визуализации с открытым исходным кодом, который в основном используется для анализа большого объема журналов в виде линейных графиков, гистограмм, круговых диаграмм, тепловых карт и т. Д. Kibana работает синхронно с Elasticsearch и Logstash, которые вместе образуют так называемый стек ELK .

ELK означает Elasticsearch, Logstash и Kibana. ELK является одной из популярных платформ управления журналом, используемой во всем мире для анализа журналов.

В стеке ELK —

  • Logstash извлекает данные регистрации или другие события из разных источников ввода. Он обрабатывает события, а затем сохраняет его в Elasticsearch.

  • Kibana — это инструмент визуализации, который обращается к журналам Elasticsearch и может отображать их пользователю в виде линейного графика, гистограммы, круговых диаграмм и т. Д.

Logstash извлекает данные регистрации или другие события из разных источников ввода. Он обрабатывает события, а затем сохраняет его в Elasticsearch.

Kibana — это инструмент визуализации, который обращается к журналам Elasticsearch и может отображать их пользователю в виде линейного графика, гистограммы, круговых диаграмм и т. Д.

В этом руководстве мы будем тесно сотрудничать с Kibana и Elasticsearch и визуализировать данные в различных формах.

В этой главе давайте разберемся, как работать вместе со стеком ELK. Кроме того, вы также увидите, как

  • Загрузите данные CSV из Logstash в Elasticsearch.
  • Используйте индексы от Elasticsearch в Кибане.

Загрузить данные CSV из Logstash в Elasticsearch

Мы собираемся использовать данные CSV для загрузки данных с помощью Logstash в Elasticsearch. Чтобы работать над анализом данных, мы можем получить данные с сайта kaggle.com. На сайт Kaggle.com загружаются все типы данных, и пользователи могут использовать его для анализа данных.

Мы взяли данные страны.csv здесь: https://www.kaggle.com/fernandol/countries-of-the-world . Вы можете скачать CSV-файл и использовать его.

Файл CSV, который мы собираемся использовать, имеет следующие детали.

Имя файла — countrydata.csv

Колонки — «Страна», «Регион», «Население», «Район»

Вы также можете создать фиктивный CSV-файл и использовать его. Мы будем использовать logstash для выгрузки этих данных из странdata.csv вasticsearch.

Запустите эластичный поиск и Kibana в своем терминале и продолжайте работать. Мы должны создать файл конфигурации для logstash, который будет содержать подробную информацию о столбцах файла CSV, а также другие детали, как показано в файле logstash-config, приведенном ниже —

input {
   file {
      path => "C:/kibanaproject/countriesdata.csv"
      start_position => "beginning"
      sincedb_path => "NUL"
   }
}
filter {
   csv {
      separator => ","
      columns => ["Country","Region","Population","Area"]
   }
   mutate {convert => ["Population", "integer"]}
   mutate {convert => ["Area", "integer"]}
}
output {
   elasticsearch {
      hosts => ["localhost:9200"]
      => "countriesdata-%{+dd.MM.YYYY}"
   }
   stdout {codec => json_lines }
}

В конфигурационном файле мы создали 3 компонента —

вход

Нам нужно указать путь к входному файлу, который в нашем случае является CSV-файлом. Путь, где хранится CSV-файл, задается в поле пути.

Фильтр

Будет иметь компонент csv с разделителем, который в нашем случае является запятой, а также столбцы, доступные для нашего файла csv. Поскольку logstash рассматривает все данные, поступающие в виде строки, в случае, если мы хотим, чтобы любой столбец использовался как целое число, значение float должно быть указано с помощью mutate, как показано выше.

Выход

Для вывода нам нужно указать, куда нам нужно поместить данные. Здесь, в нашем случае мы используем эластичный поиск. Данные, которые должны быть переданы вasticsearch — это хосты, на которых он работает, мы упомянули их как localhost. Следующее поле — это индекс, которому мы дали название страны -currentdate. Мы должны использовать тот же индекс в Kibana после обновления данных в Elasticsearch.

Сохраните указанный выше файл конфигурации как logstash_countries.config . Обратите внимание, что нам нужно указать путь к этой конфигурации для команды logstash на следующем шаге.

Чтобы загрузить данные из файла csv вasticsearch, нам нужно запустить серверasticsearch —

Запустите Elasticsearch Server

Теперь запустите http: // localhost: 9200 в браузере, чтобы подтвердить, успешно ли работаетasticsearch.

Elasticsearch Бег

У нас работает эластичный поиск. Теперь перейдите по пути, где установлен logstash, и выполните следующую команду, чтобы загрузить данные вasticsearch.

> logstash -f logstash_countries.conf

Elasticsearch Командная строка

Elasticsearch Загрузить данные

На приведенном выше экране показана загрузка данных из файла CSV в Elasticsearch. Чтобы узнать, есть ли у нас индекс, созданный в Elasticsearch, мы можем проверить то же самое следующим образом:

Мы можем видеть индекс странданных-28.12.2018, созданный, как показано выше.

Индекс страновых данных

Детали индекса — страны-28.12.2018 выглядит следующим образом —

Страновой указатель данных

Обратите внимание, что детали сопоставления со свойствами создаются при загрузке данных из logstash вasticsearch.

Использовать данные из Elasticsearch в Кибане

В настоящее время Kibana работает на локальном хосте, порт 5601 — http: // localhost: 5601 . Пользовательский интерфейс Кибана показан здесь —

Кибана Бег

Обратите внимание, что у нас уже есть Kibana, подключенный к Elasticsearch, и мы должны увидеть индекс стран-28.12.2018 внутри Kibana.

В пользовательском интерфейсе Kibana выберите пункт «Меню управления» слева.

Меню управления

Теперь нажмите Управление индексами —

Управление индексами

Индексы, присутствующие в Elasticsearch, отображаются в управлении индексами. Индекс, который мы собираемся использовать в Кибане, это countrydata-28.12.2018.

Таким образом, поскольку у нас уже есть индекс эластичного поиска в Кибане, следующий поймет, как использовать индекс в Кибане для визуализации данных в виде круговой диаграммы, гистограммы, линейного графика и т. Д.