ELK Stack ir pasaulē populārākā baļķu pārvaldības platforma. Tā ir atvērta pirmkoda produktu kolekcija, tostarp Elasticsearch, Logstash un Kibana. Visus šos 3 produktus izstrādā, pārvalda un uztur Elastic.
ELK Stack ir spēcīga un atvērta pirmkoda platforma, kas var pārvaldīt lielu daudzumu reģistrēto datu. Ieejas žurnāls parasti ir no grafiskā tīmekļa interfeisa (GUI).
- Elasticsearch ir uz JSON balstīts meklēšanas un analīzes dzinējs, kas paredzēts horizontālai mērogošanai un vienkāršākai pārvaldībai.
- Logstash ir servera puses datu apstrādes interfeiss, kas spēj vienlaicīgi apkopot datus no vairākiem avotiem. Pēc tam tas to pārveido un pēc tam nosūta datus uz vēlamo atlicināt. Tā ir atvērtā koda lietojumprogramma.
- Kibana tiek izmantots, lai vizualizētu jūsu datus un virzītos pa elastīgo kaudzi. Tas ir arī atvērtā koda rīks.
Instalējiet un konfigurējiet ELK Stack Ubuntu
Šajā apmācībā mēs to izmantosim filebeat lai nosūtītu žurnāla datus uz Logstash. Beats ir viegls datu nosūtītājs, un vispirms mums vajadzētu instalēt aģentu serveros.
1. darbība. Java 8 instalēšana
ElasticSearch atbalsta Java 8 un 9, taču problēma ir tā, ka Logstash ir saderīgs tikai ar Java 8. Java 9 vēl netiek atbalstīts. Tāpēc mēs instalēsim Oracle Java 8.
Palaidiet termināli un pievienojiet Oracle Java 8 repozitoriju, kam seko sistēmas atjaunināšana un faktiskā instalēšana.
sudo add-apt-repository ppa: webupd8team / java
sudo apt-get atjauninājums
sudo apt instalēt oracle-java8-set-default
Pievērsiet uzmanību terminālim. Jums būs jāpiekrīt licences līguma logiem un, lai turpinātu, atlasiet “jā”. Kad instalēšana ir pabeigta, varat pārbaudīt Java versiju, izmantojot šādas komandas:
.sudo java -versija
sudo echo $ JAVA_HOME
2. solis. Elasticsearch instalēšana un konfigurēšana
Sāksim ar wget komanda lejupielādēt Elasticsearch, kam seko publiskā parakstīšanas atslēga:
sudo wget -qO - https: // artefakti.elastīgs.co / GPG-KEY-elasticsearch | sudo apt-key pievienot -
Otrkārt, instalējiet paketi apt-transport-https (tas ir nepieciešams Debian bāzētiem distros).
sudo apt-get instalēt apt-transport-https
Pievienojiet repozitoriju:
echo "deb https: // artefakti.elastīgs.co / paketes / 6.x / apt stabilais galvenais "| sudo tee -a / etc / apt / sources.sarakstā.d / elastīgs-6.x.sarakstā
Atjauniniet repo sarakstu un instalējiet pakotni:
sudo apt-get atjauninājums
sudo apt-get install elasticsearch
Pārveidosim “elasticsearch.yml ”fails:
sudo vim / etc / elasticsearch / elasticsearch.yml
Nekomentēt “tīkls.resursdators ”un“ http.osta ”. Jāpievieno šāda konfigurācija:
tīklā.resursdators: localhost http.osta: 9200
Pēc tam saglabājiet un aizveriet failu.
Lai pārliecinātos, ka ElasticSearch darbojas nevainojami, iespējojiet to sāknēšanas laikā un sāciet ElasticSearch.
sudo systemctl iespējot elasticsearch.apkalpošana
sudo systemctl sākt elasticsearch.apkalpošana
Pārbaudiet instalēšanu:
sudo curl -XGET 'localhost: 9200 /?glīts '
3. solis) Kibana instalēšana
Sāksim instalēt Kibana tūlīt un modificēsim Kibana iestatījumus:
sudo apt-get install kibana
sudo vim / etc / kibana / kibana.yml
Komentēt šādas rindas:
serveris.ports: 5601 serveris.resursdators: "localhost" elasticsearch.URL: "http: // localhost: 9200"
Saglabājiet un izejiet no faila.
Iespējojiet to sāknēšanas laikā un palaidiet pakalpojumu Kibana:
sudo systemctl iespējot kibanu.apkalpošana
sudo systemctl start kibana.apkalpošana
4. solis) Nginx konfigurēšana kā Kibana apgrieztais starpniekserveris
Līdzīgās rindās instalēsim Nginx, konfigurēsim to un sāksim pakalpojumu. Izmantojiet šādas komandas pa vienam:
sudo apt-get install nginx apache2-utils
Konfigurēt virtuālo resursdatoru:
sudo vim / etc / nginx / sites-available / alnis
Pievienojiet failam šādu konfigurāciju:
serveris klausīties 80; servera_nosaukums alnis.fosslinux.com; auth_basic "Ierobežota piekļuve"; auth_basic_user_file / etc / nginx /.elkusersecret; atrašanās vieta / proxy_pass http: // localhost: 5601; proxy_http_version 1.1; proxy_set_header Upgrade $ http_upgrade; proxy_set_header Savienojums 'jauninājums'; proxy_set_header Host $ resursdators; proxy_cache_bypass $ http_upgrade;
Izveidojiet lietotāja un paroles failu tīmekļa pārlūkprogrammas autentifikācijai:
sudo htpasswd -c / etc / nginx /.elkusersecret elkusr
Ievadiet paroli un atkārtojiet. Pārbaudiet Nginx konfigurācijas:
sudo nginx -t
Iespējojiet Nginx sistēmas sāknēšanas laikā un restartējiet pakalpojumu:
sudo systemctl iespējot nginx.apkalpošana
sudo systemctl restartējiet nginx.apkalpošana
5. darbība. Logstash instalēšana un konfigurēšana
Instalējiet Logstash:
sudo apt-get install logstash
Šeit mēs ģenerēsim SSL sertifikāta atslēgu, lai nodrošinātu žurnāla pārsūtīšanu no faila beat klienta. Pirms SSL sertifikāta izveides modificējiet failu “hosts”.
sudo vim / etc / hosts
Pievienojiet failam šādu rindu. Noteikti nomainiet IP un servera nosaukumu uz savu.
172.31.31.158 alnis-serveris alnis-serveris
Kad esat pabeidzis, saglabājiet failu un izejiet no tā.
Tagad nomainiet direktoriju uz Logstash.
sudo cd / etc / logstash /
Izveidojiet mapi SSL:
sudo mkdir ssl
Ģenerēt SSL sertifikātu. Zemāk esošajā komandā nomainiet elk-server uz sava servera nosaukumu.
sudo openssl req -subj '/ CN = elk-server /' -x509 -days 3650 -batch -nodes -newkey rsa: 2048 -keyout ssl / logstash-forwarder.atslēga -out ssl / logstash-forwarder.crt
Izveidojiet šādus failus mapē “/ etc / logstash / conf.d ”.
sudo cd / etc / logstash / conf.d /
izveidojiet faila pārvades ievades failu, izmantojot vim.
sudo vim filebeat-input.konf
Pievienojiet tai šādas rindas.
ievade beats port => 5443 type => syslog ssl => true ssl_certificate => "/ etc / logstash / ssl / logstash-forwarder.crt "ssl_key =>" / etc / logstash / ssl / logstash-forwarder.taustiņš "
Saglabājiet un aizveriet failu un izveidojiet jaunu konfigurācijas failu.
sudo vim syslog-filtrs.konf
Pievienojiet tam šādu saturu.
filtrs if [type] == "syslog" grok match => "message" => "% SYSLOGTIMESTAMP: syslog_timestamp% SYSLOGHOST: syslog_hostname% DATA: syslog_program (?: \ [% POSINT: syslog_pid \])?:% GREEDYDATA: syslog_message " add_field => [" saņēmis_at ","% @ timestamp "] add_field => [" saņemts_no ","% resurss "] datums match => [" syslog_timestamp " , "MMM d HH: mm: ss", "MMM dd HH: mm: ss"]
Saglabājiet un izejiet no faila. Izveidot elasticsearch izvades fails.
sudo vim output-elasticsearch.konf
Pievienojiet tai šādas rindas.
izeja elasticsearch hosts => ["localhost: 9200"] hosts => "localhost: 9200" manage_template => false index => "% [@ metadata] [beat] -% + YYYY.MM.dd "document_type =>"% [@ metadata] [type] "
Iespējosim Logstash sāknēšanas laikā un sāksim pakalpojumu:
sudo systemctl iespējot logstash.apkalpošana
sudo systemctl sākt logstash.apkalpošana
6. darbība. Filebeat instalēšana un konfigurēšana klienta serveros
Sāciet ar saimniekiem failu, lai pievienotu aļņu saimnieka ierakstus. Pārliecinieties, ka esat nomainījis IP un vārdu ar savu.
sudo vim / etc / hosts
172.31.31.158 alnis-serveris
Saglabājiet un izejiet no faila.
Lejupielādējiet un instalējiet publiskās parakstīšanas atslēgu:
sudo wget -qO - https: // artefakti.elastīgs.co / GPG-KEY-elasticsearch | sudo apt-key pievienot -
Instalējiet “apt-transport-https” un pievienojiet repo.
sudo apt-get instalēt apt-transport-https
sudo echo "deb https: // artefakti.elastīgs.co / paketes / 6.x / apt stabilais galvenais "| sudo tee -a / etc / apt / sources.sarakstā.d / elastīgs-6.x.sarakstā
Atjauniniet repo un instalējiet Filebeat.
sudo apt-get atjauninājums
sudo apt-get install filebeat
Mainīt Filebeat konfigurācijas.
sudo vim / etc / filebeat / filebeat.yml
Atrodiet šo rindu un mainiet vērtību uz “true”.
iespējots: taisnība
Šeit mēs nemodificējam žurnāla ceļu un Filebeat pārsūtīs visus žurnālus mapē “var / log”
ceļi: - / var / log / *.žurnāls
Noņemiet komentāru no šīm rindām:
izlaide.logstash: # Logstash saimniekdatori: ["aļņu serveris: 5443"] ssl.certificate_authorities: ["/ etc / filebeat / logstash-forwarder.crt "]
Komentēt Elasticsearch:
# izeja.elasticsearch: # Saimnieku masīvs, ar kuriem izveidot savienojumu. # saimnieki: ["localhost: 9200"]
Saglabājiet un izejiet no faila.
Tagad dodieties uz ELK serveri un iegūstiet “logstash-forwarder.crt ”saturs
sudo cat / etc / logstash / ssl / logstash-forwarder.crt
nokopējiet izvadi un pēc tam dodieties uz Elk klientu-serveri.
Izveidojiet sertifikāta failu
sudo vim / etc / filebeat / logstash-forwarder.crt
ievietot nokopētu produkciju un saglabāt un iziet.
Iespējot filebeat uz sistēmas sāknēšanas filebeat apkalpošana.
sudo systemctl iespējot failu pārraidi.apkalpošana
sudo systemctl sākt failu.apkalpošana
7. solis) Pārlūkot Kibana informācijas paneli
Palaidiet savu iecienīto tīmekļa pārlūku un ievadiet domēna nosaukumu, kam seko lietotājvārds un parole.
http: // alnis.fosslinux.com
Ievadiet izveidoto lietotājvārdu un paroli. Jums vajadzētu redzēt Kibana Welcome lapu. Noklikšķiniet uz pogas “Izpētīt savu”.
Tevi vajadzētu novirzīt uz Kibana mājas lapu.
Kreisajā pusē noklikšķiniet uz “Atklāt”. Noklikšķiniet uz “Izveidot rādītāja modeli”.
Pēc tam definējiet indeksa modeli “filebeat- *”.
Noklikšķiniet uz Tālāk, izvēlieties @timestamp un noklikšķiniet uz Izveidot indeksa modeli.
Indeksa modelis ir jāizveido.
Noklikšķiniet uz izvēlnes “Atklāt”, lai redzētu servera žurnālus.
Žurnāli tiks parādīti atbilstoši laika zīmogam. Noklikšķiniet uz jebkura laika zīmoga, lai to izvērstu un skatītu žurnāla faila saturu un tā informāciju.
Ja esat nonācis šeit, tas nozīmē, ka esat veiksmīgi instalējis un konfigurējis ELK kaudzīti ar faila pārraidi. Ir kādi jautājumi? Jūtieties brīvi informēt mūs zemāk esošajos komentāros.