10 Otvoreni sakupljači dnevnika za centraliziranu prijavu

Razlika između osrednjih proizvoda i sjajnih proizvoda je sječa drva. Saznajte zašto je to tako i kako sve to povezati.


Baš kao i sigurnost, evidentiranje je još jedna ključna komponenta web aplikacija (ili aplikacija općenito) koja postaje po strani zbog starih navika i nemogućnosti gledanja naprijed. Ono što mnogi vide kao beskorisne nizove digitalnih vrpca moćan je alat za pregled unutar vaših aplikacija, ispravljanje pogrešaka, poboljšanje slabih područja i oduševljenje kupaca.

Prije nego što prijeđemo na centraliziranu prijavu, prvo razmotrimo zašto je prijava tako velika stvar.

Dvije vrste (razine) sječe drva

Računala su deterministički sustavi, osim kada nisu.

Kao profesionalni programer, Naišao sam na mnoge slučajeve u kojima promatrano ponašanje aplikacije svakim danima zbunjuje, ali ključ je uvijek bio u zapisnicima. Svaki softver koji pokrećemo proizvodi (ili bi barem trebao generirati) zapisnike, koji nam govore kroz što je prolazio kada se dogodila problematična situacija.

E sad, evidentiranje, kao što vidim, ima dvije vrste: Automatski generirani trupaca i programer generirani prijavljuje. Imajte na umu da ovo nije nikakvo razlikovanje udžbenika, a citiranje mene u ovoj terminologiji stvorit će vam probleme. ��

Slika iznad pokazuje što se može nazvati kao automatski generirani dnevnik.

U ovom konkretnom slučaju riječ je o sustavu WordPress koji bilježi neočekivano stanje (Obavijest) kada pokreće neki PHP kôd. Zapisi poput ovih generiraju se neumorno cijelo vrijeme – pomoću alata za bazu podataka poput MySQL, web poslužitelja poput Apache, programskih jezika i okruženja, mobilnih uređaja, pa čak i operativnih sustava.

Oni rijetko sadrže veliku vrijednost, a programeri se uopće ne trude gledati u njih, osim kad nešto pođe po zlu. U takvim trenucima kopaju duboko u trupce pokušavajući shvatiti što je pošlo po zlu.

Ali automatski generirani zapisnici mogu samo toliko pomoći. Ako nekoliko ljudi, primjerice, ima pristup administratoru web mjestu i dogodi se da jedan od njih izbriše bitne podatke, nemoguće je otkriti krivca upotrebom automatski generiranih zapisnika. Iz perspektive sustava povezanih kao aplikacija, u poslu je bio samo još jedan dan – neko je imao potrebna ovlaštenja za izvršavanje zadatka i sustav ga je izvršio.

Ovdje je potreban dodatni sloj eksplicitne, opsežne evidencije koja stvara tragove na ljudskoj strani stvari. To je ono što ja nazivam zapisnici generirani programerima, i čine okosnicu osjetljivih industrija poput bankarstva. Evo primjera kako može izgledati takva shema zapisivanja zapisa:

Izvor: joomlatools.com

Zapisivanje je snaga

Dakle, s obzirom na ove dvije vrste zapisa u sustavu, evo kako ih možete iskoristiti i pojačati utjecaj.

Ostati ispred kupca

„Zadovoljstvo kupaca“ postalo je poznato kao beskorisni marketinški trik, ali zahvaljujući prijavi, to može biti vrlo stvarno. Znam za digitalne proizvode koji prate njihove zapise poput jastreba, i čim kupac probije nešto na stranici, mogu nazvati kupca i ponuditi mu pomoć.

Pomislite samo na to – u roku od nekoliko sekundi od ružne pogreške primite poziv tvrtke koja kaže: „Hej, razumijem da ste pokušali dodati ovaj artikal u košaricu, ali nastavio je umirati. Je li u redu da ovaj put dodam i dovršim narudžbu za vas? “

Oduševljeni kupac? Kladite se!

Moral i produktivnost tima

Kao što sam rekao prije, programeri u vašem timu se frustriraju i sve više i više vremena gube svoje repove, kada se greške duže vrijeme ne prate. I tu je stvar s uklanjanjem pogrešaka – od početka je potreban svjež, znatiželjan um. Ako WTF misli toliko koliko vam uđe u mozak, čitav proces ide u bitku.

A što otežava uklanjanje pogrešaka? Prema mom iskustvu, nedostatak sječe drva ili nepoznavanje zapisnika. Za početak možda nećete shvatiti da je vaša omiljena baza podataka samo još jedan komad softvera koji generira zapisnike ili se u svojoj aplikaciji ne prijavljujete intenzivno (pogledajte zapisnike generirane od strane programera gore)..

Posebno se sjećam slučaja u kojem prijava nije reagirala, a nitko nije znao zašto. Nekoliko dana kasnije krivac je postignuto ograničenje ulaza / izlaza diska zbog prekomjernog prometa. Jer nitko se nije trudio da pogleda tamo, nitko nije mogao shvatiti zašto.

Tragovi revizije

Što ako dvije godine nakon narudžbe vaš kupac kaže da sve narudžbe nisu postavili oni, već neki haker?

Koji bi argument morao sadržavati ili odbiti njihov zahtjev? Ako imate opsežnu prijavu (IP adresu, datum i vrijeme, kreditna kartica itd.), Moći ćete sve to analizirati i donijeti odluku. Dobro ili loše, barem će imati neku objektivnu osnovu, umjesto da liči na pucanj u mraku.

Izvor: signature-reads.com

Isto se događa ako naiđete na neke regulatorne leće ili morate proći reviziju treće strane u sklopu novog, važnog projekta. Ako nemate robustan sustav za prijavu, prikazat će se u lošem svjetlu.

Poboljšanje postojećih sustava

Kako idete na poboljšanje trenutnog sustava?

Treba li samo baciti više niti RAM-a i CPU-a na to? Što ako je vaša aplikacija spora unatoč dovoljno resursa? Gdje je usko grlo? Češće nego ne, prijava je odgovor.

Na primjer, svi glavni sustavi baza podataka imaju značajku za bilježenje spori upiti.

Izvor: speedawarenessmonth.com

Ako redovito posjećujete dnevnik sporih upita, upoznat ćete koje operacije i oduzimate najviše vremena te otkriti mala, ali važna područja koja trebaju raditi. Ova mala promjena često funkcionira bolje nego udvostručenje hardverskog kapaciteta.

Nema prebrojavanja na koji vam način dobar sustav zapisivanja podataka pomaže. Možda je najbolji argument da je to automatizirana aktivnost koja je jednom postavljena, ne treba nikakvo nadgledanje i spasit će vas od propadanja neki dan.

Pri tome ćemo pogledati neke nevjerojatne otvorene kolektore dnevnika (Unified Alati za prijavu). Za svaki slučaj, pitate se, u prethodnom postu pokrenuli smo komercijalne alate za evidentiranje u oblaku.

Graylog

Graylog jedno je od vodećih imena u industriji kada je u pitanju industrijska pohrana i mogućnosti vizualizacije. Jedinstven je i po tome što skenira vaše prikupljene zapisnike radi otkrivanja sigurnosnih ranjivosti i odmah vas obavještava.

Iako je Graylog centralizirani sustav bilježenja, on ima potrebnu fleksibilnost, omogućavajući vam prilagođavanje upozorenja, nadzorne ploče i više.

Greylog je otvoreni izvor, ali postoji plan poduzeća ako su vaše potrebe složene.

S klijentima poput SAP-a, Cisca i LinkedIna na njegovom popisu, Graylog je alat kojem možete vjerovati zatvorenih očiju.

Logstash

Ako ste obožavalac ili korisnik grupe Elastic, Logstash vrijedi provjeriti (hrpa ELK-a je već stvar, u slučaju da niste znali). Kao i drugi alati za zapis na ovom popisu, i Logstash ako je u potpunosti otvoreni izvor, omogućujući vam slobodu raspoređivanja i korištenja kako želite.

Ali nemojte biti zavedeni: Logstash je matično tijelo koje sa značajkama daleko nadmašuje bilo koji ponizni alat za bilježenje. Može prikupljati ogromne količine podataka s više platformi, omogućuje vam definiranje i izvršavanje vlastitih cjevovoda za podatke, smisla nestrukturiranih deponija zapisnika i još mnogo toga.

Naravno, jedino ograničenje je da djeluje samo s Elastic paketom proizvoda, ali ako uskoro krenete i želite mjeriti, Logstash je to način na koji treba ići!

Fluentd

Među alatima za centraliziranje prijava koji rade kao srednji sloj za gutanje podataka, Flutend prvi je među jednakim. S izvrsnom bibliotekom dodataka, Fluentd je u stanju prikupiti podatke iz gotovo svakog proizvodnog sustava, umiješati ga u željenu strukturu, izgraditi prilagođeni cjevovod i poslati ga na svoju omiljenu analitičku platformu, bilo da je to MongoDB ili Elasticsearch.

Fluentd je izgrađen na Ruby, u cijelosti otvoreni izvor, i široko je popularan zbog svoje fleksibilnosti i modularnosti.

S velikim tvrtkama kao što su Microsoft, Atlassian i Twilio koji koriste platformu, Fluentd nema što dokazati. ��

Žlijeb

Ako su zaista, zaista veliki skupovi podataka predstavljaju vaš izazov i na kraju želite sve unijeti u nešto poput Hadoopa, Žlijeb jedan je od najboljih izbora oko nas. To je “čisti” projekt otvorenog koda, u smislu da ga održava naša voljena Apache Foundation, što znači da ne postoji poslovni plan.

To možete ili ne morate biti što tražite. ��

Izvor: izvancoder.com

Napisan na Javi (što me i dalje iznenađuje kada je u pitanju nova tehnologija), izvorni kod Flume-a je u potpunosti otvorena. Flume je najbolji za vas ako tražite distribuiranu platformu za gutanje podataka, otpornu na greške, za teške stvari.

Octopussy

Dajem mu nula od deset za imenovanje proizvoda, ali Octopussy može biti dobar izbor ako su vaše potrebe jednostavne i pitate se o čemu se radi u vezi sa svađom vezanom za cjevovode, gutanje, agregaciju itd..

Po mom mišljenju, Octopussy pokriva potrebe većine proizvoda vani (procijenjene statistike su beskorisne, ali ako moram pogoditi, rekao bih da se brine za 80% slučajeva upotrebe u stvarnom svijetu).

Octopussy nema sjajno korisničko sučelje (vidi ovdje) uopće, ali nadoknađuje brzinu i nedostatak napuhanosti. Izvor je dostupan na GitHub, kao što se očekivalo, i mislim da to vrijedi ozbiljno pogledati.

LOGalyze

LOGalyze bio komercijalni proizvod koji je nedavno napravljen s otvorenim kodom. Iako nisam mogao projekt na GitHubu, oni čine Windows instalacijski program i sav izvorni kôd može se preuzeti.

Ako namjeravate u zajednici, možete pronaći detalje o popisu e-pošte ovdje.

LOGalyze je relativno fleksibilna i moćna ponuda koja će lijepo raditi za implementacije u jednom sustavu koje žele kombinirati prijavu iz poznatih izvora poput Postfixa, Apachea itd. I stvarati izlaz u CSV, PDF, HTML ili sličnim formatima. Da, to ne čini sve, ali budući da je u jednom trenutku bio komercijalni proizvod, to čini prilično dobro.

LogPacker

Kad je u pitanju odabir alata za posao, imam dva kriterija: mora biti fokusiran i mora biti podržan aktivnim poslovnim modelom. Općenito, problem sa softverom za otvoreni kod jest taj što su nekoliko mjeseci / godina niz put, šanse za stagnaciju ili smrt velike. Ne broje se koliko je alata za bilježenje lansirano s guštom, samo da bi ih se sada moglo naći na groblju GitHub.

Izmjerio je ovaj mjerni mehanizam, LogPacker meni je omiljeno.

Kao što možete vidjeti sa snimke zaslona, ​​LogPacker se odnosi na zapisnike i ništa drugo. Njihov potisak definitivno je usmjeren prema njihovim oblačnim ponudama, ali vi ste više nego dobrodošli da ih preuzmete i instalirate na svoje poslužitelje (GitHub stranica ovdje).

Klasteriranje i združivanje dostupno je onima koji ga žele koristiti ne-trivijalno, a dostupni su i planovi poduzeća koji žele raditi s API-om ili trebaju veće implementacije. Po mom mišljenju, osvježavajuće minimalistički (fokusiran, iako ne i karakterističan loše) preuzima upravljanje sječom!

Logwatch

Siguran sam da ima i onih među nama koji ne žele da sve svečanosti budu povezane s “jedinstvenim”, “centraliziranim” sustavom zapisnika. Njihov posao dolazi s pojedinačnih poslužitelja, a oni traže nešto brzo i učinkovito za gledanje svojih zapisnika. Pa, pozdravite to Logwatch.

Jednom instaliran, LogWatch može skenirati zapise vašeg sustava i stvoriti izvješće vrste koju želite. To je, međutim, donekle datiran softver (čitaj „pouzdan“), a napisan je u Perlu. Dakle, trebat će vam Perl 5.6+ na vašem poslužitelju da biste ga pokrenuli. Nemam snimke zaslona za dijeljenje, jer je to čisto komandna linija, demonizirani proces.

Ako ste CLI narkoman i imate ljubav prema staroškolskom načinu postupanja, svidjet će vam se Logwatch!

Syslog-ng

Syslog-ng Alat je razvijen kao način za obradu syslog (uspostavljeni protokol klijent-poslužitelj za bilježenje sustava) podataka u stvarnom vremenu. Međutim, s vremenom je došao do podrške drugim formatima podataka: nestrukturiranim, SQL i NoSQL. Kako funkcionira syslog protokol, prilično je lijepo sažeto na sljedećoj slici.

syslog-ng pouzdan je alat za prikupljanje i klasifikaciju trupaca koji je napisan na C i već dugo je poznato ime u industriji. Najbolji dio je njegova proširivost koja omogućuje pisanje dodataka u obliku C, Python, Java, Lua ili Perl.

lnav

Skraćeno za (Navigator dnevnika), lnav je čisto terminalni alat koji radi na jednom stroju, u jednom direktoriju. Za one kojima je njihova prijava objedinjena u jedan direktorij ili žele filtrirati i prikazivati ​​zapise u stvarnom vremenu iz jednog izvora.

Ako ste mislili da lnav nije ništa drugo do proslavljeni rep | grep, bili biste u krivu. Nekoliko je značajki zbog kojih ćete se zaljubiti: prikaz vremenskih serija, lijepo ispis (za JSON i druge formate), izvori zapisa dnevnika obojeni u boji, moćni filtri, mogućnost razumijevanja nekoliko protokola evidentiranja i više.

To je jednostavno to što ponekad želite nula gnjavaže, postavljanje nula, možda privremeni sloj za prijavu, a lnav savršeno odgovara računu!

Zaključak

I tu ga imate!

Iskreno, to je bilo teško sastaviti, jer bilježenje nije tako popularno kao što je, recimo, upravljanje sadržajem, a čini se da je sva misao shvatila tri ili četiri alata. Ipak, sve su potrebe različite i pokušao sam ih opsežno pokriti.

Od blesavih naredbenog retka, alata bez postavljanja do potpunih prekrivača podataka, sve je tu! Jesam li nešto propustila? Naravno da jesam! Javite mi u komentare i rado ću ga dodati ovdje (naravno s kreditima!).

OZNAKE:

  • Otvoreni izvor

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