ELK Stack je najbolj priljubljena platforma za upravljanje dnevnikov na svetu. Gre za zbirko odprtokodnih izdelkov, vključno z Elasticsearch, Logstash in Kibana. Vse te 3 izdelke razvija, vodi in vzdržuje Elastic.
ELK Stack je zmogljiva in odprtokodna platforma, ki lahko upravlja ogromno zabeleženih podatkov. Dnevnik vhodov je praviloma iz grafičnega spletnega vmesnika (GUI).
- Elasticsearch je iskalni in analitični mehanizem na osnovi JSON, namenjen horizontalni razširljivosti in lažjemu upravljanju.
- Logstash je strežniški vmesnik za obdelavo podatkov, ki ima možnost hkratnega zbiranja podatkov iz več virov. Nato ga pretvori in nato pošlje podatke na želeno zalogo. Je odprtokodna aplikacija.
- Kibana se uporablja za vizualizacijo vaših podatkov in krmarjenje po Elastic Stacku. Je tudi odprtokodno orodje.
Namestite in konfigurirajte ELK Stack na Ubuntu
V tej vadnici bomo uporabili filebeat za pošiljanje podatkov dnevnika v Logstash. Beats so lahki pošiljatelji podatkov in za začetek bi morali agent namestiti na strežnike.
1. korak) Namestitev Jave 8
ElasticSearch podpira Javi 8 in 9, težava pa je, da je Logstash združljiv samo z Javo 8. Java 9 še ni podprt. Zato bomo namestili Oracle Java 8.
Zaženite Terminal in dodajte repozitorij Oracle Java 8, čemur sledi sistemska posodobitev in dejanska namestitev.
sudo add-apt-repository ppa: webupd8team / java
posodobitev sudo apt-get
sudo apt namestite oracle-java8-set-default
Bodite pozorni na terminal. Za nadaljevanje se boste morali strinjati z licenčnimi okni in izbrati »da«. Po končani namestitvi lahko različico jave preverite z naslednjimi ukazi:
.sudo java -verzija
sudo echo $ JAVA_HOME
2. korak) Namestitev in konfiguracija Elasticsearch
Začnimo z wget ukaz za prenos Elasticsearch, ki mu sledi javni podpisni ključ:
sudo wget -qO - https: // artefakti.elastična.co / GPG-KEY-elasticsearch | sudo apt-key add -
Drugič, namestite paket apt-transport-https (to potrebujejo distrosi, ki temeljijo na Debianu).
sudo apt-get namestite apt-transport-https
Dodajte repozitorij:
echo "deb https: // artefakti.elastična.co / paketi / 6.x / apt stabilen glavni "| sudo tee -a / etc / apt / sources.seznam.d / elastična-6.x.seznam
Posodobite repo seznam in namestite paket:
posodobitev sudo apt-get
sudo apt-get namestite elasticsearch
Spremenimo »elastično iskanje.yml ”datoteka:
sudo vim / etc / elasticsearch / elasticsearch.yml
Odkomentiraj “omrežje.gostitelj «in» http.pristanišče ". Dodati je treba naslednjo konfiguracijo:
omrežje.gostitelj: localhost http.pristanišče: 9200
Nato shranite in zaprite datoteko.
Če želite zagotoviti, da ElasticSearch deluje nemoteno, ga omogočite ob zagonu in zaženite ElasticSearch.
sudo systemctl omogoči elastično iskanje.storitev
sudo systemctl start elastično iskanje.storitev
Preverite namestitev:
sudo curl -XGET 'localhost: 9200 /?lepa'
3. korak) Namestitev Kibane
Začnimo nameščati Kibana zdaj in spremenimo nastavitve Kibane:
sudo apt-get namestite kibana
sudo vim / etc / kibana / kibana.yml
Prekličite naslednje vrstice:
strežnik.vrata: strežnik 5601.gostitelj: "localhost" elastično iskanje.url: "http: // localhost: 9200"
Shranite in zapustite datoteko.
Omogočite ga ob zagonu in zaženite storitev Kibana:
sudo systemctl omogoči kibana.storitev
sudo systemctl start kibana.storitev
Korak 4) Konfiguriranje Nginxa kot povratnega proxyja za Kibana
V podobnih vrsticah namestite Nginx, ga konfigurirajte in zaženite storitev. Zaenkrat uporabite naslednje ukaze:
sudo apt-get namestite nginx apache2-utils
Konfiguriranje navideznega gostitelja:
sudo vim / etc / nginx / sites-available / elk
V datoteko dodajte naslednjo konfiguracijo:
strežnik poslušaj 80; ime_strežnika elk.fosslinux.com; auth_basic "Omejen dostop"; auth_basic_user_file / etc / nginx /.elkusersecret; lokacija / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Nadgradnja $ http_upgrade; proxy_set_header Povezava 'nadgradnja'; proxy_set_header Gostitelj $ host; proxy_cache_bypass $ http_upgrade;
Ustvarite datoteko uporabnika in gesla za preverjanje pristnosti spletnega brskalnika:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Vnesite geslo in ponovite. Preverite konfiguracije Nginx:
sudo nginx -t
Omogočite Nginx ob zagonu sistema in znova zaženite storitev:
sudo systemctl omogoči nginx.storitev
sudo systemctl znova zaženite nginx.storitev
5. korak) Namestitev in konfiguriranje Logstash
Namestite Logstash:
sudo apt-get namestite logstash
Tu bomo ustvarili ključ potrdila SSL za zaščito prenosa dnevnika iz odjemalca datotek. Spremenite datoteko »hosts«, preden ustvarite potrdilo SSL.
sudo vim / etc / hosts
V datoteko dodajte naslednjo vrstico. Ne pozabite spremeniti IP-ja in imena strežnika na svojega.
172.31.31.158 elk-strežnik elk-strežnik
Ko končate, datoteko shranite in zapustite.
Zdaj spremenite imenik v Logstash.
sudo cd / etc / logstash /
Ustvari mapo za SSL:
sudo mkdir ssl
Ustvari potrdilo SSL. V spodnjem ukazu spremenite elk-server v ime strežnika.
sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.ključ ssl / logstash-forwarder.crt
Ustvari naslednje datoteke znotraj “/ etc / logstash / conf.d ".
sudo cd / etc / logstash / conf.d /
ustvarite datoteko za vnos datotek z uporabo vim.
sudo vim filebeat-input.conf
Dodajte mu naslednje vrstice.
input beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.tipka "
Datoteko shranite in zaprite ter ustvarite novo konfiguracijsko datoteko.
sudo vim syslog-filter.conf
Dodajte mu naslednjo vsebino.
filter 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"]
Shranite in zapustite datoteko. Ustvari elastično iskanje izhodna datoteka.
sudo vim output-elasticsearch.conf
Dodajte mu naslednje vrstice.
izhod elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + LLLL.MM.dd "vrsta_dokumenta =>"% [@ metapodatki] [vrsta] "
Omogočimo Logstash ob zagonu in zaženimo storitev:
sudo systemctl omogoči logstash.storitev
sudo systemctl zaženi logstash.storitev
6. korak) Namestitev in konfiguriranje Filebeat na odjemalskih strežnikih
Začnite z urejanjem datoteke gostitelji datoteko za dodajanje vnosov gostiteljev elk. Ne pozabite zamenjati IP-ja in imena z vašim.
sudo vim / etc / hosts
172.31.31.158 elk-strežnik
Shranite in zapustite datoteko.
Prenesite in namestite javni podpisni ključ:
sudo wget -qO - https: // artefakti.elastična.co / GPG-KEY-elasticsearch | sudo apt-key add -
Namestite “apt-transport-https” in dodajte repo.
sudo apt-get namestite apt-transport-https
sudo echo "deb https: // artefakti.elastična.co / paketi / 6.x / apt stabilen glavni "| sudo tee -a / etc / apt / sources.seznam.d / elastična-6.x.seznam
Posodobite repo in namestite Filebeat.
posodobitev sudo apt-get
sudo apt-get namestite filebeat
Spremenite konfiguracije Filebeat.
sudo vim / etc / filebeat / filebeat.yml
Poiščite naslednjo vrstico in spremenite vrednost v »true«.
omogočeno: res
Tu ne spreminjamo poti dnevnika in Filebeat bo posredoval vse dnevnike znotraj mape »var / log«
poti: - / var / log / *.log
Odstavite komentar do naslednjih vrstic:
izhod.logstash: # Gostitelji Logstash gostitelji: ["elk-server: 5443"] ssl.potrdila_avtoritete: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentiraj Elastično iskanje:
#output.elasticsearch: # Niz gostiteljev za povezavo. # gostitelji: ["localhost: 9200"]
Shranite in zapustite datoteko.
Zdaj pojdite na strežnik ELK in poiščite »logstash-forwarder.crt ”
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
kopirajte izhod in pojdite na odjemalski strežnik Elk.
Ustvarite datoteko potrdila
sudo vim / etc / filebeat / logstash-forwarder.crt
vstavite kopirani izhod in shranite in zapustite.
Omogoči filebeat ob zagonu sistema Začni filebeat storitev.
sudo systemctl omogoči filebeat.storitev
sudo systemctl start filebeat.storitev
Korak 7) Brskanje po nadzorni plošči Kibana
Zaženite svoj najljubši spletni brskalnik in vnesite ime domene ter uporabniško ime in geslo.
http: // elk.fosslinux.com
Vnesite ustvarjeno uporabniško ime in geslo. Morali bi videti stran dobrodošlice Kibana. Kliknite gumb »Razišči svoje«.
Usmerjeni bi morali biti na domačo stran Kibana.
Na levi strani kliknite »Odkrij«. Kliknite »Ustvari vzorec indeksa«.
Nato določite vzorec indeksa “filebeat- *”.
Kliknite Naprej in izberite @timestamp 'in kliknite' Ustvari vzorec indeksa '.
Vzorec indeksa bi moral biti ustvarjen.
Kliknite meni »Odkrij«, da si ogledate dnevnike strežnika.
Dnevniki bodo prikazani glede na časovni žig. Kliknite kateri koli časovni žig, da ga razširite in si ogledate vsebino dnevniške datoteke in njene podrobnosti.
Če ste prišli sem, to pomeni, da ste uspešno namestili in konfigurirali sklad ELK z datotečnim utripom. Imam kakšne težave? V spodnjih komentarjih nam to sporočite.