ELK Stack je najpopulárnejšia platforma na správu protokolov na svete. Je to kolekcia produktov s otvoreným zdrojovým kódom vrátane Elasticsearch, Logstash a Kibana. Všetky tieto 3 produkty sú vyvíjané, spravované a udržiavané spoločnosťou Elastic.
ELK Stack je výkonná a otvorená zdrojová platforma, ktorá dokáže spravovať obrovské množstvo zaznamenaných údajov. Denník vstupov je zvyčajne z grafického webového rozhrania (GUI).
- Elasticsearch je vyhľadávací a analytický nástroj založený na JSON, určený pre horizontálnu škálovateľnosť a ľahšiu správu.
- Logstash je rozhranie na spracovanie údajov na strane servera, ktoré má schopnosť zhromažďovať údaje z niekoľkých zdrojov súčasne. Potom ho transformuje a potom údaje pošle do požadovaného priečinka. Je to open source aplikácia.
- Kibana sa používa na vizualizáciu vašich údajov a navigáciu v elastickom zásobníku. Je to tiež nástroj s otvoreným zdrojom.
Nainštalujte a nakonfigurujte ELK Stack na Ubuntu
V tomto výučbe budeme používať filebeat na odoslanie údajov z denníka do aplikácie Logstash. Beats sú ľahkí odosielatelia dát a na začiatok by sme si mali nainštalovať agenta na servery.
Krok 1) Inštalácia Java 8
ElasticSearch podporuje Java 8 a 9, ale problém je, že Logstash je kompatibilný iba s Java 8. Java 9 zatiaľ nie je podporovaná. Preto sa chystáme nainštalovať Oracle Java 8.
Spustite terminál a pridajte úložisko Oracle Java 8, potom aktualizáciu systému a skutočnú inštaláciu.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get aktualizácia
sudo apt nainštalovať oracle-java8-set-default
Venujte pozornosť terminálu. Budete musieť súhlasiť s oknami licenčných zmlúv a pokračovať „áno“. Po dokončení inštalácie môžete skontrolovať verziu Java pomocou nasledujúcich príkazov:
.sudo java -verzia
sudo echo $ JAVA_HOME
Krok 2) Inštalácia a konfigurácia Elasticsearch
Začnime s wget príkaz na stiahnutie Elasticsearch nasledovaný verejným podpisovým kľúčom:
sudo wget -qO - https: // artefakty.elastické.co / GPG-KEY-elasticsearch | sudo apt-key pridať -
Po druhé, nainštalujte si balík apt-transport-https (vyžaduje to distribúcia založená na Debiane).
sudo apt-get nainštalovať apt-transport-https
Pridajte úložisko:
echo "deb https: // artefakty.elastické.co / balíčky / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.zoznam.d / elastický-6.X.zoznam
Aktualizujte repo zoznam a nainštalujte balík:
sudo apt-get aktualizácia
sudo apt-get nainštalovať elasticsearch
Upravme „elasticsearch.yml ”súbor:
sudo vim / etc / elasticsearch / elasticsearch.yml
Odkomentujte „sieť.hostiteľ “a„ http.prístav “. Mala by sa pridať nasledujúca konfigurácia:
sieť.hostiteľ: localhost http.port: 9200
Ďalej súbor uložte a zatvorte.
Ak chcete zaistiť bezproblémové fungovanie ElasticSearch, povoľte ho pri štarte a spustite ElasticSearch.
sudo systemctl povoliť elasticsearch.služby
sudo systemctl spusti elasticsearch.služby
Skontrolujte inštaláciu:
sudo curl -XGET 'localhost: 9200 /?pekne '
Krok 3) Inštalácia Kibany
Začnime teraz inštalovať Kibanu a upravme nastavenia Kibany:
sudo apt-get nainštalovať kibana
sudo vim / etc / kibana / kibana.yml
Odkomentujte nasledujúce riadky:
server.port: 5601 server.hostiteľ: "localhost" elasticsearch.url: "http: // localhost: 9200"
Uložte a ukončite súbor.
Povoľte to pri štarte a spustite službu Kibana:
sudo systemctl povoliť kibanu.služby
sudo systemctl start kibana.služby
Krok 4) Konfigurácia Nginxu ako reverzného proxy pre Kibanu
V podobných riadkoch si nainštalujme Nginx, nakonfigurujme ho a spustime službu. Postupne použite nasledujúce príkazy:
sudo apt-get nainštalovať nginx apache2-utils
Konfigurácia virtuálneho hostiteľa:
sudo vim / etc / nginx / sites-available / elk
Pridajte do súboru nasledujúcu konfiguráciu:
server počúvať 80; loser_name servera.fosslinux.com; auth_basic "Obmedzený prístup"; auth_basic_user_file / etc / nginx /.elkusersecret; umiestnenie / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Upgrade $ http_upgrade; proxy_set_header Pripojenie 'upgrade'; proxy_set_header Hostiteľ $ hostiteľ; proxy_cache_bypass $ http_upgrade;
Vytvorte súbor používateľa a hesla na overenie pomocou webového prehliadača:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Zadajte heslo a opakujte. Skontrolujte konfigurácie Nginx:
sudo nginx -t
Povoliť Nginx pri štarte systému a reštartovať službu:
sudo systemctl povoliť nginx.služby
sudo systemctl restart nginx.služby
Krok 5) Inštalácia a konfigurácia protokolu Logstash
Nainštalujte Logstash:
sudo apt-get nainštalovať logstash
Tu vygenerujeme kľúč certifikátu SSL na bezpečný prenos protokolu z klienta File Beat. Pred vytvorením certifikátu SSL upravte súbor „hosts“.
sudo vim / etc / hosts
Pridajte nasledujúci riadok do súboru. Nezabudnite zmeniť IP a názov servera na svoj.
172.31.31.158 elk-server elk-server
Po dokončení súbor uložte a ukončite.
Teraz zmeňte adresár na Logstash.
sudo cd / etc / logstash /
Vytvorte priečinok pre SSL:
sudo mkdir ssl
Vygenerujte certifikát SSL. V nasledujúcom príkaze zmeňte server elk na názov svojho servera.
sudo openssl req -subj '/ CN = elk-server /' -x509 -dní 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.key-out ssl / logstash-forwarder.crt
Vytvorte nasledujúce súbory vo vnútri „/ etc / logstash / conf.d “.
sudo cd / etc / logstash / conf.d /
vytvorte súbor filebeat-input pomocou vim.
sudo vim filebeat-input.konf
Pridajte k tomu nasledujúce riadky.
vstup beats port => 5443 typ => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.kľúč "
Uložte a zatvorte súbor a vytvorte nový konfiguračný súbor.
sudo vim syslog-filter.konf
Pridajte do nej nasledujúci obsah.
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 "] dátum match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Uložte a ukončite súbor. Vytvoriť elasticsearch výstupný súbor.
sudo vim output-elasticsearch.konf
Pridajte k tomu nasledujúce riadky.
výstup elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + RRRR.MM.dd "document_type =>"% [@ metadata] [type] "
Poďme povoliť Logstash pri štarte a spustiť službu:
sudo systemctl povoliť logstash.služby
sudo systemctl spusti logstash.služby
Krok 6) Inštalácia a konfigurácia súboru Filebeat na klientskych serveroch
Začnite úpravou súboru hostitelia súbor na pridanie losových položiek hostiteľa. Nezabudnite nahradiť adresu IP a meno svojim menom.
sudo vim / etc / hosts
172.31.31.158 losov server
Uložte a ukončite súbor.
Stiahnite a nainštalujte si verejný podpisový kľúč:
sudo wget -qO - https: // artefakty.elastické.co / GPG-KEY-elasticsearch | sudo apt-key pridať -
Nainštalujte si „apt-transport-https“ a pridajte repo.
sudo apt-get nainštalovať apt-transport-https
sudo echo "deb https: // artefakty.elastické.co / balíčky / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.zoznam.d / elastický-6.X.zoznam
Aktualizujte repo a nainštalujte Filebeat.
sudo apt-get aktualizácia
sudo apt-get nainštalovať filebeat
Upravte konfigurácie Filebeat.
sudo vim / etc / filebeat / filebeat.yml
Nájdite nasledujúci riadok a upravte hodnotu na „true“.
povolené: pravda
Tu nemeníme cestu protokolu a Filebeat preposiela všetky záznamy v priečinku „var / log“
cesty: - / var / log / *.log
Odkomentujte nasledujúce riadky:
výkon.logstash: # Hostitelia Logstash hostitelia: ["elk-server: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentovať Elasticsearch:
#výkon.elasticsearch: # Pole hostiteľov, ku ktorým sa chcete pripojiť. # hostitelia: ["localhost: 9200"]
Uložte a ukončite súbor.
Teraz choďte na server ELK a získajte „logstash-forwarder.crt “obsah
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
skopírujte výstup a potom choďte na server Elk client-server.
Vytvorte súbor s certifikátom
sudo vim / etc / filebeat / logstash-forwarder.crt
vložte skopírovaný výstup a uložte a ukončite.
Povoliť filebeat pri štarte systému Štart filebeat služby.
sudo systemctl povoliť filebeat.služby
sudo systemctl start filebeat.služby
Krok 7) Prehliadanie panelu Kibana
Spustite svoj obľúbený webový prehliadač a zadajte názov domény nasledovaný používateľským menom a heslom.
http: // elk.fosslinux.com
Zadajte vytvorené užívateľské meno a heslo. Mali by ste vidieť úvodnú stránku Kibana. Kliknite na tlačidlo „Preskúmať moje vlastné“.
Mali by ste byť presmerovaní na domovskú stránku Kibana.
Na ľavej strane kliknite na „Objaviť“. Kliknite na možnosť „Vytvoriť vzor indexu“.
Potom definujte vzor indexu „filebeat- *“.
Kliknite na ďalší a zvoľte @timestamp 'a kliknite na' Vytvoriť vzor registra '.
Mal by sa vytvoriť vzor indexu.
Kliknutím na ponuku „Objaviť“ zobrazíte protokoly servera.
Denníky sa zobrazia podľa časovej pečiatky. Kliknite na ľubovoľnú časovú pečiatku, aby ste ju rozbalili, a zobrazil sa obsah protokolu a jeho podrobnosti.
Ak ste sa dostali sem, znamená to, že ste úspešne nainštalovali a nakonfigurovali zásobník ELK pomocou filebeat. Mám nejaké problémy? Neváhajte a dajte nám vedieť v komentároch nižšie.