ELK Stack je celosvětově nejoblíbenější platforma pro správu protokolů. Jedná se o kolekci open-source produktů včetně Elasticsearch, Logstash a Kibana. Všechny tyto 3 produkty vyvíjí, spravuje a udržuje společnost Elastic.
ELK Stack je výkonná a open source platforma, která dokáže spravovat obrovské množství protokolovaných dat. Záznamy vstupů jsou obecně z grafického webového rozhraní (GUI).
- Elasticsearch je vyhledávací a analytický nástroj založený na JSON určený pro horizontální škálovatelnost a snadnější správu.
- Logstash je rozhraní pro zpracování dat na straně serveru, které má schopnost shromažďovat data z několika zdrojů současně. Poté je transformuje a poté odešle data do požadovaného úložiště. Je to open source aplikace.
- Kibana se používá k vizualizaci vašich dat a navigaci v elastickém zásobníku. Je to také nástroj s otevřeným zdrojovým kódem.
Nainstalujte a nakonfigurujte ELK Stack na Ubuntu
V tomto tutoriálu budeme používat filebeat k odeslání dat protokolu do Logstash. Beats jsou lehcí odesílatelé dat a pro začátek bychom měli nainstalovat agenta na servery.
Krok 1) Instalace Java 8
ElasticSearch podporuje Java 8 a 9, ale problém je, že Logstash je kompatibilní pouze s Java 8. Java 9 zatím není podporována. Proto se chystáme nainstalovat Oracle Java 8.
Spusťte terminál a přidejte úložiště Oracle Java 8, poté aktualizaci systému a skutečnou instalaci.
sudo add-apt-repository ppa:webupd8team/java
aktualizace sudo apt-get
sudo apt install oracle-java8-set-default
Věnujte pozornost terminálu. Budete muset souhlasit s okny licenční smlouvy a pokračovat výběrem „ano“. Po dokončení instalace můžete zkontrolovat verzi Java pomocí následujících příkazů:
.sudo java -version

sudo echo $JAVA_HOME

Krok 2) Instalace a konfigurace Elasticsearch
Začněme s wget příkaz ke stažení Elasticsearch následovaný veřejným podpisovým klíčem:
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Za druhé, nainstalujte balíček apt-transport-https (toto potřebuje distribuce založená na Debianu).
sudo apt-get install apt-transport-https
Přidejte úložiště:
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Aktualizujte seznam repozitářů a nainstalujte balíček:
aktualizace sudo apt-get
sudo apt-get install elasticsearch
Upravme soubor „elasticsearch.yml“:
sudo vim /etc/elasticsearch/elasticsearch.yml
Odkomentujte „network.host“ a „http.port“. Měla by být přidána následující konfigurace:
network.host:localhosthttp.port:9200
Dále soubor uložte a zavřete.
Chcete-li zajistit bezproblémové fungování funkce ElasticSearch, povolte ji při spuštění a spusťte aplikaci ElasticSearch.
sudo systemctl povolit elasticsearch.service
sudo systemctl spustit elasticsearch.service
Zkontrolujte instalaci:
sudo curl -XGET 'localhost:9200/?pretty'

Krok 3) Instalace Kibana
Začněme nyní instalovat Kibana a upravte nastavení Kibana:
instalační kibana sudo apt-get
sudo vim /etc/kibana/kibana.yml
Odkomentujte následující řádky:
server.port:5601server.host:"localhost"elasticsearch.url:"http://localhost:9200"
Uložte a ukončete soubor.
Povolte ji při spouštění a spusťte službu Kibana:
sudo systemctl povolit kibana.service
sudo systemctl spustit kibana.service
Krok 4) Konfigurace Nginx jako reverzního proxy pro Kibana
V podobných řádcích nainstalujme Nginx, nakonfigurujte jej a spusťte službu. Použijte následující příkazy jeden po druhém:
sudo apt-get install nginx apache2-utils
Konfigurace virtuálního hostitele:
sudo vim /etc/nginx/sites-available/elk
Přidejte do souboru následující konfiguraci:
server { poslouchat 80; název_serveru elk.fosslinux.com; auth_basic "Omezený přístup"; auth_basic_user_file /etc/nginx/.elkusersecret; umístění / { proxy_pass http://localhost:5601; proxy_http_verze 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}
Vytvořte soubor uživatele a hesla pro ověření webového prohlížeče:
sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

Zadejte heslo a opakujte. Zkontrolujte konfigurace Nginx:
sudo nginx -t
Povolte Nginx při spouštění systému a restartujte službu:
sudo systemctl povolí nginx.service
sudo systemctl restart nginx.service
Krok 5) Instalace a konfigurace Logstash
Nainstalujte Logstash:
sudo apt-get install logstash
Zde vygenerujeme klíč certifikátu SSL, abychom zabezpečili přenos protokolu z klienta pro porážku souborů. Před vytvořením certifikátu SSL upravte soubor „hosts“.
sudo vim /etc/hosts
Přidejte do souboru následující řádek. Ujistěte se, že jste změnili IP a název serveru na vaše.
172.31.31.158 elk-server elk-server
Po dokončení uložte a ukončete soubor.
Nyní změňte adresář na Logstash.
sudo cd /etc/logstash/
Vytvořte složku pro SSL:
sudo mkdir ssl
Vygenerujte SSL certifikát. Změňte elk-server na název svého serveru v níže uvedeném příkazu.
sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crtVytvořte následující soubory v „/etc/logstash/conf.d“.
sudo cd /etc/logstash/conf.d/vytvořte soubor filebeat-input pomocí vim.
sudo vim filebeat-input.confPřidejte k tomu následující řádky.
vstup { beats { port => 5443 type => syslog ssl => true ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt" ssl_key => "/etc/logstash/ssl/logstash-forwarder .key" }}Uložte a zavřete soubor a vytvořte nový konfigurační soubor.
sudo vim syslog-filter.confPřidejte k tomu následující obsah.
filtr { 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}" ] } datum { zápas => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } }}Uložte a ukončete soubor. Vytvořte elasticsearch výstupní soubor.
sudo vim output-elasticsearch.confPřidejte k tomu následující řádky.
output { elasticsearch { hosts => ["localhost:9200"] hosts => "localhost:9200" manage_template => false index => "%{[@metadata][beat]}-%{+RRRR.MM .dd}" document_type => "%{[@metadata][type]}" }}Pojďme povolit Logstash při spouštění a spustit službu:
sudo systemctl enable logstash.servicesudo systemctl start logstash.serviceKrok 6) Instalace a konfigurace Filebeat na klientských serverech
Začněte úpravou hostitelů soubor pro přidání položek hostitele elk. Nezapomeňte nahradit IP a jméno svými.
sudo vim /etc/hosts172.31.31.158 elk-serverUložte a ukončete soubor.
Stáhněte a nainstalujte veřejný podpisový klíč:
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -Nainstalujte „apt-transport-https“ a přidejte úložiště.
sudo apt-get install apt-transport-httpssudo echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.listAktualizujte úložiště a nainstalujte Filebeat.
aktualizace sudo apt-getsudo apt-get install filebeatUpravte konfigurace Filebeat.
sudo vim /etc/filebeat/filebeat.ymlNajděte následující řádek a upravte hodnotu na „true“.
povoleno:trueZde neupravujeme cestu protokolu a Filebeat přepošle všechny protokoly do složky „var/log“
cesty:- /var/log/*.logOdkomentujte následující řádky:
output.logstash:# Hostitelé serveru Logstash:["elk-server:5443"] ssl.certificate_authorities:["/etc/filebeat/logstash-forwarder.crt"]Komentář Elasticsearch:
#output.elasticsearch:# Pole hostitelů pro připojení. # hostitelů:["localhost:9200"]Uložte a ukončete soubor.
Nyní přejděte na server ELK a získejte obsah „logstash-forwarder.crt“
sudo cat /etc/logstash/ssl/logstash-forwarder.crt![]()
zkopírujte výstup a poté přejděte na Elk klient-server.
Vytvořte soubor certifikátu
sudo vim /etc/filebeat/logstash-forwarder.crtvložit zkopírovaný výstup a uložit a ukončit.
Povolit filebeat při spouštění systému Spusťte filebeat službu.
sudo systemctl enable filebeat.servicesudo systemctl start filebeat.serviceKrok 7) Procházení řídicího panelu Kibana
Spusťte svůj oblíbený webový prohlížeč a zadejte název domény následovaný uživatelským jménem a heslem.
http://elk.fosslinux.com![]()
Zadejte vytvořené uživatelské jméno a heslo. Měli byste vidět uvítací stránku Kibana. Klikněte na tlačítko „Prozkoumat vlastní“.
![]()
Měli byste být přesměrováni na domovskou stránku Kibana.
![]()
Klikněte na „Discover“ na levé straně. Klikněte na „Vytvořit vzor indexu“.
![]()
Poté definujte vzor indexu „filebeat-*“.
![]()
Klikněte na tlačítko Další, vyberte „@timestamp“ a klikněte na „Vytvořit vzor indexu“.
![]()
Vzor indexu by se měl vytvořit.
![]()
Kliknutím na nabídku „Discover“ zobrazíte protokoly serveru.
![]()
Protokoly se zobrazí podle časového razítka. Kliknutím na libovolné časové razítko jej rozbalíte a zobrazíte obsah souboru protokolu a jeho podrobnosti.
![]()
Pokud jste se dostali sem, znamená to, že jste úspěšně nainstalovali a nakonfigurovali ELK stack s filebeat. Máte nějaké problémy? Neváhejte a dejte nám vědět v komentářích níže.
Ubuntu