ELK Stack najpopularnija je svjetska platforma za upravljanje zapisnicima. To je kolekcija proizvoda otvorenog koda, uključujući Elasticsearch, Logstash i Kibana. Sva ova 3 proizvoda razvija, vodi i održava Elastic.
ELK Stack je moćna platforma s otvorenim kodom koja može upravljati velikom količinom evidentiranih podataka. Dnevnik unosa uglavnom je s grafičkog web sučelja (GUI).
- Elasticsearch je JSON-ov pretraživač i analitički mehanizam namijenjen horizontalnoj skalabilnosti i lakšem upravljanju.
- Logstash je sučelje za obradu podataka na strani poslužitelja koje može istovremeno prikupljati podatke iz nekoliko izvora. Zatim ga transformira, a zatim šalje podatke na vašu željenu zalihu. To je aplikacija otvorenog koda.
- Kibana se koristi za vizualizaciju podataka i kretanje elastičnim stogom. To je i alat otvorenog koda.
Instalirajte i konfigurirajte ELK Stack na Ubuntuu
U ovom uputstvu ćemo koristiti filebeat za slanje podataka dnevnika u Logstash. Beats su lagani otpremači podataka i za početak bismo trebali instalirati agenta na poslužitelje.
Korak 1) Instaliranje Jave 8
ElasticSearch podržava Javu 8 i 9, ali problem je što je Logstash kompatibilan samo s Javom 8. Java 9 još nije podržana. Stoga ćemo instalirati Oracle Java 8.
Pokrenite Terminal i dodajte Oracle Java 8 spremište, nakon čega slijedi ažuriranje sustava i stvarna instalacija.
sudo add-apt-repozitorij ppa: webupd8team / java
sudo apt-get ažuriranje
sudo apt instalirati oracle-java8-set-default
Obratite pažnju na Terminal. Morat ćete se složiti s prozorima ugovora o licenci i za nastavak odabrati "da". Nakon završetka instalacije možete provjeriti inačicu Java pomoću sljedećih naredbi:
.sudo java -verzija
sudo echo $ JAVA_HOME
Korak 2) Instaliranje i konfiguriranje Elasticsearch
Krenimo od wget naredba za preuzimanje Elasticsearch nakon čega slijedi javni ključ za potpisivanje:
sudo wget -qO - https: // artefakti.elastičan.co / GPG-KEY-elasticsearch | sudo apt-key dodati -
Drugo, instalirajte paket apt-transport-https (ovo treba distribucijama na temelju Debiana).
sudo apt-get instalirati apt-transport-https
Dodajte spremište:
echo "deb https: // artefakti.elastičan.co / paketi / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.popis.d / elastična-6.x.popis
Ažurirajte popis repo i instalirajte paket:
sudo apt-get ažuriranje
sudo apt-get instaliraj elasticsearch
Izmijenimo „elastično traženje.yml ”datoteka:
sudo vim / etc / elasticsearch / elasticsearch.yml
Uncomment “mreža.host “i„ http.luka". Treba dodati slijedeću konfiguraciju:
mreža.domaćin: localhost http.luka: 9200
Zatim spremite i zatvorite datoteku.
Da biste bili sigurni da ElasticSearch radi bez problema, omogućite ga prilikom pokretanja i pokrenite ElasticSearch.
sudo systemctl omogućiti elastično pretraživanje.servis
sudo systemctl pokretanje elastičnog pretraživanja.servis
Provjerite instalaciju:
sudo curl -XGET 'localhost: 9200 /?prilično'
Korak 3) Instaliranje Kibane
Krenimo odmah instalirati Kibana i izmijenimo postavke Kibane:
sudo apt-get instalirati kibana
sudo vim / etc / kibana / kibana.yml
Otkomentirajte sljedeće redove:
poslužitelju.luka: 5601 poslužitelj.domaćin: "localhost" elastično pretraživanje.url: "http: // localhost: 9200"
Spremite i zatvorite datoteku.
Omogućite ga prilikom pokretanja i pokrenite uslugu Kibana:
sudo systemctl omogućiti kibana.servis
sudo systemctl start kibana.servis
Korak 4) Konfiguriranje Nginxa kao obrnutog proxyja za Kibana
U sličnim redovima, instalirajmo Nginx, konfigurirajmo ga i pokrenimo uslugu. Upotrijebite sljedeće naredbe jednu po jednu:
sudo apt-get instalirati nginx apache2-utils
Konfiguriranje virtualnog hosta:
sudo vim / etc / nginx / sites-available / elk
U datoteku dodajte sljedeću konfiguraciju:
poslužitelj preslušaj 80; ime_poslužitelja elk.fosslinux.com; auth_basic "Ograničeni pristup"; auth_basic_user_file / etc / nginx /.elkusersecret; lokacija / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Nadogradnja $ http_upgrade; proxy_set_header Veza 'nadogradnja'; proxy_set_header Host $ host; proxy_cache_bypass $ http_upgrade;
Stvorite datoteku korisnika i lozinke za provjeru autentičnosti web preglednika:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Unesite lozinku i ponovite. Provjerite konfiguracije Nginxa:
sudo nginx -t
Omogućite Nginx pri pokretanju sustava i ponovno pokrenite uslugu:
sudo systemctl omogućiti nginx.servis
sudo systemctl ponovno pokrenite nginx.servis
Korak 5) Instaliranje i konfiguriranje Logstasha
Instalirajte Logstash:
sudo apt-get instalirati logstash
Ovdje ćemo generirati ključ SSL certifikata kako bismo osigurali prijenos dnevnika s klijenta za beat datoteke. Izmijenite datoteku "hosts" prije stvaranja SSL certifikata.
sudo vim / etc / hosts
U datoteku dodajte sljedeći redak. Obavezno promijenite IP i ime poslužitelja u svoje.
172.31.31.158 elk-poslužitelj elk-poslužitelj
Po završetku spremite i zatvorite datoteku.
Sada promijenite direktorij u Logstash.
sudo cd / etc / logstash /
Stvorite mapu za SSL:
sudo mkdir ssl
Generirajte SSL certifikat. Promijenite elk-server u svoje ime poslužitelja u naredbi ispod.
sudo openssl req -subj '/ CN = elk-server /' -x509 -dana 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.odabir ključa ssl / logstash-forwarder.crt
Stvorite sljedeće datoteke u “/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
stvoriti filebeat-input datoteku pomoću vim.
sudo vim filebeat-input.konf
Dodajte joj sljedeće retke.
input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.ključ"
Spremite i zatvorite datoteku i stvorite novu konfiguracijsku datoteku.
sudo vim syslog-filter.konf
Dodajte mu sljedeći sadržaj.
filtar 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 match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Spremite i zatvorite datoteku. Stvoriti elastično pretraživanje izlazna datoteka.
sudo vim output-elasticsearch.konf
Dodajte joj sljedeće retke.
izlaz elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metapodaci] [beat] -% + GGGG.MM.dd "vrsta_dokumenta =>"% [@ metapodaci] [vrsta] "
Omogućimo Logstash prilikom pokretanja i pokrenimo uslugu:
sudo systemctl omogućiti logstash.servis
sudo systemctl pokreni logstash.servis
Korak 6) Instaliranje i konfiguriranje Filebeat-a na klijentskim poslužiteljima
Počnite s uređivanjem domaćini datoteka za dodavanje unosa hosta elk. Obavezno zamijenite IP i ime vašim.
sudo vim / etc / hosts
172.31.31.158 elk-poslužitelj
Spremite i zatvorite datoteku.
Preuzmite i instalirajte javni ključ za potpisivanje:
sudo wget -qO - https: // artefakti.elastičan.co / GPG-KEY-elasticsearch | sudo apt-key dodati -
Instalirajte “apt-transport-https” i dodajte repo.
sudo apt-get instalirati apt-transport-https
sudo echo "deb https: // artefakti.elastičan.co / paketi / 6.x / apt stable main "| sudo tee -a / etc / apt / sources.popis.d / elastična-6.x.popis
Ažurirajte repo i instalirajte Filebeat.
sudo apt-get ažuriranje
sudo apt-get instalirati filebeat
Izmijenite konfiguracije Filebeat-a.
sudo vim / etc / filebeat / filebeat.yml
Pronađite sljedeći redak i promijenite vrijednost u "true".
omogućeno: istina
Ovdje ne mijenjamo put dnevnika i Filebeat proslijedit će sve zapisnike unutar mape “var / log”
staze: - / var / log / *.zapisnik
Otkomentirajte sljedeće redove:
izlaz.logstash: # Domaćini logstasha domaćini: ["elk-server: 5443"] ssl.certifikat_autorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentar Elasticsearch:
#izlaz.elasticsearch: # Niz hostova za povezivanje. # domaćina: ["localhost: 9200"]
Spremite i zatvorite datoteku.
Sada idite na ELK poslužitelj i nabavite “logstash-forwarder.crt ”sadržaja
sudo mačka / etc / logstash / ssl / logstash-forwarder.crt
kopirajte izlaz i zatim idite na Elk klijent-poslužitelj.
Stvorite datoteku certifikata
sudo vim / etc / filebeat / logstash-forwarder.crt
umetnite kopirani izlaz i spremite i izađite.
Omogućiti filebeat pri pokretanju sustava Start filebeat servis.
sudo systemctl omogućiti filebeat.servis
sudo systemctl start filebeat.servis
Korak 7) Pregledavanje nadzorne ploče Kibana
Pokrenite svoj omiljeni web preglednik i unesite naziv domene, a zatim korisničko ime i lozinku.
http: // elk.fosslinux.com
Unesite kreirano korisničko ime i lozinku. Trebali biste vidjeti stranicu dobrodošlice Kibana. Kliknite gumb "Istražite svoje".
Trebali biste biti upućeni na početnu stranicu Kibana.
Kliknite "Otkrij" na lijevoj strani. Kliknite "Stvori uzorak indeksa".
Zatim definirajte uzorak indeksa "filebeat- *".
Kliknite dalje i odaberite @timestamp 'i kliknite' Stvori uzorak indeksa '.
Trebao bi se stvoriti uzorak indeksa.
Kliknite izbornik "Otkrivanje" da biste vidjeli zapisnike poslužitelja.
Zapisnici će se prikazivati prema vremenskoj oznaci. Kliknite bilo koju vremensku oznaku da biste je proširili i vidjeli sadržaj datoteke dnevnika i detalje.
Ako ste stigli ovdje, znači da ste uspješno instalirali i konfigurirali ELK stog s filebeatom. Imam problema? Slobodno nas obavijestite u komentarima ispod.