Эластичный поиск

Визуализируйте журналы Apache с помощью стека ELK

Визуализируйте журналы Apache с помощью стека ELK

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

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

В этом руководстве будет рассказано, как можно использовать один из лучших инструментов для сбора журналов и анализа в реальном времени - ELK. Используя ELK, широко известный как Elasticsearch, Logstash и Kibana, вы можете собирать, регистрировать и анализировать данные с веб-сервера Apache в режиме реального времени.

Что такое ELK Stack?

ELK - это аббревиатура, используемая для обозначения трех основных инструментов с открытым исходным кодом: Elasticsearch, Logstash и Kibana.

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

Logstash Engine - это связующее звено между серверной частью и Elasticsearch, позволяющее собирать данные из выбранных источников в Elasticsearch. Он предлагает мощные API, которые легко интегрируются с приложениями, разработанными на различных языках программирования.

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

Стек ELK очень мощный и может делать невероятные вещи для анализа данных.

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

Elasticsearch: https: // linkfy.в / Elasticsearch-Reference

Logstash: https: // linkfy.в / LogstashReference

Кибана: https: // linkfy.в / KibanaGuide

Как установить Apache?

Прежде чем мы начнем установку Apache и всех зависимостей, стоит отметить несколько вещей.

Мы протестировали этот учебник на Debian 10.6, но он также будет работать с другими дистрибутивами Linux.

В зависимости от конфигурации вашей системы вам потребуются права sudo или root.

Совместимость стека ELK и удобство использования могут различаться в зависимости от версии.

Первый шаг - убедиться, что ваша система полностью обновлена:

sudo apt-get update
sudo apt-get upgrade

Следующая команда - установить веб-сервер apache2. Если вы хотите установить минимальный apache, удалите документацию и утилиты из команды ниже.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo service apache2 start

К настоящему времени в вашей системе должен быть запущен сервер Apache.

Как установить Elasticsearch, Logstash и Kibana?

Теперь нам нужно установить стек ELK. Устанавливаем каждый инструмент индивидуально.

Elasticsearch

Начнем с установки Elasticsearch. Мы собираемся использовать apt для его установки, но вы можете получить стабильную версию на официальной странице загрузки здесь:

https: // www.эластичный.co / загрузки / elasticsearch

Elasticsearch требует для запуска Java. К счастью, последняя версия поставляется в комплекте с пакетом OpenJDK, что избавляет от необходимости устанавливать его вручную. Если вам нужно выполнить установку вручную, обратитесь к следующему ресурсу:

https: // www.эластичный.co / руководство / en / elasticsearch / ссылка / текущий / настройка.html # jvm-version

На следующем шаге нам нужно загрузить и установить официальный ключ подписи Elastic APT с помощью команды:

wget -qO - https: // артефакты.эластичный.co / GPG-KEY-elasticsearch | sudo apt-key добавить -

Прежде чем продолжить, вам может потребоваться пакет apt-transport-https (требуется для пакетов, обслуживаемых через https), прежде чем продолжить установку.

sudo apt-get install apt-transport-https

Теперь добавьте информацию о подходящем репо в источники.список.d файл.

echo «deb https: // артефакты.эластичный.co / packages / 7.x / apt стабильный основной »| sudo tee / etc / apt / sources.список.д / резинка-7.Икс.список

Затем обновите список пакетов в вашей системе.

sudo apt-get update

Установите Elasticsearch, используя следующую команду:

sudo apt-get install elasticsearch

Установив Elasticsearch, запустите и включите запуск при загрузке с помощью команд systemctl:

sudo systemctl демон-перезагрузка
sudo systemctl включить elasticsearch.услуга
sudo systemctl start elasticsearch

Запуск службы может занять некоторое время. Подождите несколько минут и подтвердите, что служба запущена и работает с помощью команды:

sudo systemctl статус elasticsearch.услуга

Используя cURL, проверьте, доступен ли Elasticsearch API, как показано в выходных данных JSON ниже:

curl -X GET "localhost: 9200 /?симпатичный"

"имя": "дебиан",
"имя_кластера": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"версия":
«число»: «7.10.1 ",
"build_flavor": "по умолчанию",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": ложь,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
«Слоган»: «Знаешь, для поиска»

Как установить Logstash?

Установите пакет logstash с помощью команды:

sudo apt-get install logstash

Как установить Kibana?

Введите команду ниже, чтобы установить кибану:

sudo apt-get install kibana

Как настроить Elasticsearch, Logstash и Kibana?

Вот как настроить стек ELK:

Как настроить Elasticsearch?

В Elasticsearch данные упорядочиваются по индексам. Каждый из этих индексов имеет один или несколько сегментов. Шард - это автономная поисковая система, используемая для обработки и управления индексами и запросами для подмножества в кластере в Elasticsearch. Шард работает как экземпляр индекса Lucene.

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

Начните с создания шаблона индекса в формате JSON. В файле мы установим количество шардов равным одному и нулевым репликам для соответствия имен индексов (в целях разработки).

В Elasticsearch шаблон индекса относится к тому, как вы инструктируете Elasticsearch по настройке индекса в процессе создания.

Внутри файла шаблона json (index_template.json) введите следующие инструкции:


"шаблон":"*",
"настройки":
"индекс":
"number_of_shards": 1,
"number_of_replicas": 0


Используя cURL, примените конфигурацию json к шаблону, который будет применен ко всем созданным индексам.

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json
"подтверждено": правда

После применения Elasticsearch ответит подтверждением истинности.

Как настроить Logstash?

Чтобы Logstash собирал журналы с Apache, мы должны настроить его для отслеживания любых изменений в журналах путем сбора, обработки, а затем сохранения журналов в Elasticsearch. Для этого вам необходимо настроить путь сбора журнала в Logstash.

Начните с создания конфигурации Logstash в файле / etc / logstash / conf.d / apache.conf

Вход
файл
путь => '/ var / www / * / журналы / доступ.бревно'
type => "apache"


filter
Grok
match => "message" => "% COMBINEDAPACHELOG"


выход
elasticsearch

Теперь убедитесь, что вы включили и запустили службу logstash.

sudo systemctl включить logstash.услуга
sudo systemctl start logstash.услуга

Как включить и настроить Kibana?

Чтобы включить Kibana, отредактируйте основной .yml файл конфигурации, расположенный в / etc / kibana / kibana.yml. Найдите следующие записи и раскомментируйте их. После этого используйте systemctl для запуска службы Kibana.

сервер.порт: 5601
сервер.хост: "localhost"
sudo systemctl включить кибану.service && sudo systemctl start kibana.услуга

Kibana создает шаблоны индекса на основе обработанных данных. Следовательно, вам необходимо собирать журналы с помощью Logstash и хранить их в Elasticsearch, который может использовать Kibana. Используйте curl для создания журналов из Apache.

После того, как у вас появятся журналы из Apache, запустите Kibana в своем браузере, используя адрес http: // localhost: 5601, который запустит страницу индекса Kibana.

В основном вам необходимо настроить шаблон индекса, используемый Kibana для поиска журналов и создания отчетов. По умолчанию Kibana использует шаблон индекса logstash *, который соответствует всем индексам по умолчанию, сгенерированным Logstash.

Если у вас нет конфигурации, нажмите «Создать», чтобы начать просмотр журналов.

Как просматривать журналы кибаны?

По мере того, как вы продолжаете выполнять запросы Apache, Logstash будет собирать журналы и добавлять их в Elasticsearch. Вы можете просмотреть эти журналы в Kibana, нажав на опцию Discover в левом меню.

Вкладка «Обнаружение» позволяет просматривать журналы по мере их создания сервером. Чтобы просмотреть подробную информацию о журнале, просто щелкните раскрывающееся меню.

Прочтите и проанализируйте данные из журналов Apache.

Как искать журналы?

В интерфейсе Kibana вы найдете панель поиска, которая позволяет вам искать данные, используя строки запроса.

Пример: status: active

Узнайте больше о строках запроса ELK здесь:

https: // www.эластичный.co / guide / en / elasticsearch / ссылка / 5.5 / запрос-DSL-запрос-строка-запрос.html # синтаксис строки запроса

Поскольку мы имеем дело с журналами Apache, одно из возможных совпадений - это код состояния. Следовательно, ищите:

ответ: 200

Этот код будет искать журналы с кодом состояния 200 (OK) и отображать их в Kibana.

Как визуализировать журналы?

Вы можете создавать визуальные информационные панели в Kibana, выбрав вкладку Visualize. Выберите тип панели управления для создания и выберите индекс поиска. Вы можете использовать значение по умолчанию для целей тестирования.

Заключение

В этом руководстве мы обсудили обзор того, как использовать стек ELK для управления журналами. Однако эта статья может охватить не только эти технологии. Рекомендуем исследовать самостоятельно.

Как изменить левую и правую кнопки мыши на ПК с Windows 10
Совершенно нормально, что все устройства компьютерной мыши эргономичны для правшей. Но есть мышиные устройства, специально разработанные для левшей ил...
Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...
Добавьте жесты мыши в Windows 10 с помощью этих бесплатных инструментов
В последние годы компьютеры и операционные системы сильно эволюционировали. Было время, когда пользователям приходилось использовать команды для навиг...