Elastično iskanje

Vizualizirajte dnevnike Apache z ELK Stack

Vizualizirajte dnevnike Apache z ELK Stack

Spremljanje in analiziranje dnevnikov za različne infrastrukture v realnem času je lahko zelo dolgočasno delo. Pri obravnavi storitev, kot so spletni strežniki, ki nenehno beležijo podatke, je postopek lahko zelo zapleten in skoraj nemogoč.

Vedeti, kako uporabljati orodja za spremljanje, vizualizacijo in analizo dnevnikov v realnem času, vam lahko pomaga pri odkrivanju in odpravljanju težav ter spremljanju sumljivih sistemskih dejavnosti.

Ta vadnica bo razpravljala o tem, kako lahko uporabite eno najboljših zbirk dnevnikov in orodja za analizo v realnem času - ELK. Z uporabo ELK, splošno znanega kot Elasticsearch, Logstash in Kibana, lahko podatke iz spletnega strežnika apache zbirate, beležite in analizirate v realnem času.

Kaj je ELK Stack?

ELK je kratica, ki se uporablja za tri glavna odprtokodna orodja: Elasticsearch, Logstash in Kibana.

Elasticsearch je odprtokodno orodje, razvito za iskanje zadetkov v veliki zbirki podatkovnih nizov z uporabo različnih jezikov in vrst poizvedb. Je lahko in hitro orodje, ki z lahkoto obdeluje terabajte podatkov.

Logstash engine je povezava med strežniško stranjo in Elasticsearchom, ki vam omogoča zbiranje podatkov iz izbranih virov do Elasticsearch. Ponuja zmogljive API-je, ki jih je mogoče enostavno integrirati z aplikacijami, razvitimi v različnih programskih jezikih.

Kibana je zadnji del sklada ELK. To je orodje za vizualizacijo podatkov, ki vam omogoča vizualno analizo podatkov in ustvarjanje vpoglednih poročil. Ponuja tudi grafe in animacije, ki vam lahko pomagajo pri interakciji s podatki.

Sklop ELK je zelo zmogljiv in lahko naredi neverjetne stvari za analizo podatkov.

Čeprav vam bodo različni koncepti, o katerih bomo razpravljali v tej vadnici, dobro razumeli sklad ELK, si oglejte dokumentacijo za več informacij.

Elasticsearch: https: // linkfy.na / Elasticsearch-Reference

Logstash: https: // linkfy.do / LogstashReference

Kibana: https: // linkfy.do / KibanaGuide

Kako namestiti Apache?

Preden začnemo nameščati Apache in vse odvisnosti, je dobro opozoriti na nekaj stvari.

To vadnico smo preizkusili na Debianu 10.6, vendar bo deloval tudi z drugimi distribucijami Linuxa.

Glede na konfiguracijo sistema potrebujete sudo ali root dovoljenja.

Združljivost in uporabnost skladov ELK se lahko razlikujeta glede na različico.

Prvi korak je zagotoviti popolno posodobitev sistema:

posodobitev sudo apt-get
sudo apt-get nadgradnja

Naslednji ukaz je namestitev spletnega strežnika apache2. Če želite namestiti minimalni apache, odstranite dokumentacijo in pripomočke iz spodnjega ukaza.

sudo apt-get namestite apache2 apache2-utils apache2-doc -y
sudo storitev apache2 start

Do zdaj bi moral v vašem sistemu delovati strežnik Apache.

Kako namestiti Elasticsearch, Logstash in Kibana?

Zdaj moramo namestiti sklad ELK. Vsako orodje bomo namestili posebej.

Elasticsearch

Začnimo z namestitvijo Elasticsearch. Za njegovo namestitev bomo uporabili apt, stabilno izdajo pa lahko dobite na uradni strani za prenos tukaj:

https: // www.elastična.co / downloads / elasticsearch

Elasticsearch zahteva, da se Java zažene. Na srečo je najnovejša različica priložena paketu OpenJDK, ki odpravlja težave pri ročni namestitvi. Če morate ročno namestiti, glejte naslednji vir:

https: // www.elastična.co / guide / en / elasticsearch / reference / current / setup.html # jvm-version

V naslednjem koraku moramo z ukazom prenesti in namestiti uradni ključ za podpisovanje Elastic APT:

wget -qO - https: // artefakti.elastična.co / GPG-KEY-elasticsearch | sudo apt-key add -

Pred nadaljevanjem boste morda potrebovali paket apt-transport-https (potreben za pakete, ki se strežejo prek https), preden nadaljujete z namestitvijo.

sudo apt-get namestite apt-transport-https

Zdaj dodajte primerne informacije o repo v vire.seznam.d datoteko.

echo “deb https: // artefakti.elastična.co / paketi / 7.x / apt stabilen glavni "| sudo tee / etc / apt / sources.seznam.d / elastična-7.x.seznam

Nato posodobite seznam paketov v sistemu.

posodobitev sudo apt-get

Namestite Elasticsearch z uporabo spodnjega ukaza:

sudo apt-get namestite elasticsearch

Po namestitvi Elasticsearch zaženite in omogočite zagon ob zagonu z ukazi systemctl:

sudo systemctl daemon-reload
sudo systemctl omogoči elastično iskanje.storitev
sudo systemctl start elastično iskanje

Zagon storitve lahko traja nekaj časa. Počakajte nekaj minut in z ukazom potrdite, da storitev deluje

sudo systemctl status elastično iskanje.storitev

Z uporabo cURL preizkusite, ali je na voljo API Elasticsearch, kot je prikazano v spodnjem izhodu JSON:

curl -X GET "localhost: 9200 /?lepa"

"name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"različica":
"number": "7.10.1 ",
"build_flavor": "privzeto",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": false,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
“Tagline”: “Veste, za iskanje”

Kako namestiti Logstash?

Paket logstash namestite z ukazom:

sudo apt-get namestite logstash

Kako namestiti Kibana?

Vnesite spodnji ukaz za namestitev kibane:

sudo apt-get namestite kibana

Kako nastaviti Elasticsearch, Logstash in Kibana?

Evo, kako konfigurirati sklad ELK:

Kako nastaviti Elasticsearch?

V Elasticsearch se podatki razvrstijo v indekse. Vsak od teh indeksov ima enega ali več drobcev. Shard je samostojni iskalnik, ki se uporablja za obdelavo in upravljanje indeksov in poizvedb za podmnožico v gruči znotraj Elasticsearch. Odlomek deluje kot primerek indeksa Lucene.

Privzeta namestitev Elasticsearch ustvari pet delcev in eno repliko za vsak indeks. To je dober mehanizem v proizvodnji. Vendar bomo v tej vadnici delali z enim drobcem in brez kopij.

Začnite z izdelavo predloge indeksa v obliki JSON. V datoteki bomo nastavili število drobcev na eno in nič replik za ujemanje imen indeksov (razvojni namen).

V Elasticsearch se predloga indeksa nanaša na navodila, kako Elasticsearch nastavite indeks med postopkom ustvarjanja.

Znotraj datoteke predloge json (index_template.json), vnesite naslednja navodila:


"template": "*",
"nastavitve":
"indeks":
"number_of_shards": 1,
"number_of_replicas": 0


Z uporabo cURL uporabite predlogo json za predlogo, ki bo uporabljena za vse ustvarjene indekse.

curl -X PUT http: // localhost: 9200 / _template / privzeto -H 'Content-Type: application / json' -d @index_template.json
"potrjeno": true

Po prijavi bo Elasticsearch odgovoril s potrjeno izjavo: true.

Kako nastaviti Logstash?

Če želite, da Logstash zbira dnevnike iz Apacheja, ga moramo konfigurirati tako, da spremlja vse spremembe v dnevnikih z zbiranjem, obdelavo in shranjevanjem dnevnikov v Elasticsearch. Da bi se to zgodilo, morate v Logstash nastaviti pot dnevnika zbiranja.

Začnite z ustvarjanjem konfiguracije Logstash v datoteki / etc / logstash / conf.d / apache.conf

vnos
mapa
pot => '/ var / www / * / logs / access.dnevnik '
type => "apache"


filter
grok
ujemanje => "message" => "% COMBINEDAPACHELOG"


izhod
elastično iskanje

Zdaj poskrbite, da omogočite in zaženete storitev logstash.

sudo systemctl omogoči logstash.storitev
sudo systemctl zaženi logstash.storitev

Kako omogočiti in konfigurirati Kibana?

Če želite omogočiti Kibana, uredite glavno .yml konfiguracijska datoteka, ki se nahaja v / etc / kibana / kibana.yml. Poiščite naslednje vnose in jih prekličite. Ko končate, uporabite sistemctl za zagon storitve Kibana.

strežnik.pristanišče: 5601
strežnik.gostitelj: "localhost"
sudo systemctl omogoči kibana.service && sudo systemctl start kibana.storitev

Kibana ustvarja vzorce indeksa na podlagi obdelanih podatkov. Zato morate dnevnike zbirati s pomočjo Logstasha in jih shraniti v Elasticsearch, ki ga Kibana lahko uporablja. Za ustvarjanje dnevnikov iz Apacheja uporabite curl.

Ko dobite dnevnike iz Apacheja, v brskalniku zaženite Kibana z naslovom http: // localhost: 5601, ki bo odprl indeksno stran Kibana.

V glavnem morate konfigurirati vzorec indeksa, ki ga Kibana uporablja za iskanje dnevnikov in ustvarjanje poročil. Kibana privzeto uporablja vzorec indeksa logstash *, ki se ujema z vsemi privzetimi indeksi, ki jih ustvari Logstash.

Če nimate nobene konfiguracije, kliknite Ustvari, da začnete pregledovati dnevnike.

Kako si ogledati dnevnike Kibana?

Medtem ko nadaljujete z izvajanjem zahtev Apache, bo Logstash zbral dnevnike in jih dodal v Elasticsearch. Te dnevnike si lahko ogledate v Kibani, tako da kliknete možnost Odkrij v levem meniju.

Zavihek Odkrivanje omogoča ogled dnevnikov, kot jih strežnik generira. Če si želite ogledati podrobnosti dnevnika, preprosto kliknite spustni meni.

Preberite in razumite podatke iz dnevnikov Apache.

Kako iskati dnevnike?

V vmesniku Kibana boste našli iskalno vrstico, ki vam omogoča iskanje podatkov z uporabo poizvedbenih nizov.

Primer: status: aktivno

Več o nizih poizvedb ELK preberite tukaj:

https: // www.elastična.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-syntax

Ker imamo opravka z dnevniki Apache, je možno ujemanje statusna koda. Zato poiščite:

odziv: 200

Ta koda bo poiskala dnevnike s statusno kodo 200 (OK) in jih prikazala Kibani.

Kako vizualizirati dnevnike?

Vizualne nadzorne plošče lahko v Kibani ustvarite tako, da izberete zavihek Vizualiziraj. Izberite vrsto nadzorne plošče, ki jo želite ustvariti, in izberite svoj indeks iskanja. Privzeto lahko uporabite za namene testiranja.

Zaključek

V tem priročniku smo razpravljali o pregledu uporabe paketa ELK za upravljanje dnevnikov. Vendar ta članek lahko zajema še več teh tehnologij. Priporočamo, da raziskujete sami.

Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...