Monitorovanie a analýza protokolov pre rôzne infraštruktúry v reálnom čase môže byť veľmi namáhavá práca. Pri práci so službami, ako sú webové servery, ktoré neustále zaznamenávajú údaje, môže byť proces veľmi zložitý a takmer nemožný.
Znalosť toho, ako používať nástroje na sledovanie, vizualizáciu a analýzu protokolov v reálnom čase, vám môže pomôcť pri sledovaní a riešení problémov a pri monitorovaní podozrivých systémových aktivít.
Tento tutoriál bude diskutovať o tom, ako môžete použiť jeden z najlepších nástrojov na zhromažďovanie protokolov v reálnom čase a analytické nástroje - ELK. Pomocou ELK, všeobecne známych ako Elasticsearch, Logstash a Kibana, môžete zhromažďovať, zaznamenávať a analyzovať údaje z webového servera apache v reálnom čase.
Čo je ELK Stack?
ELK je skratka používaná na označenie troch hlavných nástrojov otvoreného zdroja: Elasticsearch, Logstash a Kibana.
Elasticsearch je open-source nástroj vyvinutý na hľadanie zhôd vo veľkej zbierke súborov údajov pomocou výberu jazykov a typov dotazov. Jedná sa o ľahký a rýchly nástroj schopný s ľahkosťou spracovať terabajty dát.
Logstash engine je prepojenie medzi serverom a Elasticsearch, čo vám umožňuje zhromažďovať údaje z výberu zdrojov do Elasticsearch. Ponúka výkonné API, ktoré sú ľahko integrovateľné s aplikáciami vyvinutými v rôznych programovacích jazykoch.
Kibana je posledná časť stohu ELK. Jedná sa o nástroj na vizualizáciu údajov, ktorý umožňuje vizuálnu analýzu údajov a generovanie prehľadných správ. Ponúka tiež grafy a animácie, ktoré vám môžu pomôcť pri interakcii s vašimi údajmi.
Zásobník ELK je veľmi výkonný a dokáže robiť neuveriteľné veci v oblasti analýzy údajov.
Aj keď rôzne koncepty, o ktorých budeme diskutovať v tomto tutoriále, vám poskytnú dobré vedomosti o zásobníku ELK, ďalšie informácie nájdete v dokumentácii.
Elasticsearch: https: // linkfy.do / Elasticsearch-Referencia
Logstash: https: // linkfy.do / LogstashReference
Kibana: https: // linkfy.do / KibanaGuide
Ako nainštalovať Apache?
Predtým, ako začneme inštalovať Apache a všetky závislosti, je dobré si uvedomiť niekoľko vecí.
Tento návod sme otestovali na Debiane 10.6, ale bude fungovať aj s inými distribúciami Linuxu.
V závislosti od konfigurácie vášho systému potrebujete oprávnenie sudo alebo root.
Kompatibilita a použiteľnosť zásobníka ELK sa môžu líšiť v závislosti od verzií.
Prvým krokom je zabezpečenie úplnej aktualizácie systému:
sudo apt-get aktualizáciasudo apt-get upgrade
Ďalším príkazom je inštalácia webového servera apache2. Ak chcete mať nainštalovaný minimálny apache, odstráňte dokumentáciu a obslužné programy z nižšie uvedeného príkazu.
sudo apt-get nainštalovať apache2 apache2-utils apache2-doc -ysudo služba apache2 štart
Teraz by už mal byť vo vašom systéme spustený server Apache.
Ako nainštalovať Elasticsearch, Logstash a Kibana?
Teraz musíme nainštalovať zásobník ELK. Inštalujeme každý nástroj osobitne.
Elasticsearch
Začnime inštaláciou Elasticsearch. Na jeho inštaláciu použijeme apt, ale stabilné vydanie môžete získať z oficiálnej stránky na stiahnutie tu:
https: // www.elastické.co / na stiahnutie / elasticsearch
Elasticsearch vyžaduje na spustenie Javu. Našťastie je najnovšia verzia dodávaná s balíkom OpenJDK, čo odstraňuje problémy s jej manuálnou inštaláciou. Ak potrebujete vykonať manuálnu inštaláciu, pozrite si nasledujúci zdroj:
https: // www.elastické.co / guide / en / elasticsearch / reference / current / setup.html # jvm-verzia
V ďalšom kroku si pomocou príkazu musíme stiahnuť a nainštalovať oficiálny podpisový kľúč Elastic APT:
wget -qO - https: // artefakty.elastické.co / GPG-KEY-elasticsearch | sudo apt-key pridať -
Pred pokračovaním môžete vyžadovať balík apt-transport-https (vyžadovaný pre balíčky poskytované cez https) pred inštaláciou.
sudo apt-get nainštalovať apt-transport-httpsTeraz pridajte k zdrojom vhodné informácie o repo.zoznam.d súbor.
echo “deb https: // artefakty.elastické.co / balíčky / 7.x / apt stabilný hlavný “| sudo tee / etc / apt / sources.zoznam.d / elastický-7.X.zoznam
Potom aktualizujte zoznam balíkov vo vašom systéme.
sudo apt-get aktualizáciaNainštalujte Elasticsearch pomocou nasledujúceho príkazu:
sudo apt-get nainštalovať elasticsearchPo nainštalovaní Elasticsearch spustite a povoľte štart pri bootovaní pomocou príkazov systemctl:
sudo systemctl daemon-reloadsudo systemctl povoliť elasticsearch.služby
sudo systemctl spusti elasticsearch
Spustenie služby môže chvíľu trvať. Počkajte niekoľko minút a pomocou príkazu potvrďte, že je služba v prevádzke
sudo systemctl status elasticsearch.službyPomocou cURL otestujte, či je k dispozícii rozhranie Elasticsearch API, ako je znázornené na výstupe JSON nižšie:
curl -X ZÍSKAŤ "localhost: 9200 /?pekne ""name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"verzia":
"number": "7.10.1 ",
"build_flavor": "predvolené",
"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”: “You know, for Search”
Ako nainštalovať Logstash?
Nainštalujte balík logstash pomocou príkazu:
sudo apt-get nainštalovať logstashAko nainštalovať Kibana?
Zadajte nasledujúci príkaz na inštaláciu kibany:
sudo apt-get nainštalovať kibanaAko nakonfigurovať Elasticsearch, Logstash a Kibana?
Tu je postup, ako nakonfigurovať zásobník ELK:
Ako nakonfigurovať Elasticsearch?
V službe Elasticsearch sa dáta zoradia do indexov. Každý z týchto indexov má jeden alebo viac zlomkov. Črep je samostatný vyhľadávač používaný na spracovanie a správu indexov a dotazov pre podmnožinu v klastri v rámci Elasticsearch. Črep funguje ako inštancia lucenského indexu.
Predvolená inštalácia Elasticsearch vytvorí pre každý index päť zlomkov a jednu repliku. Toto je dobrý mechanizmus pri výrobe. V tomto výučbe však budeme pracovať s jedným zlomkom a bez replík.
Začnite vytvorením šablóny indexu vo formáte JSON. V súbore nastavíme počet zlomkov na jednu a nula replík na zodpovedajúce názvy indexov (vývojové účely).
V Elasticsearch sa šablóna indexu týka toho, ako dávate Elasticsearchu nastavenie indexu počas procesu vytvárania.
Vo vnútri súboru šablóny JSON (index_template.json), zadajte nasledujúce pokyny:
"template": "*",
"nastavenie":
"index":
"number_of_shards": 1,
"number_of_replicas": 0
Pomocou cURL použite konfiguráciu json na šablónu, ktorá sa použije na všetky vytvorené indexy.
curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json"potvrdené": true
Po použití Elasticsearch odpovie potvrdeným: pravdivým vyhlásením.
Ako nakonfigurovať logstash?
Aby Logstash zhromažďoval protokoly z Apache, musíme ho nakonfigurovať tak, aby sledoval všetky zmeny v protokoloch zhromažďovaním, spracovaním a následným ukladaním protokolov do Elasticsearch. Aby ste tak mohli urobiť, musíte v Logstashe nastaviť cestu protokolu zhromažďovania.
Začnite vytvorením konfigurácie protokolu Logstash v súbore / etc / logstash / conf.d / apache.konf
vstupsúbor
path => '/ var / www / * / logs / access.prihlásiť sa
type => "apache"
filter
grok
match => "message" => "% COMBINEDAPACHELOG"
výkon
elasticsearch
Teraz nezabudnite povoliť a spustiť službu logstash.
sudo systemctl povoliť logstash.službysudo systemctl spusti logstash.služby
Ako povoliť a nakonfigurovať Kibanu?
Ak chcete povoliť Kibanu, upravte hlavný .yml konfiguračný súbor umiestnený v / etc / kibana / kibana.yml. Vyhľadajte nasledujúce položky a odkomentujte ich. Po dokončení použite službu systemctl na spustenie služby Kibana.
server.port: 5601server.hostiteľ: "localhost"
sudo systemctl povoliť kibanu.service && sudo systemctl start kibana.služby
Kibana vytvára indexové vzory na základe spracovaných údajov. Preto musíte zbierať protokoly pomocou programu Logstash a ukladať ich do aplikácie Elasticsearch, ktorú môže Kibana používať. Na vytvorenie protokolov z Apache použite curl.
Keď máte protokoly z Apache, spustite Kibanu vo svojom prehliadači pomocou adresy http: // localhost: 5601, ktorá spustí indexovú stránku Kibana.
V zásade musíte nakonfigurovať vzor indexu, ktorý používa Kibana na vyhľadávanie protokolov a generovanie správ. Kibana predvolene používa indexový vzor logstash *, ktorý sa zhoduje so všetkými predvolenými indexmi generovanými programom Logstash.
Ak nemáte žiadnu konfiguráciu, kliknutím na vytvoriť spustíte prezeranie protokolov.
Ako zobraziť protokoly Kibana?
Keď budete pokračovať v plnení požiadaviek Apache, Logstash zhromaždí protokoly a pridá ich do Elasticsearch. Tieto protokoly môžete zobraziť v Kibane kliknutím na možnosť Objaviť v ľavej ponuke.
Karta Objaviť vám umožňuje zobraziť protokoly tak, ako ich generuje server. Ak chcete zobraziť podrobnosti protokolu, jednoducho kliknite na rozbaľovaciu ponuku.
Čítať a porozumieť údajom z protokolov Apache.
Ako vyhľadávať protokoly?
V rozhraní Kibana nájdete vyhľadávací panel, ktorý vám umožní vyhľadávať údaje pomocou reťazcov dotazu.
Príklad: stav: aktívny
Viac informácií o reťazcoch dotazov ELK sa dozviete tu:
https: // www.elastické.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-syntax
Pretože máme do činenia s protokolmi Apache, jednou z možných zhôd je stavový kód. Preto hľadaj:
odpoveď: 200Tento kód vyhľadá protokoly so stavovým kódom 200 (OK) a zobrazí ich spoločnosti Kibana.
Ako vizualizovať protokoly?
Vizuálne informačné panely môžete v Kibane vytvoriť výberom karty Vizualizovať. Vyberte typ informačného panela, ktorý chcete vytvoriť, a vyberte svoj vyhľadávací index. Predvolenú hodnotu môžete použiť na testovacie účely.
Záver
V tejto príručke sme diskutovali o prehľade používania zásobníka ELK na správu protokolov. Tento článok však môže pokrývať ešte viac. Odporúčame preskúmať na vlastnú päsť.