ELK Stack е най-популярната платформа за управление на дневници в света. Това е колекция от продукти с отворен код, включително Elasticsearch, Logstash и Kibana. Всички тези 3 продукта са разработени, управлявани и поддържани от Elastic.
ELK Stack е мощна платформа с отворен код, която може да управлява огромно количество регистрирани данни. Дневникът на входовете обикновено е от графичен уеб интерфейс (GUI).
- Elasticsearch е базиран на JSON двигател за търсене и анализ, предназначен за хоризонтална мащабируемост и по-лесно управление.
- Logstash е интерфейс за обработка на данни от страна на сървъра, който има възможност за едновременно събиране на данни от няколко източника. След това го преобразува и след това изпраща данните до желаното скривалище. Това е приложение с отворен код.
- Kibana се използва за визуализиране на вашите данни и навигация в Elastic Stack. Това е и инструмент с отворен код.
Инсталирайте и конфигурирайте ELK Stack на 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-repository ppa: webupd8team / java
sudo apt-get update
sudo apt инсталирате oracle-java8-set-default
Обърнете внимание на терминала. Ще трябва да се съгласите да лицензирате прозорците на споразумението и да изберете „да“, за да продължите. След като инсталацията приключи, можете да проверите версията на java, като използвате следните команди:
.sudo java -версия
sudo echo $ JAVA_HOME
Стъпка 2) Инсталиране и конфигуриране на Elasticsearch
Да започнем с wget команда за изтегляне на Elasticsearch, последвана от публичен ключ за подписване:
sudo wget -qO - https: // артефакти.еластична.co / GPG-KEY-elasticsearch | sudo apt-key add -
Второ, инсталирайте пакета apt-transport-https (базираните на Debian дистрибуции се нуждаят от това).
sudo apt-get инсталиране apt-transport-https
Добавете хранилището:
ехо "deb https: // артефакти.еластична.co / пакети / 6.x / apt стабилна основна "| sudo tee -a / etc / apt / sources.списък.г / ластик-6.х.списък
Актуализирайте репо списъка и инсталирайте пакета:
sudo apt-get update
sudo apt-get инсталирайте elasticsearch
Нека модифицираме „elasticsearch.yml ”файл:
sudo vim / etc / elasticsearch / elasticsearch.yml
Разкоментирайте „мрежа.хост “и„ http.пристанище ”. Следва да се добави следната конфигурация:
мрежа.домакин: localhost http.порт: 9200
След това запазете и затворете файла.
За да сте сигурни, че ElasticSearch работи безпроблемно, активирайте го при стартиране и стартирайте ElasticSearch.
sudo systemctl позволява еластично търсене.обслужване
sudo systemctl старт еластично търсене.обслужване
Проверете инсталацията:
sudo curl -XGET 'localhost: 9200 /?красива'
Стъпка 3) Инсталиране на Kibana
Нека започнем да инсталираме Kibana сега и да променим настройките на Kibana:
sudo apt-get инсталирайте kibana
sudo vim / etc / kibana / kibana.yml
Коментирайте следните редове:
сървър.порт: 5601 сървър.домакин: "localhost" еластично търсене.url: "http: // localhost: 9200"
Запазете и излезте от файла.
Активирайте го при зареждане и стартирайте услугата Kibana:
sudo systemctl активира kibana.обслужване
sudo systemctl старт кибана.обслужване
Стъпка 4) Конфигуриране на Nginx като обратен прокси за Kibana
В подобни редове нека инсталираме Nginx, конфигурираме го и стартираме услугата. Използвайте следните команди една по една:
sudo apt-get инсталирайте nginx apache2-utils
Конфигуриране на виртуален хост:
sudo vim / etc / nginx / sites-available / elk
Добавете следната конфигурация към файла:
сървър слуша 80; име на сървър elk.fosslinux.com; auth_basic "Ограничен достъп"; auth_basic_user_file / etc / nginx /.elkusersecret; местоположение / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Надстройка $ http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Хост $ host; proxy_cache_bypass $ http_upgrade;
Създайте файл за потребител и парола за удостоверяване на уеб браузър:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Въведете парола и повторете. Проверете конфигурациите на Nginx:
sudo nginx -t
Активирайте Nginx при зареждане на системата и рестартирайте услугата:
sudo systemctl разреши nginx.обслужване
sudo systemctl рестартирайте nginx.обслужване
Стъпка 5) Инсталиране и конфигуриране на Logstash
Инсталирайте Logstash:
sudo apt-get инсталирайте logstash
Тук ще генерираме ключ за SSL сертификат, за да осигурим прехвърляне на регистрационен файл от клиент за биене на файлове. Променете файла “hosts”, преди да създадете SSL сертификат.
sudo vim / etc / hosts
Добавете следния ред към файла. Не забравяйте да промените IP и името на сървъра на вашето.
172.31.31.158 elk-сървър elk-сървър
Когато сте готови, запазете и излезте от файла.
Сега променете директорията на 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.извеждане на ключ ssl / logstash-forwarder.crt
Създайте следните файлове в “/ etc / logstash / conf.д".
sudo cd / etc / logstash / conf.д/
създайте файл-входен файл с помощта на vim.
sudo vim filebeat-input.конф
Добавете следните редове към него.
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-филтър.конф
Добавете следното съдържание към него.
филтър if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" received_at ","% @ timestamp "] add_field => [" received_from ","% host "] дата match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Запазете и излезте от файла. Създайте еластично търсене изходния файл.
sudo vim output-elasticsearch.конф
Добавете следните редове към него.
изход elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + ГГГГ.ММ.dd "тип_документ =>"% [@ метаданни] [тип] "
Нека активираме Logstash при стартиране и стартиране на услугата:
sudo systemctl активира logstash.обслужване
sudo systemctl стартира logstash.обслужване
Стъпка 6) Инсталиране и конфигуриране на Filebeat на клиентски сървъри
Започнете с редактиране на домакини файл за добавяне на записи за хост на elk. Не забравяйте да замените IP и името с вашето.
sudo vim / etc / hosts
172.31.31.158 елк-сървър
Запазете и излезте от файла.
Изтеглете и инсталирайте ключа за публично подписване:
sudo wget -qO - https: // артефакти.еластична.co / GPG-KEY-elasticsearch | sudo apt-key add -
Инсталирайте “apt-transport-https” и добавете репо.
sudo apt-get инсталиране apt-transport-https
sudo echo "deb https: // артефакти.еластична.co / пакети / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.списък.г / ластик-6.х.списък
Актуализирайте репо и инсталирайте Filebeat.
sudo apt-get update
sudo apt-get install filebeat
Променете конфигурациите на Filebeat.
sudo vim / etc / filebeat / filebeat.yml
Намерете следния ред и променете стойността на „true“.
разрешено: вярно
Тук не променяме пътя на регистрационния файл и 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
копирайте изхода и след това отидете на Elk клиент-сървър.
Създайте файл със сертификат
sudo vim / etc / filebeat / logstash-forwarder.crt
вмъкнете копиран изход и запазете и излезте.
Активиране filebeat при стартиране на системата Старт filebeat обслужване.
sudo systemctl активира filebeat.обслужване
sudo systemctl стартира filebeat.обслужване
Стъпка 7) Преглед на таблото за управление на Kibana
Стартирайте любимия си уеб браузър и въведете името на домейна, последвано от потребителско име и парола.
http: // elk.fosslinux.com
Въведете създаденото потребителско име и парола. Трябва да видите началната страница на Kibana. Щракнете върху бутона „Explore my Own“.
Трябва да бъдете насочени към началната страница на Кибана.
Щракнете върху „Открий“ от лявата страна. Щракнете върху „Създаване на модел на индекс“.
След това дефинирайте модела на индекса “filebeat- *”.
Щракнете върху Напред и изберете @timestamp 'и щракнете върху' Създаване на модел на индекс '.
Трябва да се създаде модел на индекс.
Щракнете върху менюто „Откриване“, за да видите регистрационните файлове на сървъра.
Дневниците ще се показват според времевия печат. Щракнете върху всеки клеймо за време, за да го разгънете и да видите съдържанието на регистрационния файл и неговите подробности.
Ако сте стигнали тук, това означава, че сте успешно инсталирали и конфигурирали стека ELK с filebeat. Имам някакви проблеми? Чувствайте се свободни да ни уведомите в коментарите по-долу.