10 odprtokodnih zbiralnikov dnevnika za centralizirano beleženje

Razlika med povprečnimi izdelki in odličnimi izdelki je beleženje. Preberite, zakaj je tako in kako to povezati.


Tako kot varnost je beleženje še en ključni sestavni del spletnih aplikacij (ali programov na splošno), ki se postavi na drugo stran zaradi starih navad in nezmožnosti, da bi videli naprej. Tisti, ki jih mnogi vidijo kot neuporabne posnetke digitalnega traku, so močna orodja za pregled v svojih aplikacijah, odpravljanje napak, izboljšanje šibkih območij in navdušenje strank.

Preden se lotimo centraliziranega beleženja, najprej poglejmo, zakaj je beleženje tako velika stvar.

Dve vrsti (ravni) beleženja

Računalniki so deterministični sistemi, razen kadar jih ni.

Kot poklicni razvijalec, Naletela sem na veliko primerov, ko je opazovano vedenje aplikacije vse dni osuplo, vendar je bil ključ vedno v dnevnikih. Vsak del programske opreme, ki jo izvajamo, ustvari (ali vsaj ustvarja) dnevnike, ki nam povedo, skozi kaj je prišlo, ko se je zgodila problematična situacija.

Zdaj, kolikor vidim, je beleženje dveh vrst: samodejno ustvarjeno dnevniki in programer generirano dnevniki. Upoštevajte, da to ni nikakršno razlikovanje med učbeniki in če me navajate v tej terminologiji, vas bo spravilo v težave. ��

Zgornja slika prikazuje, kaj lahko označimo kot samodejno ustvarjen dnevnik.

V tem konkretnem primeru gre za sistem WordPress, ki beleži nepričakovano stanje (Obvestilo), ko izvaja nekaj kod PHP. Dnevniki, kakršni so ti, se nenehno ustvarjajo z orodji za baze podatkov, kot je MySQL, spletnimi strežniki, kot je Apache, programskimi jeziki in okolji, mobilnimi napravami in celo operacijskimi sistemi.

Te redko vsebujejo veliko vrednosti, programerji pa se sploh ne trudijo pogledati, razen kadar gre kaj narobe. V takšnih trenutkih se kopajo globoko v hlode in poskušajo razumeti, kaj je šlo narobe.

Toda samodejno ustvarjeni dnevniki lahko pomagajo samo toliko. Če ima na primer več oseb skrbniški dostop do spletnega mesta in se zgodi, da eden od njih izbriše bistveni podatek, ni mogoče zaznati krivca z uporabo samodejno ustvarjenih dnevnikov. Z vidika sistemov, povezanih kot aplikacija, je bil v službi le še en dan – nekdo je imel potrebno pooblastilo za izvedbo naloge in sistem jo je izvedel.

Tu je potreben dodaten sloj eksplicitne, obsežne beleženja, ki ustvarja sledi za človeško plat stvari. To je tisto, čemur pravim dnevniki, ki jih ustvarjajo programerji, in tvorijo hrbtenico občutljivih industrij, kot je bančništvo. Tu je primer, kako lahko izgleda taka shema beleženja:

Vir: joomlatools.com

Zapisovanje je moč

Torej, glede na ti dve vrsti dnevnikov v sistemu, tukaj je opis, kako jih lahko izkoristite in povečate vpliv.

Ostati pred stranko

“Užitek kupcev” je postal znan kot neuporaben marketinški trik, toda zahvaljujoč se prijavi je mogoče narediti zelo resnično. Vem za digitalne izdelke, ki spremljajo njihove dnevnike kot jastreb, in takoj, ko stranka kaj zlomi na strani, lahko pokliče stranko in ji ponudi pomoč.

Samo pomislite – v nekaj sekundah, ko ste dobili grdo napako, pokličete podjetje, ki pravi: “Hej, razumem, da ste poskušali dodati ta izdelek v voziček, vendar je še naprej umiral. Ali je v redu, da tokrat dodam in dokončam naročilo za vas? “

Navdušeni kupec? Veš da!

Moral in produktivnost ekipe

Kot sem že povedal, ko se hrošči dolgo časa ne odpravljajo, se razvijalci v vaši ekipi razočarajo in izgubljajo vedno več časa, ko lovijo svoje repo. In tu je stvar pri odpravljanju napak – od začetka je potreben svež, radoveden um. Če WTF misli toliko, da ti vstopi v možgane, gre celoten postopek za premetavanje.

In kaj povzroča odpravljanje napak težko? Po mojih izkušnjah je pomanjkanje sečnje ali nepoznavanje beleženja. Za začetek se morda ne zavedate, da je vaša najljubša baza podatkov le še en del programske opreme, ki ustvarja dnevnike, ali pa v svoji aplikaciji ne beležite obsežnih dnevnikov (glejte dnevnike, ki jih ustvarjajo programerji zgoraj).

Še posebej se spominjam primera, ko se prošnja ni odzvala in nihče ni vedel, zakaj. Nekaj ​​dni pozneje je bil krivec omejitev vhodno / izhodne plošče na disku zaradi prekomernega prometa. Ker se nihče ni trudil pogledati tja, nihče ni mogel ugotoviti, zakaj.

Revizijske sledi

Kaj pa, če čez dve leti vaša stranka pravi, da vseh teh naročil ni dal on, ampak nek heker?

Kateri argument bi moral zahtevo vključiti ali zavrniti? Če imate obsežno beleženje (IP naslov, datum in čas, kreditna kartica itd.), Boste lahko vse to analizirali in sprejeli odločitev. Dobro ali slabo, bo imel vsaj neko objektivno podlago, namesto da bi bil podoben posnetku v temi.

Vir: signature-reads.com

Enako velja, če naletite na nekatere regulativne leče ali morate opraviti revizijo tretje osebe kot del novega pomembnega projekta. Če nimate robustnega sistema za beleženje, se bo prikazal v slabi luči.

Izboljšanje obstoječih sistemov

Kako napredujete pri izboljšanju trenutnega sistema?

Ali bi morali nanj samo vreči več niti RAM-a in CPU-ja? Kaj pa, če je vaša aplikacija počasna kljub dovolj sredstev? Kje je ozko grlo? Pogosteje kot odgovor je beleženje.

Na primer, vsi glavni sistemi baz podatkov imajo funkcijo za beleženje počasne poizvedbe.

Vir: speedawarenessmonth.com

Če redno obiskujete dnevnik počasnih poizvedb, boste spoznali, katere operacije in si vzeli največ časa, ter odkrili majhna, a pomembna področja, ki potrebujejo delo. Pogosto majhna sprememba deluje bolje kot podvojitev strojne opreme.

Ni štetja, na kakšen način vam pomaga dober sistem beleženja. Morda je najboljši argument ta, da gre za avtomatizirano dejavnost, ki se enkrat ustanovi, ne potrebuje nobenega spremljanja in vas bo nekega dne rešila pred propadom..

S tem ne gre več, poglejmo nekaj neverjetnih odprtokodnih zbiralnikov dnevnika (poenotena orodja za beleženje). V primeru, da se sprašujete, smo v prejšnji objavi pokrivali komercialna orodja za beleženje v oblaku.

Graylog

Graylog je eno vodilnih imen v industriji, ko gre za zmogljivosti za zapisovanje in vizualizacijo v panogi. Edinstven je tudi po tem, da v zbranih dnevnikih pregleda znake varnostnih ranljivosti in vas takoj obvesti.

Medtem ko je Graylog centraliziran sistem za beleženje, ima potrebno prilagodljivost, ki vam omogoča prilagajanje opozoril, nadzornih plošč in še več.

Greylog je odprtokodno, vendar obstaja načrt podjetja, če so vaše potrebe zapletene.

S strankami, kot so SAP, Cisco in LinkedIn na svojem seznamu, je Graylog orodje, ki mu lahko zaupate z zaprtimi očmi.

Logstash

Če ste ljubitelj ali uporabnik sklopa Elastic, Logstash je vredno preveriti (sklad ELK je že stvar, če tega še niste vedeli). Kot druga orodja za beleženje na tem seznamu, tudi Logstash, če je v celoti odprtokodno, ki vam omogoča svobodo nameščanja in uporabe po želji.

Ne bodite pa zavedeni: Logstash je matično osebje, ki z zmogljivostmi močno odtehta katero koli skromno orodje za beleženje. Zbere lahko veliko količino podatkov z več platform, omogoča definiranje in izvajanje lastnih podatkovnih cevovodov, smiselnost nestrukturiranih odlagališč dnevnika in še več.

Seveda je edina omejitev ta, da deluje samo z paketom izdelkov Elastic, vendar če začnete in iščete lestvico kmalu, je Logstash pot.!

Tečno govori

Med orodji za centralizirano beleženje, ki delujejo kot srednji sloj za zaužitje podatkov, Flutend je prvi med enakimi. Z odlično knjižnico vtičnikov lahko Fluentd zajame podatke iz skoraj vsakega proizvodnega sistema, ga zmeša v želeno strukturo, zgradi prilagojen cevovod in ga naloži na svojo najljubšo analitično platformo, pa naj bo to MongoDB ali Elasticsearch.

Fluentd je zgrajen na Ruby, je v celoti odprtokodno, in je zelo priljubljen zaradi svoje prožnosti in modularnosti.

Z večjimi podjetji, kot so Microsoft, Atlassian in Twilio, ki uporabljajo platformo, Fluentd nima česa dokazati. ��

Cvetje

Če so resnično, so resnično veliki nabori podatkov vaš izziv in sčasoma želite vse vnesti v nekaj, kot je Hadoop, Cvetje je ena najboljših odločitev. Gre za “čisti” odprtokodni projekt, v smislu, da ga vzdržuje naša ljubljena fundacija Apache, kar pomeni, da ni načrta podjetja.

To je tisto, kar točno iščete, ali ne. ��

Vir :yondcoder.com

Napisana v Javi (kar me še naprej osupne, ko gre za prelomno tehnologijo) je izvorna koda Flume v celoti odprto. Flume je najboljši za vas, če iščete porazdeljeno platformo za zaužitje podatkov, ki je odporna na napake, za težke stvari.

Hobotnica

Dajem mu nič od desetih za poimenovanje izdelkov, ampak Hobotnica je lahko dobra izbira, če so vaše potrebe preproste in se sprašujete o tem, kaj vse je v zvezi s cevovodi, zaužitjem, agregatom itd..

Po mojem mnenju Octopussy pokriva potrebe večine izdelkov zunaj (ocenjene statistike so neuporabne, če pa bi moral ugibati, bi rekel, da skrbi za 80% primerov uporabe v resničnem svetu).

Octopussy nima odličnega uporabniškega vmesnika (glej tukaj) sploh, vendar to nadomešča glede hitrosti in pomanjkanja napihnjenosti. Vir je na voljo na GitHub, kot je bilo pričakovano, in mislim, da je vredno resnega pogleda.

LOGaliliza

LOGaliliza je bil komercialni izdelek, ki je bil pred kratkim narejen z odprto kodo. Čeprav projekta na GitHubu nisem mogel podati, naredita namestitveni program za Windows in vso kodo lahko naložite.

Če nameravate v skupnosti, lahko najdete podrobnosti o poštnem seznamu tukaj.

LOGalyze je razmeroma prilagodljiva in zmogljiva ponudba, ki bo lepo delovala za enosistemske uvajanja, ki poskušajo kombinirati beleženje iz znanih virov, kot so Postfix, Apache, itd., In ustvarjajo rezultate v CSV, PDF, HTML ali podobnih oblikah. Da, ne naredi vse, a ker je bil nekoč komercialni izdelek, to deluje precej dobro.

LogPacker

Ko gre za izbiro orodja za službo, imam dva merila: biti mora osredotočen in mora biti podprt z aktivnim poslovnim modelom. Na splošno je težava pri odprtokodni programski opremi v tem, da je nekaj mesecev / let na poti veliko možnosti za stagnacijo ali smrt. Ni štetja, koliko orodij za beleženje je bilo s pogumom sproženih, le zdaj jih lahko najdemo na pokopališču GitHub.

Izmerjeno s to merilnico, LogPacker je zame najljubša.

Kot lahko razberete s posnetka zaslona, ​​LogPacker govori o dnevnikih in nič drugega. Njihov pritisk je vsekakor v smeri njihove ponudbe v oblaku, vendar ste več kot dobrodošli, da ga prenesete in namestite na svoje strežnike (stran GitHub tukaj).

Grozd in združevanje sta na voljo tistim, ki ga želijo uporabiti na nepomembnem obsegu, na voljo pa so tudi podjetniški načrti, ki želijo sodelovati z API-jem ali potrebujejo večje uvajanje. Po mojem mnenju prenašanje minimalističnega (osredotočenega, čeprav ne zelo slabega) prevzame upravljanje beleženja!

Logwatch

Prepričan sem, da so med nami tudi tisti, ki ne želijo, da bi bila vsa slovesnost povezana z “enotnim”, “centraliziranim” sistemom beleženja. Njihovo poslovanje prihaja iz posameznih strežnikov in iščejo nekaj hitrega in učinkovitega za gledanje svojih dnevniških datotek. Pa, pozdravi se Logwatch.

Ko je nameščen, LogWatch lahko pregleda sistemske dnevnike in ustvari poročilo želenega tipa. To je nekoliko datiran del programske opreme (beri “zanesljiv”), vendar je bil napisan v Perlu. Torej, za zagon boste potrebovali Perl 5.6+ na svojem strežniku. Nimam nobenih posnetkov zaslona, ​​ker bi šlo za čisto ukazno vrstico, demoniziran postopek.

Če ste narkoman CLI in imate radi starošolski način početja, boste vzljubili Logwatch!

Syslog-ng

The Syslog-ng orodje je bilo razvito kot način za obdelavo datotek syslog (uveljavljen protokol odjemalec-strežnik za sistemsko beleženje) podatkovnih datotek v realnem času. Sčasoma pa je že podpiral druge oblike podatkov: nestrukturiran, SQL in NoSQL. Kako deluje protokol syslog, je lepo prikazano na naslednji sliki.

syslog-ng je zanesljivo orodje za zbiranje in razvrščanje hlodov, ki je bilo napisano na C in je že dolgo uveljavljeno ime v panogi. Najboljši del je njegova razširljivost, ki omogoča pisanje vtičnikov v C, Python, Java, Lua ali Perl.

lnav

Kratek za (Log Navigator), lnav je čisto terminalno orodje, ki deluje na enem samem stroju, enem samem imeniku. To je za tiste, ki imajo svojo beleženje združeno v en sam imenik ali želijo filtrirati in prikazati dnevnike v realnem času iz enega vira.

Če bi mislili, da lnav ni nič drugega kot slaven rep | grep, bi se motili. Vanj se boste zaljubili več funkcij: pogled na časovne vrste, lep tisk (za JSON in druge formate), barvno kodirani viri dnevnikov, močni filtri, sposobnost razumevanja več protokolov beleženja in še več.

Samo, da včasih želite nič težav, nastavitev nič, morda začasen sloj zapisovanja in lnav popolnoma ustreza računu!

Zaključek

In tam ga imate!

Če sem odkrit odkrit, težko sem ga sestavili, saj beleženje ni tako priljubljeno, kot je recimo upravljanje vsebin, in zdi se, da so vso miselnost prijeli tri ali štiri orodja. Kljub temu so potrebe vseh različne, in poskušal sem jih obsežno pokriti.

Od neumnih ukaznih vrstic, brez nastavitvenih orodij do polno izpopolnjenih podatkovnih žig, tukaj je vse! Sem kaj pogrešala? Seveda sem se! Sporočite mi v komentarjih in z veseljem jih bom dodala sem (seveda s krediti!).

Oznake:

  • Odprtokodno

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