Ubuntu

Как установить ELK Stack на Ubuntu 18.04

Как установить ELK Stack на Ubuntu 18.04

ELK Stack - самая популярная в мире платформа для управления журналами. Это набор продуктов с открытым исходным кодом, включая Elasticsearch, Logstash и Kibana. Все эти 3 продукта разрабатываются, управляются и обслуживаются Elastic.

ELK Stack - это мощная платформа с открытым исходным кодом, которая может управлять огромным объемом регистрируемых данных. Журнал входных данных обычно осуществляется с помощью графического веб-интерфейса (GUI).

Установите и настройте стек ELK в Ubuntu

В этом уроке мы собираемся использовать filebeat для отправки данных журнала в Logstash. Beats - это легковесные поставщики данных, и для начала нам нужно установить агент на серверах.

Шаг 1) Установка Java 8

ElasticSearch поддерживает Java 8 и 9, но проблема в том, что Logstash совместим только с Java 8. Java 9 пока не поддерживается. Поэтому мы собираемся установить Oracle Java 8.

Запустите Терминал и добавьте репозиторий Oracle Java 8 с последующим обновлением системы и фактической установкой.

sudo add-apt-репозиторий ppa: webupd8team / java
sudo apt-get update
sudo apt установить oracle-java8-set-default

Обратите внимание на Терминал. Вам нужно будет согласиться с окнами лицензионного соглашения и выбрать «да», чтобы продолжить. После завершения установки вы можете проверить версию java, используя следующие команды:

.sudo java -version

Проверка версии Java

sudo echo $ JAVA_HOME

Проверить Java Home

Шаг 2) Установка и настройка Elasticsearch

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

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

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

sudo apt-get install apt-transport-https

Добавьте репозиторий:

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

Обновите список репо и установите пакет:

sudo apt-get update
sudo apt-get install elasticsearch

Давайте изменим «elasticsearch.yml »файл:

Судо Вим / и т. д. / elasticsearch / elasticsearch.yml

Раскомментируйте «сеть».host »и« http.порт ». Должна быть добавлена ​​следующая конфигурация:

сеть.хост: localhost http.порт: 9200

Далее сохраните и закройте файл.

Чтобы обеспечить бесперебойную работу ElasticSearch, включите его при загрузке и запустите ElasticSearch.

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

Проверить установку:

sudo curl -XGET 'локальный хост: 9200 /?симпатичный'

Проверить ElasticSearch

Шаг 3) Установка Kibana

Теперь приступим к установке Kibana и изменим настройки Kibana:

sudo apt-get install kibana
судо вим / и т. д. / кибана / кибана.yml

Раскомментируйте следующие строки:

сервер.порт: 5601 сервер.хост: "localhost" elasticsearch.url: "http: // localhost: 9200"

Сохраните и выйдите из файла.

Включите его при загрузке и запустите сервис Kibana:

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

Шаг 4) Настройка Nginx в качестве обратного прокси для Kibana

В аналогичных строках установим Nginx, настроим его и запустим службу. Используйте следующие команды по очереди:

sudo apt-get установить nginx apache2-utils

Настроить виртуальный хост:

Судо Вим / и т. д. / nginx / сайты-доступные / лось

Добавьте в файл следующую конфигурацию:

 сервер слушать 80; имя_сервера лось.фосслинукс.com; auth_basic «Ограниченный доступ»; auth_basic_user_file / и т.д. / nginx /.elkusersecret; местоположение / прокси-пароль http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Обновить $ http_upgrade; proxy_set_header Соединение «апгрейд»; proxy_set_header Host $ host; proxy_cache_bypass $ http_upgrade; 

Создайте файл пользователя и пароля для аутентификации в веб-браузере:

sudo htpasswd -c / etc / nginx /.elkusersecret elkusr

ELK аутентификация

Введите пароль и повторите. Проверьте конфигурации Nginx:

sudo nginx -t

Включите Nginx при загрузке системы и перезапустите службу:

sudo systemctl включить nginx.услуга
sudo systemctl перезапустить nginx.услуга

Шаг 5) Установка и настройка Logstash

Установите Logstash:

sudo apt-get install logstash

Здесь мы собираемся сгенерировать ключ сертификата SSL для безопасной передачи журнала от клиента файловой системы. Измените файл «hosts» перед созданием сертификата SSL.

судо vim / и т.д. / хосты

Добавьте в файл следующую строку. Обязательно измените IP и имя сервера на свои.

172.31 год.31 год.158 лось-сервер лось-сервер

Когда закончите, сохраните и выйдите из файла.

Теперь смените каталог на Logstash.

sudo cd / etc / logstash /

Создайте папку для SSL:

sudo mkdir ssl

Создать сертификат SSL. Измените elk-server на свое имя сервера в следующей команде.

sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.ключ -out ssl / logstash-forwarder.crt

Создайте следующие файлы внутри «/ etc / logstash / conf.d ”.

sudo cd / etc / logstash / conf.d /

создать файл ввода-вывода с помощью vim.

sudo vim filebeat-ввод.conf

Добавьте к нему следующие строки.

input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.ключ"  

Сохраните и закройте файл и создайте новый файл конфигурации.

sudo vim syslog-фильтр.conf

Добавьте к нему следующее содержимое.

filter if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" receive_at ","% @ timestamp "] add_field => [" receive_from ","% host "] дата match => [" syslog_timestamp " , "МММ д ЧЧ: мм: сс", "МММ дд ЧЧ: мм: сс"]

Сохраните и выйдите из файла. Создавать эластичный поиск выходной файл.

sudo vim output-elasticsearch.conf

Добавьте к нему следующие строки.

вывод elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + YYYY.ММ.dd "document_type =>"% [@ метаданные] [тип] "

Давайте включим Logstash при загрузке и запустим службу:

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

Шаг 6) Установка и настройка Filebeat на клиентских серверах

Начните с редактирования хозяева файл для добавления записей хоста лося. Обязательно замените IP и имя на свои.

судо vim / и т.д. / хосты
172.31 год.31 год.158 лось-сервер

Сохраните и выйдите из файла.

Загрузите и установите открытый ключ подписи:

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

Установите «apt-transport-https» и добавьте репо.

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

Обновите репо и установите Filebeat.

sudo apt-get update
sudo apt-get install filebeat

Изменить конфигурации Filebeat.

Судо vim / и т. д. / filebeat / filebeat.yml

Найдите следующую строку и измените значение на «истина».

включен: правда

Здесь мы не изменяем путь к журналу и Filebeat пересылает все журналы в папку «var / log»

 пути: - / var / log / *.бревно

Раскомментируйте следующие строки:

выход.logstash: # Хосты Logstash: ["elk-server: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]

Комментарий Elasticsearch:

#выход.elasticsearch: # Массив хостов для подключения. # хостов: ["localhost: 9200"]

Сохраните и выйдите из файла.

Теперь перейдите на сервер ELK и получите «logstash-forwarder.crt »содержание

sudo cat / etc / logstash / ssl / logstash-forwarder.crt

SSL Crt

скопировать вывод, а затем перейти на клиент-сервер Elk.

Создайте файл сертификата

Судо Вим / и т. д. / filebeat / logstash-форвардер.crt

вставить скопированный вывод и сохранить и выйти.

Давать возможность filebeat при загрузке системы Пуск filebeat услуга.

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

Шаг 7) Просмотр панели инструментов Kibana

Запустите ваш любимый веб-браузер и введите имя домена, а затем имя пользователя и пароль.

http: // лось.фосслинукс.ком

Браузерная аутентификация

Введите созданное имя пользователя и пароль. Вы должны увидеть страницу приветствия Kibana. Нажмите кнопку «Изучить мои собственные».

Страница приветствия Kibana

Вы должны быть перенаправлены на домашнюю страницу Kibana.

Домашняя страница Kibana

Нажмите «Обнаружить» слева. Нажмите «Создать шаблон индекса».

Создать индекс

Затем определите шаблон индекса «filebeat- *».

Определить индекс

Нажмите "Далее", выберите "@timestamp" и нажмите "Создать шаблон индекса".

Выберите отметку времени

Шаблон индекса должен быть создан.

Созданный шаблон индекса

Щелкните меню «Обнаружение», чтобы просмотреть журналы сервера.

Обнаружить журналы

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

Проверить файлы журнала

Если вы добрались сюда, это означает, что вы успешно установили и настроили стек ELK с filebeat. Есть проблемы? Не стесняйтесь сообщить нам об этом в комментариях ниже.

Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...