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.crtzkopí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.comZadejte 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