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 —
Теперь запустите http: // localhost: 9200 в браузере, чтобы подтвердить, успешно ли работаетasticsearch.
У нас работает эластичный поиск. Теперь перейдите по пути, где установлен logstash, и выполните следующую команду, чтобы загрузить данные вasticsearch.
> logstash -f logstash_countries.conf
На приведенном выше экране показана загрузка данных из файла 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.
Таким образом, поскольку у нас уже есть индекс эластичного поиска в Кибане, следующий поймет, как использовать индекс в Кибане для визуализации данных в виде круговой диаграммы, гистограммы, линейного графика и т. Д.