Установка Elastic стека (Elasticsearch, Logstash, Kibana, Filebeat) на Ubuntu 20.04 (18.04)

Стек ELK (Elastic Stack) — набор бесплатных приложений с открытым исходным кодом (Open-source software), позволяющий анализировать файлы журналов (логи сервера). Например, анализ логов позволяет SEO-специалистам понимать поведение ботов поисковых систем, чтобы улучшить качество сканирования.

Из этого руководства узнаете как установить и настроить Elasticsearch, Logstash, Kibana, Filebeat на Linux Ubuntu 20.04. Для Debian и Centos 7 команды будут немного отличаться.

Elastic Stack — мощный инструмент мониторинга — при помощи Filebeat будете автоматически отправлять логи в  Logstash, которые будут преобразовываться в необходимую структуру и отправляться для хранения и обработки в Elasticsearch, а Kibana позволит удобно взаимодействовать с этими данными.

1. Установка дополнительного софта

Java 8

Для работы стека ELK необходим Java 8. Чтобы проверить наличие Java в вашей системе, воспользуйтесь командой

Если получили результат 1.8.х_ххх, то переходите к установке NGINX. Если же Java не установлена в системе, то переходите к процессу установки

Nginx

Nginx необходим для настройки доступа с паролем для Kibana — панели визуализации данных.

2. Добавляем репозиторий Elastic в Ubuntu

Репозиторий Elastic обеспечивает доступ ко всем программам из стека ELK.

Импортируем ключ GPG:

Далее установим пакет apt-transport-https:

И осталось добавить репозиторий Elastic в список репозиторий нашей системы:

3. Установка и настройка Elasticsearch

Elasticsearch — утилита полнотекстового поиска и аналитики данных, позволяющая в режиме реального времени быстро записывать, искать, анализировать большие объемы данных.

Во-первых, обновим репозитории:

И установим Elasticsearch:

Для управления Elasticsearch отконфигурируем файл:

Необходимо найти и расскоментировать следующие строки:

Если необходимо, чтобы Elasticsearch был доступен и для других узлов сети, то для network.host укажите необходимый адрес. Или установите значение 0.0.0.0 — для доступа со всех адресов сетевых интерфейсов.

Конфигурирование файла настройки ElasticsearchТ.к. настраиваем одноузловой кластер, то чуть ниже добавим строку:

Зададим начальный и максимальный размер памяти в куче (JVM heap size), используя -Xms и -Xmx соответственно. Рекомендуется устанавливать их не более чем на половину размера вашей общей памяти:

Настройка JVM heap sizeЗапустим Elasticsearch:

Для автозапуска Elasticsearch после перезагрузки системы введем команду:

Чтобы протестировать работоспосбность Elasticsearch воспользуемся curl-командой:

Проверка работоспособности Elasticsearch3. Установка и настройка Logstash

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

Для установки Logstash выполните команду:

Для запуска службы введем:

Файлы настройки конфигурации располагаются в директории /etc/logstash/conf.d/

Формат конфигурационного файла состоит из 3-х частей:

input — входная точка для логов — определяет по каким каналам логи сервера будут попадать в инструмент. Наиболее чаще всего используемые: beats, file, tcp, udp.

filter — настраивается обработка логов, например, разбивка по key = value, удаление ненужных параметров, преобразование. Используют фильтры: grok, mutate, date, kv, multiline.

output — указываются настройки для исходящих данных. Некоторые возможные варианты: stdout, file, elasticsearch, email.

Пример конфигурационного файла Logstash:

Используйте деббагер для grok, чтобы выполнять правильную обработку логов:
Использование grok debugger

4. Установка и настройка Kibana

Kibana — веб-интерфейс для Elasticsearch, чтобы взаимодействовать с собранными данными (строить графики, таблицы, добавлять/удалять индексы и т.д.).

Чтобы установить Kibana выполним команду:

Для настройки откройте файл:

Удалите символ «#»перед следующими параметрами:

Если для server.host установить localhost, то подключиться  удаленным пользователям будет нельзя. Чтобы им можно было подключаться устновить значение — 0.0.0.0.

Настройка KibanaЧтобы запустить Kibana выполним команду:

Чтобы Kibana автоматически запускалась после перезагрузки системы выполним:

Если используете файервол UFW, то необходимо разрешить трафик на порту 5601 для доступа к панели управления Kibana

Протестируем Kibana в браузере:

Запуск Kibana
Если необходимо установить Kibana в операционной системе Windows, то скачайте Kibana для Windows, произведите конфигурацию файла ..\config\kibana.yml, как это было описано выше и запустите

5. Установка и настройка Filebeat

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

Для запуска установки Filebeat введем:

Откроем конфигурационный файл:

Добавим источник данных в paths:

Настройка источника данных для FilebeatЧуть ниже настроим отправку логов Apache в Logstash — в hosts укажем IP и порт:

Настройка отправки данных из Filebeat в LoЕсли используете файервол UFW, откройте порт 5044 на принимающем сервере:

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *