Учебное пособие по ELK Stack: что такое Kibana, Logstash и Elasticsearch?

by moiseevrus

Что такое стек ELK?

ELK Stack — это набор из трех продуктов с открытым исходным кодом — Elasticsearch, Logstash и Kibana. Стек ELK обеспечивает централизованное ведение журнала для выявления проблем с серверами или приложениями. Это позволяет искать все журналы в одном месте. Это также помогает находить проблемы на нескольких серверах, соединяя журналы в течение определенного периода времени.

  • E означает ElasticSearch: используется для хранения журналов.
  • L означает LogStash: используется как для доставки, так и для обработки и хранения журналов.
  • K означает Kibana: это инструмент визуализации (веб-интерфейс), который размещается через Nginx или Apache .

ElasticSearch, LogStash и Kibana разрабатываются, управляются и поддерживаются компанией Elastic.

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

В этом руководстве по стеку ELK вы узнаете

Архитектура стека ELK

Теперь в этом руководстве по стеку ELK мы узнаем об архитектуре ELK:

Вот простая архитектура стека ELK

 

Архитектура стека ELK

Архитектура стека ELK

 

  • Журналы: идентифицируются журналы сервера, которые необходимо проанализировать .
  • Logstash: сбор журналов и данных о событиях. Он даже анализирует и преобразует данные
  • ElasticSearch: преобразованные данные из Logstash хранятся в хранилище, в поиске и индексируются.
  • Kibana: Kibana использует базу данных Elasticsearch для изучения, визуализации и обмена

Однако необходим еще один компонент или сбор данных под названием Beats. Это привело к тому, что Elastic переименовал ELK в Elastic Stack.

Архитектура стека ELK с Beats

При работе с очень большими объемами данных вам могут понадобиться Kafka, RabbitMQ для буферизации и устойчивости. Для безопасности можно использовать nginx.

ELK Stack с другими платформами

Теперь в этом руководстве по эластичному стеку давайте подробно рассмотрим все эти продукты с открытым исходным кодом:

Что такое эластичный поиск?

Elasticsearch — это база данных NoSQL. Он основан на поисковой системе Lucene и построен с использованием RESTful APIS. Он предлагает простое развертывание, максимальную надежность и простое управление. Он также предлагает расширенные запросы для выполнения подробного анализа и централизованного хранения всех данных. Это полезно для выполнения быстрого поиска документов.

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

Особенности эластичного поиска:

  • Поисковый сервер с открытым исходным кодом написан с использованием Java
  • Используется для индексации любых разнородных данных.
  • Имеет веб-интерфейс REST API с выводом JSON
  • Полнотекстовый поиск
  • Поиск почти в реальном времени (NRT)
  • Разделенное, реплицированное хранилище документов JSON с возможностью поиска
  • Распределенное хранилище документов без схем, основанное на REST и JSON
  • Поддержка нескольких языков и геолокации

Преимущества эластичного поиска

  • Храните данные без схемы, а также создаете схему для ваших данных.
  • Управляйте своей записью данных за записью с помощью API для работы с несколькими документами.
  • Выполняйте фильтрацию и запрашивайте свои данные для понимания
  • Основан на Apache Lucene и предоставляет RESTful API.
  • Обеспечивает горизонтальную масштабируемость, надежность и возможность работы с несколькими арендаторами для использования индексации в режиме реального времени, чтобы ускорить поиск.
  • Помогает масштабировать по вертикали и горизонтали

Важные термины, используемые в Elastic Search

Теперь в этом руководстве по ELK давайте узнаем об основных терминах, используемых в ElasticSearch:

Срок Применение
Кластер Кластер — это набор узлов, которые вместе содержат данные и обеспечивают объединенные возможности индексирования и поиска.
Узел Узел — это экземпляр elasticsearch. Он создается при запуске экземпляра elasticsearch.
Индекс Индекс представляет собой набор документов, имеющих схожие характеристики. например, данные о клиентах, каталог продукции. Это очень полезно при выполнении операций индексирования, поиска, обновления и удаления. Это позволяет определить как можно больше индексов в одном кластере.
Документ Это основная единица информации, которая может быть проиндексирована. Он выражается в паре JSON (ключ: значение). ‘{“пользователь”: “nullcon”}’. Каждый отдельный документ связан с типом и уникальным идентификатором.
Осколок Каждый индекс можно разделить на несколько сегментов, чтобы можно было распределять данные. Осколок — это атомарная часть индекса, которую можно распределить по кластеру, если вы хотите добавить больше узлов.

Что такое Логсташ?

Logstash — это инструмент конвейера сбора данных. Он собирает входные данные и передает их в Elasticsearch. Он собирает все типы данных из разных источников и делает их доступными для дальнейшего использования.

Logstash может объединять данные из разрозненных источников и нормализовать данные в соответствии с вашими предпочтениями. Это позволяет очистить и демократизировать все ваши данные для аналитики и визуализации вариантов использования.

Он состоит из трех компонентов:

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

Особенности Логсташ

Теперь в этом руководстве по LogStash давайте узнаем о функциях LogStash:

  • События проходят через каждую фазу с использованием внутренних очередей
  • Позволяет использовать различные входные данные для ваших журналов
  • Фильтрация/анализ ваших журналов

Преимущество Логсташ

  • Предлагает централизовать обработку данных
  • Он анализирует большое количество структурированных/неструктурированных данных и событий.
  • ELK LogStash предлагает плагины для подключения к различным типам источников ввода и платформ.

Что такое Кибана?

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

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

В Kibana есть разные методы поиска по вашим данным.

Вот наиболее распространенные типы поиска:

Тип поиска Применение
Свободный текстовый поиск Используется для поиска определенной строки
Поиск на уровне поля Используется для поиска строки в определенном поле.
Логические утверждения Он используется для объединения поисков в логический оператор.
Поиск близости Он используется для поиска терминов в пределах определенной близости символов.

Теперь в этом руководстве по Kibana давайте узнаем о важных функциях Kibana:

Особенности Кинбаны:

  • Мощная интерфейсная панель мониторинга, способная визуализировать проиндексированную информацию из эластичного кластера.
  • Обеспечивает поиск индексированной информации в режиме реального времени.
  • Вы можете искать, просматривать и взаимодействовать с данными, хранящимися в Elasticsearch.
  • Выполнение запросов к данным и визуализация результатов в виде диаграмм, таблиц и карт
  • Настраиваемая панель мониторинга для нарезки и нарезки журналов logstash в elasticsearch.
  • Возможность предоставления исторических данных в виде графиков, диаграмм и т. д.
  • Панели мониторинга в реальном времени, которые легко настраиваются
  • Kibana ElasticSearch обеспечивает поиск индексированной информации в режиме реального времени.

Преимущества и недостатки Кинбаны

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

Зачем анализировать журнал?

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

Платформа управления журналами может отслеживать все вышеперечисленные проблемы, а также обрабатывать журналы операционной системы, NGINX, журнал сервера IIS для анализа веб-трафика, журналы приложений и журналы на AWS (веб-сервисы Amazon).

Управление журналами помогает инженерам DevOps и системным администраторам принимать более обоснованные бизнес-решения. Следовательно, важен анализ журнала с помощью Elastic Stack или аналогичных инструментов.

ELK против Splunk

Лось Splunk
Elk — инструмент с открытым исходным кодом Splunk — это коммерческий инструмент.
Стек Elk не поддерживает переносимость Solaris из-за Kibana. Splunk предлагает переносимость Solaris.
Скорость обработки строго ограничена. Предлагает точные и быстрые процессы.
ELK — это стек технологий, созданный с помощью комбинации Elastic Search-Logstash-Kibana. Splunk — это проприетарный инструмент. Он предоставляет как локальные, так и облачные решения.
В ELK поиск, анализ и визуализация будут возможны только после настройки стека ELK. Splunk — это полный пакет управления данными в вашем распоряжении.
Инструмент ELK не поддерживает интеграцию с другими инструментами. Splunk — полезный инструмент для настройки интеграции с другими инструментами.

Тематические исследования

Нетфликс

Netflix сильно зависит от стека ELK. Компания использует стек ELK для мониторинга и анализа журнала безопасности работы службы поддержки клиентов. Это позволяет им индексировать, хранить и искать документы из более чем пятнадцати кластеров, включающих почти 800 узлов.

LinkedIn

Известный сайт маркетинга в социальных сетях LinkedIn использует стек ELK для мониторинга производительности и безопасности. ИТ-команда интегрировала ELK с Kafka для поддержки своей нагрузки в режиме реального времени. Их операция ELK включает в себя более 100 кластеров в шести различных центрах обработки данных.

Трипваер:

Tripwire — это всемирная система управления информационными событиями безопасности. Компания использует ELK для поддержки анализа журнала информационных пакетов.

Середина:

Medium — известная платформа для публикации блогов. Они используют стек ELK для отладки своих производственных проблем. Компания также использует ELK для обнаружения горячих точек DynamoDB. Более того, используя этот стек, компания может поддерживать 25 миллионов уникальных читателей, а также тысячи публикуемых постов каждую неделю.

Преимущества и недостатки стека ELK

Преимущества

  • ELK работает лучше всего, когда журналы из различных приложений предприятия сходятся в одном экземпляре ELK.
  • Он обеспечивает потрясающую информацию для этого единственного экземпляра, а также устраняет необходимость входа в сотню различных источников данных журнала.
  • Быстрая установка на месте
  • Простота развертывания Вертикальные и горизонтальные весы
  • Elastic предлагает множество языковых клиентов, включая Ruby. Питон. PHP, Perl, .NET, Java, JavaScript и многое другое.
  • Наличие библиотек для разных языков программирования и сценариев

Недостатки

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

Резюме

  • Централизованное ведение журнала может быть полезно при попытке выявить проблемы с серверами или приложениями.
  • Стек сервера ELK полезен для решения проблем, связанных с централизованной системой ведения журналов.
  • Стек ELK представляет собой набор из трех инструментов с открытым исходным кодом Elasticsearch, Logstash Kibana
  • Elasticsearch — это база данных NoSQL.
  • Logstash — инструмент конвейера сбора данных.
  • Kibana — это визуализация данных, дополняющая стек ELK.
  • В инфраструктурах облачных сред очень важны производительность и изоляция.
  • В стеке ELK скорость обработки строго ограничена, тогда как Splunk предлагает точные и быстрые процессы.
  • Netflix, LinkedIn, Tripware, Medium используют стек ELK для своего бизнеса.
  • Системный журнал ELK лучше всего работает, когда журналы из различных приложений предприятия сходятся в одном экземпляре ELK.
  • Различные компоненты в стеке могут стать трудными для обработки, когда вы переходите к сложной настройке

Статья является переводом www.guru99.com

You may also like

Leave a Comment