„ELK Stack“ yra populiariausia pasaulyje žurnalų tvarkymo platforma. Tai yra atviro kodo produktų, įskaitant „Elasticsearch“, „Logstash“ ir „Kibana“, kolekcija. Visus šiuos 3 produktus kuria, valdo ir prižiūri „Elastic“.
„ELK Stack“ yra galinga ir atviro kodo platforma, galinti valdyti didžiulį kiekį užregistruotų duomenų. Įvesties žurnalas paprastai yra iš grafinės žiniatinklio sąsajos (GUI).
- „Elasticsearch“ yra JSON pagrįstas paieškos ir analizės variklis, skirtas horizontaliam masteliui keisti ir lengviau valdyti.
- „Logstash“ yra serverio duomenų apdorojimo sąsaja, galinti vienu metu rinkti duomenis iš kelių šaltinių. Tada jis jį transformuoja ir išsiunčia duomenis į norimą saugyklą. Tai yra atvirojo kodo programa.
- „Kibana“ naudojama vizualizuoti jūsų duomenis ir naršyti „Elastic Stack“. Tai taip pat yra atvirojo kodo įrankis.
Įdiekite ir sukonfigūruokite „ELK Stack“ „Ubuntu“
Šioje pamokoje mes ketiname naudoti filebeat siųsti žurnalo duomenis į „Logstash“. „Beats“ yra lengvi duomenų siuntėjai, ir pirmiausia turėtume įdiegti agentą serveriuose.
1 žingsnis) Įdiekite „Java 8“
„ElasticSearch“ palaiko „Java 8“ ir „9“, tačiau bėda ta, kad „Logstash“ suderinama tik su „Java 8“. „Java 9“ dar nepalaikoma. Todėl ketiname įdiegti „Oracle Java 8“.
Paleiskite terminalą ir pridėkite „Oracle Java 8“ saugyklą, po to atnaujinkite sistemą ir atlikite faktinį diegimą.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get atnaujinimas
sudo apt install oracle-java8-set-default
Atkreipkite dėmesį į terminalą. Norėdami tęsti, turėsite sutikti su licencijos sutarties langais ir pasirinkti „Taip“. Baigę diegimą, galite patikrinti „Java“ versiją naudodami šias komandas:
.sudo java -versija
sudo echo $ JAVA_HOME
2 žingsnis) „Elasticsearch“ diegimas ir konfigūravimas
Pradėkime nuo wget komanda atsisiųsti „Elasticsearch“ ir viešąjį pasirašymo raktą:
sudo wget -qO - https: // artefaktai.elastinga.co / GPG-KEY-elasticsearch | sudo apt-key pridėti -
Antra, įdiekite paketą „apt-transport-https“ (to reikia „Debian“ pagrindu veikiantiems distros).
sudo apt-get įdiekite apt-transport-https
Pridėti saugyklą:
echo "deb https: // artefaktai.elastinga.bendrai / pakuotės / 6.x / apt stabilus pagrindinis "| sudo tee -a / etc / apt / sources.sąrašą.d / elastinga-6.x.sąrašą
Atnaujinkite atpirkimo sąrašą ir įdiekite paketą:
sudo apt-get atnaujinimas
sudo apt-get install elasticsearch
Pakeiskime „elasticsearch.yml “failas:
sudo vim / etc / elasticsearch / elasticsearch.yml
Uncomment „tinklas.priimančioji “ir„ http.uostas “. Reikėtų pridėti šią konfigūraciją:
tinklo.kompiuteris: localhost http.uostas: 9200
Tada išsaugokite ir uždarykite failą.
Norėdami įsitikinti, kad „ElasticSearch“ veikia sklandžiai, įjunkite jį įkrovos metu ir paleiskite „ElasticSearch“.
sudo systemctl įgalinti elasticsearch.paslaugą
sudo systemctl pradėti elasticsearch.paslaugą
Patikrinkite diegimą:
sudo curl -XGET 'localhost: 9200 /?graži'
3 žingsnis) Įdiekite „Kibana“
Pradėkime „Kibana“ diegimą dabar ir pakeiskite „Kibana“ nustatymus:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Komentuoti šias eilutes:
serverio.prievadas: 5601 serveris.pagrindinis kompiuteris: „localhost“ elasticsearch.URL: "http: // localhost: 9200"
Išsaugokite ir išeikite iš failo.
Įjunkite jį įkrovos metu ir paleiskite „Kibana“ paslaugą:
sudo systemctl įjungti kibaną.paslaugą
sudo systemctl pradėti kibana.paslaugą
4 žingsnis) „Nginx“ konfigūravimas kaip „Kibana“ atvirkštinis tarpinis serveris
Panašiose eilutėse įdiekime „Nginx“, sukonfigūruokite jį ir paleiskite paslaugą. Po vieną naudokite šias komandas:
sudo apt-get install nginx apache2-utils
Konfigūruoti virtualų pagrindinį kompiuterį:
sudo vim / etc / nginx / sites-available / briedis
Į failą įtraukite šią konfigūraciją:
serveris klausyti 80; serverio_vardas briedis.fosslinux.com; auth_basic "Ribota prieiga"; auth_basic_user_file / etc / nginx /.elkusersecret; vieta / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Atnaujinti $ http_upgrade; proxy_set_header Ryšio „atnaujinimas“; proxy_set_header Pagrindinis kompiuteris $; proxy_cache_bypass $ http_upgrade;
Sukurkite vartotojo ir slaptažodžio failą žiniatinklio naršyklės autentifikavimui:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Įveskite slaptažodį ir pakartokite. Patikrinkite „Nginx“ konfigūracijas:
sudo nginx -t
Įjunkite „Nginx“ sistemos įkrovos metu ir iš naujo paleiskite paslaugą:
sudo systemctl įjungti nginx.paslaugą
sudo systemctl paleiskite iš naujo „nginx“.paslaugą
5 žingsnis) „Logstash“ diegimas ir konfigūravimas
Įdiekite „Logstash“:
sudo apt-get install logstash
Čia mes sukursime SSL sertifikato raktą, kad apsaugotume žurnalo perkėlimą iš failo ritmo kliento. Prieš kurdami SSL sertifikatą, pakeiskite failą „hosts“.
sudo vim / etc / hosts
Į failą pridėkite šią eilutę. Nepamirškite pakeisti IP ir serverio vardo į savo.
172.31.31.158 briedžių serveris briedžių serveris
Baigę išsaugokite ir išeikite iš failo.
Dabar pakeiskite katalogą į „Logstash“.
sudo cd / etc / logstash /
Sukurkite aplanką SSL:
sudo mkdir ssl
Generuoti SSL sertifikatą. Žemiau esančioje komandoje pakeiskite elk-serverį į savo serverio pavadinimą.
sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.raktas -out ssl / logstash-forwarder.krt
Sukurkite šiuos failus „/ etc / logstash / conf.d “.
sudo cd / etc / logstash / conf.d /
sukurkite failo ritmo įvesties failą naudodami „vim“.
sudo vim failo įvestis.konf
Prie jo pridėkite šias eilutes.
įvestis beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.Raktas"
Išsaugokite ir uždarykite failą ir sukurkite naują konfigūracijos failą.
sudo vim syslog-filter.konf
Į jį įtraukite šį turinį.
filtras if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" gautas_at ","% @ timestamp "] add_field => [" gautas_iš ","% host "] data rungtynės => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Išsaugokite ir išeikite iš failo. Kurti elasticsearch išvesties failas.
sudo vim output-elasticsearch.konf
Prie jo pridėkite šias eilutes.
išvestis elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + YYYY.MM.dd "document_type =>"% [@ metadata] [type] "
Įjunkime „Logstash“ įkrovos metu ir paleiskite paslaugą:
sudo systemctl įjungti logstash.paslaugą
sudo systemctl pradėti logstash.paslaugą
6 žingsnis) „Filebeat“ diegimas ir konfigūravimas kliento serveriuose
Pradėkite redaguodami šeimininkai failą, kad pridėtumėte briedžių kompiuterio įrašus. Būtinai pakeiskite IP ir vardą savo.
sudo vim / etc / hosts
172.31.31.158 briedžių serveris
Išsaugokite ir išeikite iš failo.
Atsisiųskite ir įdiekite viešojo pasirašymo raktą:
sudo wget -qO - https: // artefaktai.elastinga.co / GPG-KEY-elasticsearch | sudo apt-key pridėti -
Įdiekite „apt-transport-https“ ir pridėkite repo.
sudo apt-get įdiekite apt-transport-https
sudo echo "deb https: // artefaktai.elastinga.bendrai / pakuotės / 6.x / apt stabilus pagrindinis "| sudo tee -a / etc / apt / sources.sąrašą.d / elastinga-6.x.sąrašą
Atnaujinkite repo ir įdiekite „Filebeat“.
sudo apt-get atnaujinimas
sudo apt-get install filebeat
Keisti „Filebeat“ konfigūracijas.
sudo vim / etc / filebeat / filebeat.yml
Raskite šią eilutę ir pakeiskite reikšmę į „true“.
įjungta: tiesa
Čia mes nemodifikuojame žurnalo kelio ir Filebeat persiųs visus žurnalus „var / log“ aplanke
keliai: - / var / log / *.žurnalas
Komentuokite šias eilutes:
produkcija.logstash: # „Logstash“ prieglobos kompiuteriai: ["elk-server: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentuoti Elastikos paieška:
# išvestis.elasticsearch: # Prieglobų masyvas, prie kurio galima prisijungti. # šeimininkų: ["localhost: 9200"]
Išsaugokite ir išeikite iš failo.
Dabar eikite į ELK serverį ir gaukite „logstash-forwarder“.crt “turinį
sudo cat / etc / logstash / ssl / logstash-forwarder.krt
nukopijuokite išvestį ir eikite į „Elk“ kliento serverį.
Sukurkite sertifikato failą
sudo vim / etc / filebeat / logstash-forwarder.krt
įterpti nukopijuotą išvestį ir išsaugoti bei išeiti.
Įgalinti filebeat sistemos paleidimo filebeat paslaugą.
sudo systemctl įgalinti failų ritmą.paslaugą
sudo systemctl paleisti failą.paslaugą
7 žingsnis) Naršykite „Kibana“ informacijos suvestinėje
Paleiskite mėgstamą žiniatinklio naršyklę ir įveskite domeno vardą bei vartotojo vardą ir slaptažodį.
http: // briedis.fosslinux.com
Įveskite sukurtą vartotojo vardą ir slaptažodį. Turėtumėte pamatyti „Kibana Welcome“ puslapį. Spustelėkite mygtuką „Naršyti savo“.
Būkite nukreipti į pagrindinį „Kibana“ puslapį.
Kairėje pusėje spustelėkite „Atrasti“. Spustelėkite „Sukurti indekso modelį“.
Tada apibrėžkite indekso modelį „filebeat- *“.
Spustelėkite „Kitas“ ir pasirinkite „@timestamp“ ir spustelėkite „Kurti indekso modelį“.
Indekso modelis turėtų būti sukurtas.
Norėdami pamatyti serverio žurnalus, spustelėkite meniu „Atrasti“.
Žurnalai bus rodomi pagal laiko žymą. Spustelėkite bet kurią laiko žymę, kad ją išplėstumėte ir pamatytumėte žurnalo failo turinį ir išsamią informaciją.
Jei pasiekėte čia, tai reiškia, kad sėkmingai įdiegėte ir sukonfigūravote ELK kaminą su „filebeat“. Turite klausimų? Nedvejodami praneškite mums toliau pateiktose pastabose.