10 Zberateľov otvorených zdrojov denníkov pre centralizované protokolovanie

Rozdiel medzi priemernými výrobkami a vynikajúcimi výrobkami je zaznamenávanie. Zistite, prečo je to tak, a ako to všetko zviazať dokopy.


Rovnako ako bezpečnosť, protokolovanie je ďalšou kľúčovou zložkou webových aplikácií (alebo aplikácií všeobecne), ktoré sa dostanú na vedľajšiu koľaj kvôli starým návykom a neschopnosti vidieť dopredu. To, čo mnohí vidia ako zbytočné balíky digitálnej pásky, sú výkonné nástroje na prezeranie aplikácií, na opravu chýb, zlepšenie slabých miest a potešenie zákazníkov..

Skôr ako sa dostaneme k centralizovanému protokolovaniu, poďme sa najprv pozrieť, prečo je protokolovanie také veľké.

Dva typy (úrovne) protokolovania

Počítače sú deterministické systémy, s výnimkou prípadu, keď nie sú.

Ako profesionálny vývojár, Stretol som sa s mnohými prípadmi, keď pozorované správanie aplikácie bolo celé celé dni zmätené, ale kľúč bol vždy v protokoloch. Každý softvér, ktorý prevádzkujeme, vytvára (alebo aspoň generuje) denníky, ktoré nám hovoria, čo prešlo v čase výskytu problémovej situácie..

Teraz, ako to vidím, sa zaznamenáva dva typy protokolov: auto-generované denníky a programátor generované protokoly. Upozorňujeme, že nejde o žiadnu diferenciáciu učebníc a citovanie mi v tejto terminológii vás dostane do problémov. ��

Obrázok vyššie ukazuje, čo možno nazvať automaticky generovaný denník.

V tomto konkrétnom prípade ide o systém WordPress, ktorý pri spustení nejakého kódu PHP zaznamenáva neočakávaný stav (oznámenie). Denníky, ako sú tieto, sa neustále generujú neúnavne – pomocou databázových nástrojov, ako je MySQL, webových serverov ako Apache, programovacích jazykov a prostredí, mobilných zariadení a dokonca aj operačných systémov..

Tieto zriedkavo obsahujú veľa hodnoty a programátori sa ani neobťažujú pozerať na ne, s výnimkou prípadov, keď sa niečo pokazí. V takých chvíľach sa kopajú hlboko do protokolov a snažia sa pochopiť, čo sa stalo.

Ale automaticky generované protokoly môžu pomôcť len toľko. Ak má napríklad niekoľko správcov prístup na web a niektorý z nich odstráni podstatnú časť informácií, je nemožné zistiť vinníka pomocou automaticky generovaných protokolov. Z pohľadu systémov zviazaných spolu s aplikáciou to bol len ďalší deň v práci – niekto mal potrebné oprávnenie na vykonanie úlohy, a tak systém vykonal úlohu.

Potrebujeme tu ďalšiu vrstvu explicitného a rozsiahleho zaznamenávania, ktoré vytvára chodníky pre ľudskú stránku vecí. Toto sú veci, ktoré nazývam denníky generované programátorom, a tvoria chrbticu citlivých odvetví, ako je bankovníctvo. Tu je príklad, ako by takáto schéma protokolovania mohla vyzerať:

Zdroj: joomlatools.com

Protokolovanie je výkon

Vzhľadom na tieto dva typy protokolov v systéme je teda možné tieto páky využiť a zvýšiť dopad.

Zostať pred zákazníkom

„Zákaznícky pôžitok“ sa stal známym ako zbytočný marketingový trik, ale vďaka prihláseniu sa môže stať veľmi skutočným. Poznám digitálne produkty, ktoré sledujú ich denníky ako jastrab, a akonáhle zákazník niečo na stránke poruší, môže mu zavolať a ponúknuť mu pomoc.

Len o tom premýšľajte – v priebehu niekoľkých sekúnd od získania škaredej chyby dostanete hovor od spoločnosti, ktorá hovorí: „Hej, chápem, že ste sa pokúšali pridať túto položku do košíka, ale to stále zomieralo. Je pre mňa v poriadku pridať tento čas a dokončiť objednávku za vás? “

Potešený zákazník? Stavíte sa!

Morálka tímu a produktivita

Ako som už povedal predtým, keď sú chyby dlho odstránené, vývojári vo vašom tíme sú frustrovaní a strácajú čoraz viac času prenasledovaním chvostov. A tu je tá vec s ladením – vyžaduje si od začiatku čerstvú zvedavú myseľ. Ak si WTF myslí toľko, ako vstúpi do vášho mozgu, celý proces ide o prehadzovanie.

A čo sťažuje ladenie? Podľa mojich skúseností, nedostatočná ťažba dreva alebo nedostatočná znalosť ťažby dreva. Pre začiatočníkov si možno neuvedomujete, že vaša obľúbená databáza je tiež len ďalším softvérom, ktorý generuje protokoly, alebo že sa vo svojej aplikácii neprihlasujete vo veľkom rozsahu (pozri denníky generované programátormi).

Spomínam si najmä na prípad, keď žiadosť nereagovala a nikto nevedel prečo. O niekoľko dní neskôr, vinníkom bol limit disku I / O dosiahnutý kvôli nadmernej premávke. Pretože sa nikto neobťažoval pozerať sa tam, nikto nedokázal zistiť prečo.

Auditné stopy

Čo keď dva roky po línii váš zákazník hovorí, že všetky tieto objednávky neboli zadané, iba nejaký hacker?

Aké argumenty by museli prijať alebo zamietnuť ich žiadosť? Ak máte rozsiahle protokolovanie (IP adresa, dátum a čas, kreditná karta atď.), Budete môcť všetko analyzovať a dospieť k rozhodnutiu. Dobré alebo zlé, bude mať prinajmenšom objektívny základ, skôr ako sa bude podobať výstrelu v tme.

Zdroj: signature-reads.com

To isté platí, ak sa ocitnete pod nejakou regulačnou šošovkou alebo ak ste povinní podstúpiť audit tretej strany v rámci nového dôležitého projektu. Nemáte robustný systém prihlásenia vám ukáže v zlom svetle.

Zlepšenie existujúcich systémov

Ako postupujete pri vylepšovaní súčasného systému?

Mali by ste za to hodiť viac vlákien RAM a CPU? Čo ak je vaša aplikácia pomalá napriek dostatočným zdrojom? Kde je úzky profil? Odpoveďou je častejšie protokolovanie.

Napríklad všetky hlavné databázové systémy majú funkciu protokolovania pomalé dotazy.

Zdroj: speedawarenessmonth.com

Ak pravidelne navštevujete protokol pomalých dopytov, dozviete sa, ktoré operácie a ktoré zaberajú najviac času, a odhaľujete tak malé, ale dôležité oblasti, ktoré si vyžadujú prácu. Takáto malá zmena často funguje lepšie ako zdvojnásobenie kapacity hardvéru.

Nehovorí sa, koľko spôsobov vám dobrý systém protokolovania pomôže. Asi najlepším argumentom je, že je to automatizovaná činnosť, ktorá po nastavení nevyžaduje žiadne monitorovanie a jedného dňa vás ušetrí od ruín..

Týmto spôsobom sa pozrime na niektoré z úžasných zberateľov protokolov Open Source (unified tools logging) tam. Len v prípade, že vás zaujíma, v predchádzajúcom príspevku sme pokryli komerčné nástroje na protokolovanie v cloude.

Graylog

Graylog je jedným z vedúcich mien v tomto odvetví, pokiaľ ide o možnosti protokolovania a vizualizácie v tomto odvetví. Je tiež jedinečná v tom, že prehľadáva vaše zhromaždené denníky, či neobsahujú známky bezpečnostných zraniteľností a okamžite vás upozorní.

Aj keď je Graylog centralizovaný systém protokolovania, má potrebnú flexibilitu a umožňuje vám prispôsobiť upozornenia, dashboardy a ďalšie..

Greylog je otvorený zdroj, ak sú však vaše potreby komplexné, existuje podnikový plán.

S klientmi ako SAP, Cisco a LinkedIn v zozname sú Graylog nástrojom, ktorému môžete dôverovať so zavretými očami.

Logstash

Ak ste fanúšikom alebo používateľom Elastic stacku, Logstash sa oplatí skontrolovať (zásobník ELK je už vec, v prípade, že ste to nevedeli). Rovnako ako iné protokolovacie nástroje v tomto zozname, Logstash, ak je úplne otvorený zdroj, čo vám umožní slobodu nasadenia a používania podľa vášho želania.

Ale nenechajte sa zavádzať: Logstash je materská loď so schopnosťou ďaleko prevyšujúcou akýkoľvek skromný nástroj na protokolovanie. Dokáže zhromažďovať obrovské množstvo údajov z viacerých platforiem, umožňuje vám definovať a spustiť vlastné dátové kanály, zmysel pre neštruktúrované výpisy protokolov a ďalšie.

Jediným obmedzením je samozrejme to, že funguje iba so súborom výrobkov Elastic, ale ak začínate a chystáte sa čoskoro rozšíriť, Logstash je spôsob, ako ísť!

Fluentd

Medzi nástroje centralizovaného protokolovania, ktoré fungujú ako stredná vrstva na príjem údajov, Flutend je prvý medzi rovnými. Vďaka vynikajúcej knižnici doplnkov je spoločnosť Fluentd schopná zachytávať údaje prakticky z akéhokoľvek produkčného systému, miesiť ich do požadovanej štruktúry, zostaviť vlastný plynovod a vložiť ich do svojej obľúbenej analytickej platformy, či už ide o MongoDB alebo Elasticsearch..

Fluentd je postavený na Ruby, je úplne otvorený zdroj, a je veľmi populárny kvôli svojej flexibilite a modularite.

Keďže platforma využíva veľké spoločnosti ako Microsoft, Atlassian a Twilio, nemá Fluentd čo dokázať. ��

žľab

Ak naozaj, naozaj veľkou množinou údajov je vaša výzva, a nakoniec budete chcieť všetko nakrmiť do niečoho ako Hadoop, žľab je jednou z najlepších možností v okolí. Je to „čistý“ projekt s otvoreným zdrojovým kódom v tom zmysle, že je udržiavaný našou milovanou nadáciou Apache, čo znamená, že neexistuje žiadny podnikateľský plán..

Toto môže alebo nemusí byť to, čo presne hľadáte. ��

Zdroj :yondcoder.com

Napísaný v jazyku Java (ktorý ma neustále udivuje, keď príde na priekopnícku technológiu), zdrojový kód Flume je úplne otvorené. Flume je pre vás najlepší, ak hľadáte distribuovanú platformu na príjem údajov odolnú voči chybám pre ťažké veci..

Chobotnička

Dávam to nula z desiatich pre pomenovanie produktu, ale Chobotnička môže byť dobrou voľbou, ak sú vaše potreby jednoduché a zaujíma vás, o čom sú všetky problémy súvisiace s potrubiami, požitím, agregáciou atď..

Podľa môjho názoru Octopussy pokrýva potreby väčšiny produktov tam (odhadované štatistiky sú zbytočné, ale keby som musel hádať, povedal by som, že sa stará o 80% prípadov použitia v skutočnom svete).

Octopussy nemá skvelé používateľské rozhranie (pozri tu), ale napraví to kvôli rýchlosti a nedostatku nadúvania. Zdroj je k dispozícii na GitHub, podľa očakávania a myslím si, že to stojí za seriózny pohľad.

LOGalyze

LOGalyze bol komerčný produkt, ktorý bol nedávno vyrobený z otvoreného zdroja. Aj keď sa mi nepodarilo projekt na serveri GitHub, donútia inštalačného programu Windows a stiahnuť si zdrojový kód.

Ak máte záujem o komunitu, nájdete podrobnosti o zozname adries tu.

LOGalyze je relatívne flexibilná a výkonná ponuka, ktorá bude dobre fungovať pri nasadeniach v jednom systéme, ktoré sa snažia kombinovať protokolovanie zo známych zdrojov, ako je Postfix, Apache atď., A produkujú výstup vo formátoch CSV, PDF, HTML alebo podobných formátoch. Áno, nerobí všetko, ale keďže išlo o komerčný produkt naraz, robí to celkom dobre.

LogPacker

Pokiaľ ide o výber nástroja pre danú prácu, mám dve kritériá: musí sa zamerať a musí sa opierať o aktívny obchodný model. Problém so softvérom s otvoreným zdrojovým kódom všeobecne je, že niekoľko mesiacov / rokov po ceste sú vysoké šance na stagnáciu alebo smrť. Nie je možné zistiť, koľko protokolovacích nástrojov bolo spustených pomocou programu gusto, ktoré nájdete teraz na cintoríne GitHub..

Zmerané týmto meradlom, LogPacker je pre mňa obľúbená.

Ako vidíte na snímke obrazovky, LogPacker je o protokoloch a nič iné. Ich tlak je určite k ich cloudovým ponukám, ale ste vítaní, keď si ich stiahnete a nainštalujete na svoje servery (stránka GitHub). tu).

Klastrovanie a agregácia sú k dispozícii pre tých, ktorí ho chcú používať v netriviálnom meradle, a sú k dispozícii podnikové plány, ktorí chcú pracovať s rozhraním API alebo potrebujú väčšie nasadenia. Podľa môjho názoru sa osviežujúci minimalistický (zameraný, aj keď nie príliš slabý) systém riadenia protokolovania!

Logwatch

Som si istý, že medzi nami sú tí, ktorí nechcú, aby bol celý obrad spojený s „zjednoteným“ centralizovaným protokolovým systémom. Ich podnikanie pochádza z jednotlivých serverov a hľadajú niečo rýchle a efektívne na sledovanie svojich protokolových súborov. Ahoj Logwatch.

Po nainštalovaní môže program LogWatch prehľadať vaše systémové denníky a vytvoriť správu požadovaného typu. Je to však trochu datovaný softvér (prečítaný „spoľahlivý“) a bol napísaný v Perle. Na spustenie budete teda potrebovať Perl 5.6+. Nemám žiadne snímky obrazovky, ktoré by som mohol zdieľať, pretože ide o čisto príkazový riadok, démonizovaný proces.

Ak ste feťák CLI a máte radi starodávny spôsob, ako robiť veci, zamilujete si Logwatch!

Syslog-ng

Syslog-ng nástroj bol vyvinutý ako spôsob spracovania dátových súborov syslog (zavedený protokol klient-server na protokolovanie systému) v reálnom čase. Postupom času však podporoval ďalšie formáty údajov: neštruktúrované, SQL a NoSQL. Ako funguje protokol syslog, sú na nasledujúcom obrázku do značnej miery zhrnuté.

syslog-ng je spoľahlivý a spoľahlivý nástroj na zber a klasifikáciu protokolov, ktorý bol napísaný v jazyku C a bol v priemysle dlhodobo známym menom. Najlepšie na tom je jeho rozšíriteľnosť, ktorá vám umožňuje písať doplnky v jazykoch C, Python, Java, Lua alebo Perl..

LNAV

Skratka pre (Log Navigator), LNAV je čisto terminálový nástroj, ktorý funguje na jednom počítači, v jednom adresári. Je to pre tých, ktorí majú svoje logovanie zjednotené do jedného adresára alebo chcú filtrovať a zobrazovať denníky v reálnom čase z jedného zdroja.

Keby ste si mysleli, že lnav nie je ničím iným ako oslavovaným chvostom, mali by ste sa mýliť. Existuje niekoľko funkcií, vďaka ktorým sa doň zamilujete: zobrazenie časových radov, pekná tlač (pre JSON a iné formáty), farebné zdroje denníkov, výkonné filtre, schopnosť porozumieť viacerým protokolom protokolovania a ďalšie.

Je to len to, že niekedy chcete nulovú hádku, nastavenie nuly, možno dočasnú vrstvu protokolovania a lnav dokonale padne na účet.!

záver

A tu to máte!

Bolo to ťažké zostaviť, úprimne povedané, pretože protokolovanie nie je také populárne, ako je napríklad správa obsahu, a zdá sa, že všetky myslenia boli chytené tromi alebo štyrmi nástrojmi. Stále sú však potreby každého iné a ja som sa ich pokúsil do veľkej miery pokryť.

Od hlúpeho príkazového riadku, nástrojov bez nastavenia až po plne funkčné dátové juggernauts, je to všetko tu! Chýbalo mi niečo? Samozrejme, že áno! Dajte nám vedieť v komentároch a radi ich doplníme sem (samozrejme s kreditmi!).

Tagy:

  • Open Source

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map