80. ELK Stack
Содержание
ELK Stack
На этом занятии мы немного подробнее рассмотрим некоторые из упомянутых нами опций.
ELK Stack
ELK Stack - это комбинация трех отдельных инструментов:
Elasticsearch - это распределенный, бесплатный и открытый поисковый и аналитический механизм для всех типов данных, включая текстовые, числовые, геопространственные, структурированные и неструктурированные.
Logstash - свободный и открытый конвейер обработки данных на стороне сервера, который получает данные из множества источников, преобразует их, а затем отправляет в ваш любимый “тайник”.
Kibana - это бесплатный и открытый пользовательский интерфейс, позволяющий визуализировать данные Elasticsearch и перемещаться по стеку Elastic Stack. Делайте все, что угодно: от отслеживания загрузки запросов до понимания того, как запросы проходят через ваши приложения.
Стек ELK позволяет нам надежно и безопасно получать данные из любого источника, в любом формате, затем искать, анализировать и визуализировать их в режиме реального времени.
В дополнение к вышеперечисленным компонентам вы также можете увидеть Beats - легковесные агенты, которые устанавливаются на пограничных узлах для сбора различных типов данных для передачи в стек.
Журналы: Определяются журналы сервера, которые необходимо проанализировать.
Logstash: Собирает журналы и данные о событиях. Он даже анализирует и преобразует данные.
ElasticSearch: Преобразованные данные из Logstash хранятся, ищутся и индексируются.
Kibana использует БД Elasticsearch для изучения, визуализации и обмена данными
Изображение взято с сайта Guru99
Хороший ресурс, объясняющий это The Complete Guide to the ELK Stack
С добавлением битов стек ELK теперь также известен как Elastic Stack.
Для практического скрипта существует множество мест, где можно развернуть Elastic Stack, но мы будем использовать docker compose для локального развертывания в нашей системе.
Start the Elastic Stack with Docker Compose
Оригинальные файлы и руководство, которые я использовал, вы найдете здесь deviantony/docker-elk
Теперь мы можем запустить docker-compose up -d
, при первом запуске потребуется вытащить изображения.
Если вы следите за этим репозиторием или за тем, который использовал я, у вас будет пароль “changeme” или в моем репозитории пароль “90DaysOfDevOps”. Имя пользователя - “elastic”.
Через несколько минут мы можем перейти на сайт http://localhost:5601/, который является нашим сервером Kibana / Docker-контейнером.
Ваш начальный главный экран будет выглядеть примерно так.
В разделе “Get started by adding integrations” есть пункт “try sample data”, нажмите на него, и мы сможем добавить одну из показанных ниже интеграций.
Я собираюсь выбрать “Sample web logs”, но это действительно для того, чтобы получить представление о том, какие наборы данных можно получить в стеке ELK.
Когда вы выбрали “Добавить данные”, требуется некоторое время, чтобы заполнить некоторые из этих данных, а затем у вас появляется опция “Просмотр данных” и список доступных способов просмотра этих данных в выпадающем списке.
Как указано в представлении приборной панели:
Образцы данных журналов
Эта приборная панель содержит образцы данных, с которыми вы можете поиграть. Вы можете просматривать их, искать и взаимодействовать с визуализациями. Для получения дополнительной информации о Kibana ознакомьтесь с нашей документацией.
Здесь используется Kibana для визуализации данных, которые были добавлены в ElasticSearch через Logstash. Это не единственный вариант, но я лично хотел развернуть и посмотреть на это.
В какой-то момент мы рассмотрим Grafana, и вы увидите некоторые сходства в визуализации данных между ними, вы также видели Prometheus.
Ключевой момент, который я уловил между Elastic Stack и Prometheus + Grafana, заключается в том, что Elastic Stack или ELK Stack сосредоточен на журналах, а Prometheus - на метриках.
Я читал эту статью от MetricFire Prometheus vs. ELK, чтобы лучше понять различные предложения.
Ресурсы
- Understanding Logging: Containers & Microservices
- The Importance of Monitoring in DevOps
- Understanding Continuous Monitoring in DevOps?
- DevOps Monitoring Tools
- Top 5 - DevOps Monitoring Tools
- How Prometheus Monitoring works
- Introduction to Prometheus monitoring
- Promql cheat sheet with examples
- Log Management for DevOps | Manage application, server, and cloud logs with Site24x7
- Log Management what DevOps need to know
- What is ELK Stack?
- [Fluentd simply explained](https://www.youtube.com/watch?v=5ofsNyHZwWE&t=14s