Praćenje i analiza dnevnika za razne infrastrukture u stvarnom vremenu može biti vrlo dosadan posao. Kada se radi o uslugama poput web poslužitelja koji neprestano bilježe podatke, postupak može biti vrlo složen i gotovo nemoguć.
Kao takvo, znanje korištenja alata za praćenje, vizualizaciju i analizu dnevnika u stvarnom vremenu može vam pomoći u pronalaženju i rješavanju problema i praćenju sumnjivih aktivnosti sustava.
Ovaj će vodič raspravljati o tome kako možete koristiti jednu od najboljih zbirki dnevnika u stvarnom vremenu i alata za analizu - ELK. Korištenjem ELK-a, poznatog kao Elasticsearch, Logstash i Kibana, možete sakupljati, bilježiti i analizirati podatke s web apache web poslužitelja u stvarnom vremenu.
Što je ELK Stack?
ELK je kratica koja se koristi za označavanje tri glavna alata otvorenog koda: Elasticsearch, Logstash i Kibana.
Elasticsearch je alat otvorenog koda razvijen za pronalaženje podudaranja u velikoj zbirci skupova podataka pomoću odabira jezika i vrsta upita. Lagan je i brz alat koji s lakoćom može rukovati terabajtima podataka.
Logstash engine je veza između poslužiteljske strane i Elasticsearch, omogućujući vam prikupljanje podataka iz odabranih izvora do Elasticsearch. Nudi moćne API-je koji su lako integrirani s aplikacijama razvijenim u različitim programskim jezicima.
Kibana je završni dio ELK stoga. To je alat za vizualizaciju podataka koji vam omogućuje vizualnu analizu podataka i generiranje pronicljivih izvješća. Također nudi grafikone i animacije koji vam mogu pomoći u interakciji s vašim podacima.
ELK stog vrlo je moćan i može raditi nevjerojatne stvari u vezi s analizom podataka.
Iako će vam različiti koncepti o kojima ćemo raspravljati u ovom vodiču dobro razumjeti ELK stog, za dodatne informacije razmotrite dokumentaciju.
Elasticsearch: https: // linkfy.na / Elasticsearch-Reference
Logstash: https: // linkfy.na / LogstashReference
Kibana: https: // linkfy.do / KibanaGuide
Kako instalirati Apache?
Prije nego počnemo instalirati Apache i sve ovisnosti, dobro je primijetiti nekoliko stvari.
Testirali smo ovaj tutorial na Debianu 10.6, ali radit će i s drugim Linux distribucijama.
Ovisno o konfiguraciji sustava, trebaju vam sudo ili root dozvole.
Kompatibilnost i upotrebljivost ELK steka mogu se razlikovati ovisno o inačicama.
Prvi korak je osigurati da vaš sustav bude potpuno ažuriran:
sudo apt-get ažuriranjesudo apt-get nadogradnja
Sljedeća naredba je instaliranje web poslužitelja apache2. Ako želite instalirati minimalni apache, uklonite dokumentaciju i uslužne programe iz naredbe u nastavku.
sudo apt-get instalirati apache2 apache2-utils apache2-doc -ysudo usluga apache2 start
Do sada biste na vašem sustavu trebali imati pokrenut Apache poslužitelj.
Kako instalirati Elasticsearch, Logstash i Kibana?
Sada moramo instalirati ELK stog. Instalirat ćemo svaki alat pojedinačno.
Elasticsearch
Krenimo od instaliranja Elasticsearch. Koristit ćemo apt za njegovu instalaciju, ali stabilno izdanje možete dobiti na službenoj stranici za preuzimanje ovdje:
https: // www.elastičan.co / downloads / elasticsearch
Elasticsearch zahtijeva Java za pokretanje. Srećom, najnovija verzija dolazi u paketu s paketom OpenJDK, uklanjajući poteškoće s ručnom instalacijom. Ako trebate ručno instalirati, pogledajte sljedeći resurs:
https: // www.elastičan.co / guide / en / elasticsearch / reference / current / setup.html # jvm-verzija
U sljedećem koraku trebamo preuzeti i instalirati službeni ključ za potpisivanje Elastic APT pomoću naredbe:
wget -qO - https: // artefakti.elastičan.co / GPG-KEY-elasticsearch | sudo apt-key dodati -
Prije nastavka, možda ćete trebati paket apt-transport-https (potreban za pakete koji se poslužuju putem https-a) prije nego što nastavite s instalacijom.
sudo apt-get instalirati apt-transport-httpsSada dodajte odgovarajuće repo informacije izvorima.popis.d datoteka.
odjek “deb https: // artefakti.elastičan.co / paketi / 7.x / apt stabilan glavni ”| sudo tee / etc / apt / sources.popis.d / elastična-7.x.popis
Zatim ažurirajte popis paketa na vašem sustavu.
sudo apt-get ažuriranjeInstalirajte Elasticsearch pomoću naredbe u nastavku:
sudo apt-get instaliraj elasticsearchNakon instaliranja Elasticsearch, pokrenite i omogućite pokretanje prilikom pokretanja pomoću naredbi systemctl:
sudo systemctl daemon-reloadsudo systemctl omogućiti elastično pretraživanje.servis
sudo systemctl pokretanje elastičnog pretraživanja
Pokretanje usluge može potrajati neko vrijeme. Pričekajte nekoliko minuta i potvrdite da je usluga pokrenuta naredbom:
sudo systemctl status elastično pretraživanje.servisKoristeći cURL, testirajte je li dostupan Elasticsearch API, kao što je prikazano u JSON izlazu ispod:
curl -X GET "localhost: 9200 /?prilično""name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"inačica":
"broj": "7.10.1 ",
"build_flavor": "zadani",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": netačno,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
“Tagline”: “Znate, za pretraživanje”
Kako instalirati Logstash?
Instalirajte paket logstash pomoću naredbe:
sudo apt-get instalirati logstashKako instalirati Kibana?
Unesite naredbu ispod kako biste instalirali kibana:
sudo apt-get instalirati kibanaKako konfigurirati Elasticsearch, Logstash i Kibana?
Evo kako konfigurirati ELK stog:
Kako konfigurirati Elasticsearch?
U Elasticsearchu podaci se uređuju u indekse. Svaki od ovih indeksa ima jednu ili više krhotina. Krhotina je samostalna tražilica koja se koristi za obradu i upravljanje indeksima i upitima za podskup u klasteru unutar Elasticsearch. Krhotina djeluje kao primjer indeksa Lucene.
Zadana instalacija Elasticsearch stvara pet krhotina i jednu repliku za svaki indeks. Ovo je dobar mehanizam u proizvodnji. Međutim, u ovom uputstvu radit ćemo s jednom krhotinom i bez replika.
Započnite s izradom indeksnog predloška u JSON formatu. U datoteci ćemo postaviti broj krhotina na jednu i nula replika za podudaranje naziva indeksa (razvojne svrhe).
U Elasticsearch, predložak indeksa odnosi se na to kako upućujete Elasticsearch u postavljanju indeksa tijekom postupka izrade.
Unutar datoteke json predloška (index_template.json), unesite sljedeće upute:
"predložak": "*",
"postavke":
"indeks":
"number_of_shards": 1,
"number_of_replicas": 0
Koristeći cURL, primijenite json konfiguraciju na predložak, koja će se primijeniti na sve stvorene indekse.
curl -X PUT http: // localhost: 9200 / _template / default -H 'Content-Type: application / json' -d @index_template.json"potvrđeno": istina
Jednom primijenjen, Elasticsearch će odgovoriti potvrđenom: istinitom izjavom.
Kako konfigurirati Logstash?
Da bi Logstash prikupljao zapisnike iz Apachea, moramo ga konfigurirati tako da prati promjene u zapisnicima prikupljanjem, obradom i spremanjem dnevnika u Elasticsearch. Da bi se to dogodilo, morate postaviti putanju dnevnika prikupljanja u Logstash.
Započnite s izradom Logstash konfiguracije u datoteci / etc / logstash / conf.d / apache.konf
unosdatoteka
put => '/ var / www / * / logs / access.zapisnik '
type => "apache"
filtar
grok
podudaranje => "message" => "% COMBINEDAPACHELOG"
izlaz
elastično pretraživanje
Sada osigurajte da omogućite i pokrenete uslugu logstash.
sudo systemctl omogućiti logstash.servissudo systemctl pokreni logstash.servis
Kako omogućiti i konfigurirati Kibanu?
Da biste omogućili Kibanu, uredite glavno .yml konfiguracijska datoteka koja se nalazi u / etc / kibana / kibana.yml. Pronađite sljedeće unose i raskomentirajte ih. Kada završite, upotrijebite systemctl za pokretanje usluge Kibana.
poslužitelju.luka: 5601poslužitelju.domaćin: "localhost"
sudo systemctl omogućiti kibana.servis && sudo systemctl start kibana.servis
Kibana stvara uzorke indeksa na temelju obrađenih podataka. Stoga morate prikupiti zapisnike pomoću Logstasha i spremiti ih u Elasticsearch, koji Kibana može koristiti. Koristite curl za generiranje dnevnika iz Apachea.
Nakon što dobijete zapisnike iz Apachea, pokrenite Kibana u svom pregledniku pomoću adrese http: // localhost: 5601, koja će pokrenuti indeksnu stranicu Kibana.
Uglavnom, trebate konfigurirati uzorak indeksa koji Kibana koristi za traženje dnevnika i generiranje izvješća. Prema zadanim postavkama, Kibana koristi obrazac indeksa logstash *, koji odgovara svim zadanim indeksima koje generira Logstash.
Ako nemate nikakvu konfiguraciju, kliknite Stvori za početak pregledavanja dnevnika.
Kako pregledati zapisnike Kibane?
Kako nastavljate izvršavati Apache zahtjeve, Logstash će prikupljati zapisnike i dodavati ih u Elasticsearch. Te zapisnike možete pregledati u Kibani klikom na opciju Otkrivanje na lijevom izborniku.
Kartica Discover omogućuje vam pregled dnevnika dok ih poslužitelj generira. Da biste pogledali detalje dnevnika, jednostavno kliknite padajući izbornik.
Pročitajte i razumite podatke iz Apache dnevnika.
Kako pretraživati zapisnike?
U sučelju Kibana pronaći ćete traku za pretraživanje koja vam omogućuje pretraživanje podataka pomoću stringova upita.
Primjer: status: aktivan
Ovdje saznajte više o nizovima upita ELK:
https: // www.elastičan.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-sintaksa
Budući da imamo posla s Apache zapisnicima, jedno od mogućih podudaranja je statusni kôd. Stoga pretražite:
odgovor: 200Ovaj će kôd tražiti zapisnike sa statusnim kodom 200 (OK) i prikazati ih Kibani.
Kako vizualizirati zapisnike?
Možete stvoriti vizualne nadzorne ploče u Kibani odabirom kartice Vizualiziraj. Odaberite vrstu nadzorne ploče koju želite stvoriti i odaberite indeks pretraživanja. Možete koristiti zadani zadatak u svrhe testiranja.
Zaključak
U ovom smo vodiču raspravljali o pregledu kako koristiti ELK stog za upravljanje zapisnicima. Međutim, ovaj članak može obuhvatiti više ovih tehnologija. Preporučujemo da istražite sami.