Elastinė paieška

Vizualizuokite „Apache“ žurnalus naudodami „ELK Stack“

Vizualizuokite „Apache“ žurnalus naudodami „ELK Stack“

Įvairių infrastruktūrų žurnalų stebėjimas ir analizavimas realiuoju laiku gali būti labai varginantis darbas. Nagrinėjant tokias paslaugas kaip interneto serveriai, kurie nuolat registruoja duomenis, procesas gali būti labai sudėtingas ir beveik neįmanomas.

Žinojimas, kaip naudoti įrankius žurnalams stebėti, vizualizuoti ir analizuoti realiuoju laiku, gali padėti atsekti ir šalinti problemas bei stebėti įtartiną sistemos veiklą.

Šioje pamokoje bus aptarta, kaip galite naudoti vieną iš geriausių realaus laiko žurnalų kolekcijų ir analizės įrankių - ELK. Naudodami ELK, paprastai vadinamus „Elasticsearch“, „Logstash“ ir „Kibana“, galite realiuoju laiku rinkti, registruoti ir analizuoti duomenis iš „Apache“ žiniatinklio serverio.

Kas yra „ELK Stack“?

ELK yra akronimas, vartojamas nurodyti tris pagrindinius atvirojo kodo įrankius: „Elasticsearch“, „Logstash“ ir „Kibana“.

Elastiniai tyrimai yra atviro kodo įrankis, sukurtas rasti atitikmenis dideliame duomenų rinkinių rinkinyje, naudojant užklausų kalbų ir tipų pasirinkimą. Tai lengvas ir greitas įrankis, lengvai valdantis terabaitus duomenų.

„Logstash“ variklis yra ryšys tarp serverio ir „Elasticsearch“, leidžiantis rinkti duomenis iš pasirinktų šaltinių į „Elasticsearch“. Jis siūlo galingas API, kurios lengvai integruojamos su programomis, sukurtomis įvairiomis programavimo kalbomis.

Kibana yra paskutinė ELK stekelio dalis. Tai duomenų vizualizavimo įrankis, leidžiantis vizualiai analizuoti duomenis ir generuoti įžvalgias ataskaitas. Ji taip pat siūlo diagramas ir animacijas, kurios gali padėti jums bendrauti su jūsų duomenimis.

ELK kaminas yra labai galingas ir gali atlikti neįtikėtinus duomenų analizės dalykus.

Nors įvairios sąvokos, kurias aptarsime šioje pamokoje, leis jums gerai suprasti ELK kaminą, daugiau informacijos rasite dokumentuose.

Elastiniai tyrimai: https: // linkfy.to / Elasticsearch-Reference

„Logstash“: https: // linkfy.to / LogstashReference

Kibana: https: // linkfy.į / „KibanaGuide“

Kaip įdiegti „Apache“?

Prieš pradedant diegti „Apache“ ir visas priklausomybes, verta atkreipti dėmesį į keletą dalykų.

Mes išbandėme šią mokymo programą Debian 10.6, bet jis veiks ir su kitais „Linux“ paskirstymais.

Priklausomai nuo jūsų sistemos konfigūracijos, jums reikia sudo arba root leidimų.

ELK kamino suderinamumas ir naudojimas gali skirtis priklausomai nuo versijų.

Pirmasis žingsnis yra užtikrinti, kad jūsų sistema būtų visiškai atnaujinta:

sudo apt-get atnaujinimas
sudo apt-get atnaujinimas

Kita komanda yra įdiegti apache2 tinklo serverį. Jei norite, kad būtų įdiegtas minimalus apache, pašalinkite dokumentus ir komunalines paslaugas iš toliau pateiktos komandos.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo paslaugos apache2 pradžia

Dabar jūsų sistemoje turėtų veikti „Apache“ serveris.

Kaip įdiegti „Elasticsearch“, „Logstash“ ir „Kibana“?

Dabar turime įdiegti ELK kaminą. Kiekvieną įrankį montuosime atskirai.

Elastiniai tyrimai

Pradėkime nuo „Elasticsearch“ diegimo. Norėdami jį įdiegti, naudosime apt, tačiau stabilų leidimą galite gauti iš oficialaus atsisiuntimo puslapio čia:

https: // www.elastinga.co / downloads / elasticsearch

Elasticsearch reikia paleisti „Java“. Laimei, naujausia versija pateikiama kartu su „OpenJDK“ paketu, pašalinant rūpesčius įdiegiant rankiniu būdu. Jei jums reikia įdiegti rankiniu būdu, žr. Šį šaltinį:

https: // www.elastinga.co / guide / lt / elasticsearch / reference / current / setup.html # jvm-version

Kitame žingsnyje turime atsisiųsti ir įdiegti oficialų „Elastic APT“ pasirašymo raktą naudodami komandą:

wget -qO - https: // artefaktai.elastinga.co / GPG-KEY-elasticsearch | sudo apt-key pridėti -

Prieš tęsdami, prieš pradėdami diegti, jums gali prireikti „apt-transport-https“ paketo (reikalingo paketams, kurie teikiami per „https“).

sudo apt-get įdiekite apt-transport-https

Dabar pridėkite apt repo informaciją į šaltinius.sąrašą.d failas.

echo “deb https: // artefaktai.elastinga.bendrai / pakuotės / 7.x / apt stabilus pagrindinis “| sudo tee / etc / apt / sources.sąrašą.d / elastinga-7.x.sąrašą

Tada atnaujinkite paketų sąrašą savo sistemoje.

sudo apt-get atnaujinimas

Įdiekite „Elasticsearch“ naudodami toliau pateiktą komandą:

sudo apt-get install elasticsearch

Įdiegę „Elasticsearch“, paleiskite ir įjunkite paleidimo paleidimą naudodami komandas systemctl:

sudo systemctl daemon-reload
sudo systemctl įgalinti elasticsearch.paslaugą
sudo systemctl pradėti elasticsearch

Paslaugos pradžia gali užtrukti. Palaukite keletą minučių ir patvirtinkite, kad paslauga veikia ir veikia su komanda:

sudo systemctl status elasticsearch.paslaugą

Naudodami cURL patikrinkite, ar yra „Elasticsearch“ API, kaip parodyta JSON išvestyje žemiau:

„curl -X GET“ vietinis šeimininkas: 9200 /?graži"

"vardas": "debianas",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
„versija“:
„skaičius“: „7.10.1 ",
"build_flavor": "numatytasis",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": klaidinga,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
„Tagline“: „Jūs žinote, ieškai“

Kaip įdiegti „Logstash“?

Įdiekite „Logstash“ paketą naudodami komandą:

sudo apt-get install logstash

Kaip įdiegti „Kibana“?

Įveskite žemiau esančią komandą, kad įdiegtumėte kibaną:

sudo apt-get install kibana

Kaip konfigūruoti „Elasticsearch“, „Logstash“ ir „Kibana“?

Štai kaip sukonfigūruoti ELK kaminą:

Kaip sukonfigūruoti elasticsearch?

„Elasticsearch“ sistemoje duomenys suskirstomi į indeksus. Kiekvienas iš šių indeksų turi vieną ar daugiau šukių. „Shard“ yra savarankiškas paieškos variklis, naudojamas tvarkyti ir valdyti „Elasticsearch“ grupėje esančio pogrupio indeksus ir užklausas. Skalda veikia kaip „Lucene“ indekso pavyzdys.

Numatytasis „Elasticsearch“ diegimas sukuria penkis fragmentus ir po vieną repliką kiekvienam indeksui. Tai yra geras mechanizmas, kai gaminamas. Tačiau šioje pamokoje dirbsime su viena šukute ir be kopijų.

Pirmiausia sukurkite indekso šabloną JSON formatu. Faile nustatysime šukių skaičių iki vienos ir nulinės kopijos, kad indeksų pavadinimai atitiktų (kūrimo tikslais).

Programoje „Elasticsearch“ indekso šablonas nurodo, kaip nurodote „Elasticsearch“ nustatyti indeksą kūrimo proceso metu.

„Json“ šablono failo viduje (index_template.json), įveskite šias instrukcijas:


"template": "*",
„nustatymai“:
"indeksas":
"Skardžių skaičius": 1,
"Rep_lic_s__support" skaičius: 0


Naudodami „CURL“, pritaikykite „Json“ konfigūraciją šablonui, kuris bus taikomas visiems sukurtiems indeksams.

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Turinio tipas: application / json' -d @index_template.Json
"pripažinta": tiesa

Pritaikius „Elasticsearch“ atsakys patvirtintu: teisingu teiginiu.

Kaip konfigūruoti „Logstash“?

Kad „Logstash“ galėtų rinkti žurnalus iš „Apache“, turime sukonfigūruoti jį stebėti visus žurnalų pokyčius rinkdami, apdorodami ir įrašydami žurnalus į „Elasticsearch“. Kad tai įvyktų, turite nustatyti „Logstash“ rinkimo žurnalo kelią.

Pradėkite sukurdami „Logstash“ konfigūraciją faile / etc / logstash / conf.d / apache.konf

įvestis
failas
kelias => '/ var / www / * / logs / access.žurnalas
type => "apache"


filtras
grok
match => "message" => "% COMBINEDAPACHELOG"


išvestis
elasticsearch

Dabar įsitikinkite, kad įgalinate ir paleidžiate logstash paslaugą.

sudo systemctl įjungti logstash.paslaugą
sudo systemctl pradėti logstash.paslaugą

Kaip įjungti ir sukonfigūruoti „Kibana“?

Norėdami įgalinti „Kibana“, redaguokite pagrindinį .yml konfigūracijos failas, esantis / etc / kibana / kibana.yml. Suraskite šiuos įrašus ir nekomentuokite jų. Kai tai padarysite, naudokite „systemctl“, kad paleistumėte „Kibana“ paslaugą.

serverio.uostas: 5601
serverio.priimančioji: „localhost“
sudo systemctl įjungti kibaną.service && sudo systemctl start kibana.paslaugą

„Kibana“ sukuria indekso modelius, remdamasi apdorotais duomenimis. Taigi, turite rinkti žurnalus naudodami „Logstash“ ir laikyti juos „Elasticsearch“, kurį „Kibana“ gali naudoti. Naudokite garbaną, kad generuotumėte žurnalus iš „Apache“.

Kai turėsite žurnalus iš „Apache“, paleiskite „Kibana“ savo naršyklėje naudodami adresą http: // localhost: 5601, kuris paleidžia „Kibana“ indekso puslapį.

Iš esmės turite sukonfigūruoti indekso modelį, kurį „Kibana“ naudoja žurnalams ieškoti ir ataskaitoms generuoti. Pagal numatytuosius nustatymus „Kibana“ naudoja „logstash *“ indekso šabloną, kuris atitinka visus numatytuosius „Logstash“ sukurtus indeksus.

Jei neturite jokios konfigūracijos, spustelėkite „Sukurti“, kad pradėtumėte žiūrėti žurnalus.

Kaip peržiūrėti „Kibana“ žurnalus?

Jums tęsiant „Apache“ užklausas, „Logstash“ surinks žurnalus ir pridės juos prie „Elasticsearch“. Šiuos žurnalus galite peržiūrėti Kibanoje, kairiajame meniu spustelėdami parinktį Atrasti.

Skirtuke „Atrasti“ galite peržiūrėti žurnalus, kai serveris juos sugeneruoja. Norėdami peržiūrėti išsamią žurnalo informaciją, tiesiog spustelėkite išskleidžiamąjį meniu.

Perskaitykite ir supraskite „Apache“ žurnalų duomenis.

Kaip ieškoti žurnalų?

„Kibana“ sąsajoje rasite paieškos juostą, leidžiančią ieškoti duomenų naudojant užklausos eilutes.

Pavyzdys: būsena: aktyvi

Sužinokite daugiau apie ELK užklausos eilutes čia:

https: // www.elastinga.co / guide / lt / elasticsearch / reference / 5.5 / užklausa-dsl-užklausa-eilutė-užklausa.html # query-string-syntax

Kadangi mes susiduriame su „Apache“ žurnalais, vienas galimas atitikimas yra būsenos kodas. Taigi, ieškokite:

atsakymas: 200

Šis kodas ieškos žurnalų, kurių būsenos kodas yra 200 (Gerai), ir parodys jį „Kibana“.

Kaip vizualizuoti žurnalus?

Kibanoje galite sukurti vaizdines informacijos suvestines pasirinkę skirtuką Vaizduoti. Pasirinkite norimo sukurti informacijos suvestinės tipą ir pasirinkite savo paieškos indeksą. Numatytąjį galite naudoti bandymo tikslais.

Išvada

Šiame vadove aptarėme apžvalgą, kaip naudoti ELK kaminą tvarkant žurnalus. Tačiau šiame straipsnyje yra daugiau šių technologijų. Rekomenduojame patyrinėti savarankiškai.

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...