ELK Stack je nejpopulárnější platforma pro správu protokolů na světě. Jedná se o kolekci produktů s otevřeným zdrojovým kódem, včetně Elasticsearch, Logstash a Kibana. Všechny tyto 3 produkty jsou vyvíjeny, spravovány a udržovány společností Elastic.
ELK Stack je výkonná a otevřená zdrojová platforma, která dokáže spravovat obrovské množství zaznamenaných dat. Protokol vstupů je obecně z grafického webového rozhraní (GUI).
- Elasticsearch je vyhledávací a analytický 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é ji transformuje a poté odešle data do požadované schránky. Je to aplikace s otevřeným zdrojovým kódem.
- Kibana se používá k vizualizaci vašich dat a navigaci v Elastic Stack. Je to také nástroj s otevřeným zdrojovým kódem.
Nainstalujte a nakonfigurujte ELK Stack na Ubuntu
V tomto kurzu použijeme filebeat k odeslání dat protokolu do Logstash. Beats jsou lehcí přepravci dat a nejprve 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
sudo apt-get aktualizace
sudo apt install oracle-java8-set-default
Věnujte pozornost terminálu. Budete muset souhlasit s okny licenční smlouvy a pokračovat „ano“. Po dokončení instalace můžete zkontrolovat verzi Java pomocí následujících příkazů:
.sudo java -verze
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: // artefakty.elastický.co / GPG-KEY-elasticsearch | sudo apt-key přidat -
Za druhé nainstalujte balíček apt-transport-https (to vyžaduje distribuce založená na Debianu).
sudo apt-get install apt-transport-https
Přidejte úložiště:
echo "deb https: // artefakty.elastický.co / balíčky / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.seznam.d / elastický-6.X.seznam
Aktualizujte repo seznam a nainstalujte balíček:
sudo apt-get aktualizace
sudo apt-get install elasticsearch
Pojďme upravit „elasticsearch.yml ”soubor:
sudo vim / etc / elasticsearch / elasticsearch.yml
Odkomentujte „síť.hostitel “a„ http.přístav". Měla by být přidána následující konfigurace:
síť.hostitel: localhost http.port: 9200
Poté soubor uložte a zavřete.
Abyste se ujistili, že ElasticSearch funguje bez problémů, povolte jej při spuštění a spusťte ElasticSearch.
sudo systemctl povolit elasticsearch.servis
sudo systemctl spustit elasticsearch.servis
Zkontrolujte instalaci:
sudo curl -XGET 'localhost: 9200 /?dosti'
Krok 3) Instalace Kibany
Začněme nyní instalovat Kibanu a upravme nastavení Kibany:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Odkomentujte následující řádky:
serveru.port: 5601 server.hostitel: "localhost" elasticsearch.url: "http: // localhost: 9200"
Uložte a ukončete soubor.
Povolte jej při spuštění a spusťte službu Kibana:
sudo systemctl povolit kibanu.servis
sudo systemctl start kibana.servis
Krok 4) Konfigurace Nginx jako reverzní proxy pro Kibanu
V podobných řádcích si pojďme nainstalovat Nginx, nakonfigurovat jej a spustit službu. Postupně použijte následující příkazy:
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 los.fosslinux.com; auth_basic "Omezený přístup"; auth_basic_user_file / etc / nginx /.elkusersecret; umístění / proxy_pass http: // localhost: 5601; proxy_http_version 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ým prohlížečem:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Zadejte heslo a opakujte. Zkontrolujte konfigurace Nginx:
sudo nginx -t
Povolte Nginx při spuštění systému a restartujte službu:
sudo systemctl povolit nginx.servis
sudo systemctl restart nginx.servis
Krok 5) Instalace a konfigurace Logstash
Nainstalujte Logstash:
sudo apt-get install logstash
Tady vygenerujeme klíč certifikátu SSL pro bezpečný přenos protokolu z klienta beat souboru. Před vytvořením certifikátu SSL upravte soubor „hosts“.
sudo vim / etc / hosts
Přidejte následující řádek do souboru. Nezapomeňte změnit IP a název serveru na váš.
172.31.31.158 elk-server elk-server
Po dokončení soubor uložte a ukončete.
Nyní změňte adresář na Logstash.
sudo cd / etc / logstash /
Vytvořte složku pro SSL:
sudo mkdir ssl
Vygenerujte certifikát SSL. V níže uvedeném příkazu změňte elk-server na název serveru.
sudo openssl req -subj '/ CN = elk-server /' -x509 -dny 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.key-out ssl / logstash-forwarder.crt
Vytvořte následující soubory uvnitř „/ etc / logstash / conf.d “.
sudo cd / etc / logstash / conf.d /
vytvořte soubor filebeat-input pomocí vim.
sudo vim filebeat-input.konf
Přidejte k tomu následující řádky.
input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.klíč "
Uložte a zavřete soubor a vytvořte nový konfigurační soubor.
sudo vim syslog-filter.konf
Přidejte do ní 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 => [" receive_at ","% @ timestamp "] add_field => [" receive_from ","% host "] datum match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Uložte a ukončete soubor. Vytvořit elasticsearch výstupní soubor.
sudo vim output-elasticsearch.konf
Přidejte k tomu následující řádky.
výstup elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + RRRR.MM.dd "document_type =>"% [@ metadata] [type] "
Povolíme Logstash při spuštění a spustíme službu:
sudo systemctl povolit logstash.servis
sudo systemctl spustit logstash.servis
Krok 6) Instalace a konfigurace Filebeat na klientských serverech
Začněte úpravou souboru hostitelé soubor pro přidání položek elk hostitele. Nezapomeňte nahradit IP a jméno svým.
sudo vim / etc / hosts
172.31.31.158 losů-server
Uložte a ukončete soubor.
Stáhněte a nainstalujte si veřejný podpisový klíč:
sudo wget -qO - https: // artefakty.elastický.co / GPG-KEY-elasticsearch | sudo apt-key přidat -
Nainstalujte „apt-transport-https“ a přidejte repo.
sudo apt-get install apt-transport-https
sudo echo "deb https: // artefakty.elastický.co / balíčky / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.seznam.d / elastický-6.X.seznam
Aktualizujte repo a nainstalujte Filebeat.
sudo apt-get aktualizace
sudo apt-get install filebeat
Upravte konfigurace Filebeat.
sudo vim / etc / filebeat / filebeat.yml
Najděte následující řádek a upravte hodnotu na „true“.
povoleno: true
Tady neměníme cestu protokolu a Filebeat přepošle všechny protokoly ve složce „var / log“
cesty: - / var / log / *.log
Odkomentujte následující řádky:
výstup.logstash: # Hostitelé Logstash hostitelé: ["elk-server: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentář Elasticsearch:
#výstup.elasticsearch: # Pole hostitelů, ke kterým se chcete připojit. # hostitelé: ["localhost: 9200"]
Uložte a ukončete soubor.
Nyní přejděte na server ELK a získejte „logstash-forwarder.crt ”obsah
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
zkopírujte výstup a přejděte na klientský server Elk.
Vytvořte soubor certifikátu
sudo vim / etc / filebeat / logstash-forwarder.crt
vložte zkopírovaný výstup a uložte a ukončete.
Umožnit filebeat při spuštění systému Start filebeat servis.
sudo systemctl povolit filebeat.servis
sudo systemctl start filebeat.servis
Krok 7) Procházení 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ěla by se zobrazit úvodní stránka Kibana. Klikněte na tlačítko „Prozkoumat mé vlastní“.
Měli byste být přesměrováni na domovskou stránku Kibana.
Na levé straně klikněte na „Objevit“. Klikněte na „Vytvořit indexový vzor“.
Poté definujte vzor indexu „filebeat- *“.
Klikněte na další a vyberte @timestamp 'a klikněte na' Vytvořit indexový vzor '.
Vzor indexu by měl být vytvořen.
Kliknutím na nabídku „Objevit“ 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 zásobník ELK pomocí filebeat. Mám nějaké problémy? Neváhejte a dejte nám vědět v komentářích níže.