10 Colectori de jurnal open source pentru înregistrare centralizată

Diferența dintre produsele mediocre și produsele superbe este jurnalul. Aflați de ce este așa și cum să le legați împreună.


La fel ca securitatea, jurnalul este o altă componentă cheie a aplicațiilor web (sau a aplicațiilor în general) care se retrage din cauza obiceiurilor vechi și a incapacității de a vedea în viitor. Ceea ce mulți văd ca reamuri inutile ale benzii digitale sunt instrumente puternice pentru a privi în interiorul aplicațiilor, corectarea erorilor, îmbunătățirea zonelor slabe și încântarea clienților.

Înainte de a trece la logarea centralizată, să vedem mai întâi de ce înregistrarea este atât de mare.

Două tipuri (niveluri) de înregistrare

Calculatoarele sunt sisteme deterministe, cu excepția cazurilor în care nu sunt.

Ca dezvoltator profesional, Am întâlnit numeroase cazuri în care comportamentul observat al aplicației a încurajat pe toată lumea zile întregi, dar cheia a fost întotdeauna în jurnalele. Fiecare software pe care îl rulăm produce (sau cel puțin ar trebui să genereze) jurnalele care ne spun prin ce trecea când a apărut situația problematică.

Acum, așa cum văd eu, logarea este de două tipuri: auto generat bușteni și Programator generat busteni. Vă rugăm să rețineți că aceasta nu este nicio diferențiere a manualelor, iar citarea mea în această terminologie vă va pune în dificultate. ��

Imaginea de mai sus arată ceea ce poate fi denumit drept jurnal generat automat.

În acest caz specific, este un sistem WordPress care înregistrează o condiție neașteptată (o notificare) atunci când rulează un cod PHP. Jurnalele ca acestea sunt generate tot timpul neobosit – prin instrumente de baze de date precum MySQL, servere web precum Apache, limbaje și medii de programare, dispozitive mobile și chiar sisteme de operare.

Acestea conțin rareori multă valoare, iar programatorii nu se deranjează nici măcar să le privească, decât atunci când ceva nu merge bine. În astfel de momente, sapa adânc în bușteni, încercând să înțeleagă ce a mers prost.

Dar jurnalele generate automat pot ajuta doar atât. Dacă de exemplu, mai multe persoane au acces admin la un site, iar una dintre ele șterge o informație esențială, este imposibil de detectat vinovatul folosind jurnalele generate automat. Din perspectiva sistemelor legate ca aplicație, a fost doar o altă zi în muncă – cineva avea autoritatea necesară pentru a executa o sarcină și astfel sistemul a desfășurat-o.

Este nevoie de un strat suplimentar de logare explicită și extinsă care creează trasee pentru partea umană a lucrurilor. Acestea sunt ceea ce eu numesc ca fiind jurnalele generate de programator, și ele constituie coloana vertebrală a industriilor sensibile precum serviciile bancare. Iată un exemplu despre cum ar putea arăta o astfel de schemă de înregistrare:

Sursa: joomlatools.com

Înregistrarea este putere

Așadar, având în vedere aceste două tipuri de jurnaluri într-un sistem, iată cum le puteți influența și extrage impactul.

Rămânând în fața clientului

„Deliciul clienților” a devenit cunoscut ca un truc de marketing inutil, dar datorită înregistrării, acesta poate fi făcut foarte real. Știu despre produsele digitale care își monitorizează jurnalele ca un șoim și, de îndată ce un client sparge ceva pe pagină, poate apela clientul și se poate oferi să vă ajute.

Gândiți-vă doar la asta – în câteva secunde de la a primi o eroare urâtă, primiți un apel de la compania care spune: „Hei, am înțeles că încercați să adăugați acest articol în coș, dar a murit. Este bine să adaug de data asta și să completez comanda pentru tine? “

Client încântat? Pariați!

Moralul și productivitatea echipei

Așa cum am mai spus, când bug-urile nu sunt verificate mult timp, dezvoltatorii din echipa ta se frustrează și își pierd din ce în ce mai mult timp alungându-și cozile. Și iată lucrul cu depanarea – necesită încă de la început o minte proaspătă și curios. Dacă un WTF a crezut atât cât intră în creierul tău, întregul proces merge în favoarea.

Și ce face ca depanarea să fie greu? Din experiența mea, din lipsa înregistrării sau din lipsa de cunoștințe despre logare. Pentru început, este posibil să nu vă dați seama că baza de date preferată este de asemenea o altă componentă a software-ului care generează jurnalele sau că nu vă înregistrați pe larg în aplicația dvs. (consultați jurnalele generate de programator mai sus).

Îmi amintesc în special un caz în care aplicația nu răspundea și nimeni nu știa de ce. Câteva zile mai târziu, vinovatul a fost limita de I / O a discului atinsă din cauza traficului excesiv. Pentru că nimeni nu s-a deranjat să privească acolo, nimeni nu și-a putut da seama de ce.

Trasee de audit

Ce se întâmplă dacă doi ani în linie, clientul tău spune că toate acele comenzi nu au fost plasate de ei, ci de un hacker?

Ce argument ar trebui să distreze sau să respingă solicitarea lor? Dacă aveți o înregistrare extinsă (adresa IP, data și ora, cardul de credit etc.), atunci veți putea analiza toate acestea și puteți lua o decizie. Bun sau rău, cel puțin va avea o bază obiectivă, mai degrabă decât să semene cu o lovitură în întuneric.

Sursa: semnatura-reads.com

Același lucru este valabil dacă intrați într-un anumit obiectiv de reglementare sau vi se solicită să efectuați un audit terț ca parte a unui proiect important și important. Dacă nu aveți un sistem robust de înregistrare vă va arăta într-o lumină proastă.

Îmbunătățirea sistemelor existente

Cum te gândești la îmbunătățirea unui sistem actual?

Ar trebui să aruncați doar mai multe memorii RAM și CPU? Ce se întâmplă dacă aplicația dvs. este lentă în ciuda resurselor suficiente? Unde este gâtul? Mai des, logistica este răspunsul.

De exemplu, toate sistemele de baze de date majore au o caracteristică pentru logare interogări lente.

Sursa: speedawarenessmonth.com

Dacă vizitați în mod regulat jurnalul de interogare lent, veți afla care sunt operațiunile și cel mai mult timp și, prin urmare, veți descoperi zone mici, dar importante, care au nevoie de muncă. Adesea, o modificare mică ca aceasta funcționează mai bine decât dublarea capacității hardware.

Nu contează în ce mod vă ajută un sistem de logare bun. Poate cel mai bun argument este că este o activitate automatizată care, odată configurată, nu are nevoie de monitorizare și te va salva de la ruină într-o zi.

Cu acest lucru, să ne uităm la unele dintre uimitorii colecționari Open Source Log (instrumente de înregistrare unificate) acolo. În cazul în care vă întrebați, am acoperit instrumentele comerciale de logare bazate pe cloud într-o postare anterioară.

Graylog

Graylog este unul dintre numele de frunte din industrie atunci când vine vorba de capacități de vizualizare și vizualizare de nivel industrial. De asemenea, este unic prin faptul că scanează jurnalele colectate pentru a detecta semne de vulnerabilități de securitate și vă anunță instantaneu.

În timp ce Graylog este un sistem de logare centralizat, acesta are flexibilitatea de care aveți nevoie, permițându-vă să personalizați alertele, tablourile de bord și multe altele.

Greylog este sursa deschisa, dar există un plan de întreprindere dacă nevoile dvs. sunt complexe.

Cu clienți precum SAP, Cisco și LinkedIn pe lista sa, Graylog este un instrument în care puteți avea încredere cu ochii închiși.

Logstash

Dacă sunteți fan sau utilizator al stivei Elastic, Logstash merită verificat (stiva ELK este deja un lucru, în caz că nu știați). Ca și alte instrumente de logare din această listă, Logstash dacă este complet sursa deschisa, permițându-vă libertatea de a vă deplasa și de a folosi așa cum doriți.

Dar nu vă lăsați înșelați: Logstash este o mamă cu capacități care depășesc cu mult orice umil instrument de logare. Este capabil să colecteze cantități mari de date de pe mai multe platforme, vă permite să definiți și să executați propriile conducte de date, să înțelegeți descărcări de jurnal nestructurate și multe altele.

Desigur, singura limitare este aceea că funcționează doar cu suita de produse Elastic, dar dacă începeți și căutați să faceți scară în curând, Logstash este calea de urmat.!

Fluentd

Printre instrumentele de logare centralizate care funcționează ca un strat de mijloc pentru ingestia de date, Flutend este primul dintre egali. Cu o excelentă bibliotecă de pluginuri, Fluentd este capabil să capteze date din practic orice sistem de producție, să-l frământe în structura dorită, să construiască o conductă personalizată și să o alimenteze către platforma dvs. de analiză preferată, fie că este MongoDB sau Elasticsearch.

Fluentd este construit pe Ruby, este în întregime sursa deschisa, și este extrem de popular datorită flexibilității și modularității sale.

Cu companii majore precum Microsoft, Atlassian și Twilio care folosesc platforma, Fluentd nu are nimic de dovedit. ��

Canal

Dacă într-adevăr, seturile de date cu adevărat mari sunt provocarea dvs., și în cele din urmă doriți să alimentați totul în ceva precum Hadoop, Canal este una dintre cele mai bune alegeri din jur. Este un proiect open source „pur”, în sensul că este menținut de către iubita noastră Fundație Apache, ceea ce înseamnă că nu există un plan de întreprindere.

Acest lucru poate fi sau nu ceea ce căutați exact. ��

Sursa: beyondcoder.com

Scris în Java (care continuă să mă uimească atunci când vine vorba de tehnologie inovatoare), codul sursă al Flume este în întregime deschis. Flume este cel mai bun pentru dvs. dacă căutați o platformă distribuită, care să tolereze erorile, de ingerare a datelor pentru lucruri grele.

Octopussy

Îi dau zero din zece pentru denumirea produsului, dar Octopussy poate fi o alegere bună dacă nevoile dvs. sunt simple și vă întrebați despre ce este vorba despre toate problemele legate de conducte, ingestie, agregare etc..

În opinia mea, Octopussy acoperă nevoile majorității produselor de acolo (statisticile estimate sunt inutile, dar dacă ar trebui să ghicesc, aș spune că are grijă de 80% din cazurile de utilizare din lumea reală).

Octopussy nu are un UI grozav (vezi aici) deloc, dar compensează viteza și lipsa balonului. Sursa este disponibilă pe GitHub, după cum era de așteptat și cred că merită să arunci o privire serioasă.

LOGalyze

LOGalyze a fost un produs comercial, care a fost recent creat open source. Deși nu am putut proiectul pe GitHub, ei pot descărca un instalator Windows și toate codurile sursă.

Dacă aveți intenția asupra unei comunități, puteți găsi detalii dintr-o listă de e-mailuri aici.

LOGalyze este o ofertă relativ flexibilă și puternică, care va funcționa frumos pentru implementările cu un singur sistem care încearcă să combine logarea din surse cunoscute precum Postfix, Apache, etc. și să producă ieșirea în formate CSV, PDF, HTML sau similare. Da, nu face totul, dar din moment ce a fost un produs comercial la un moment dat, la fel de bine.

LogPacker

Când vine vorba de alegerea unui instrument pentru job, am două criterii: trebuie să fie concentrat și trebuie să fie susținut de un model de afaceri activ. Problema cu software-ul open source, în general, este că la câteva luni / ani în jos, șansele de stagnare sau deces sunt mari. Nu contează câte instrumente de logare au fost lansate cu mult gust, doar pentru a fi găsite acum în cimitirul GitHub.

Măsurată de acest element de curte, LogPacker este un favorit pentru mine.

După cum vă puteți spune din captură de ecran, LogPacker se referă la jurnale și nimic altceva. Apăsarea lor este cu siguranță către ofertele de cloud, dar ești mai bine decât să te descarci și să o instalezi pe serverele tale (pagina GitHub aici).

Clustering-ul și agregarea sunt disponibile pentru cei care doresc să-l folosească pe o scară non-banală și sunt disponibile planuri de întreprindere care doresc să lucreze cu API-ul sau au nevoie de implementări mai mari. După părerea mea, o abordare minimalistă (concentrată, deși nu caracteristică) este gestionată!

Logwatch

Sunt sigur că sunt cei dintre noi care nu doresc toată ceremonia asociată cu un sistem de înregistrare „unificat”, „centralizat”. Afacerile lor provin de la servere unice și caută ceva rapid și eficient pentru urmărirea fișierelor lor de jurnal. Ei bine, spune salut Logwatch.

Odată instalat, LogWatch vă poate scana jurnalele de sistem și poate crea un raport de tipul dorit. Cu toate acestea, este o versiune software (citită „de încredere”) datată, și a fost scrisă în Perl. Așadar, veți avea nevoie de Perl 5.6+ pe serverul dvs. pentru a-l rula. Nu am nicio captură de ecran de distribuit, deoarece este o linie de comandă pură, un proces demonizat.

Dacă sunteți un junkie de tip CLI și aveți dragoste pentru modul de a face lucrurile din vechea școală, vă va plăcea Logwatch!

Syslog-ng

Syslog-ng instrumentul a fost dezvoltat ca o modalitate de procesare a fișierelor de date syslog (un protocol client-server stabilit pentru înregistrarea sistemului) în timp real. Cu toate acestea, de-a lungul timpului, a ajuns să sprijine alte formate de date: nestructurate, SQL și NoSQL. Cum funcționează protocolul syslog sunt rezumate destul de bine în ilustrația următoare.

syslog-ng este un instrument de clasificare și clasificare a jurnalului de încredere fiabil, care a fost scris în C și a fost un nume consacrat în industrie de mult timp. Cea mai bună parte este extensibilitatea sa, permițându-vă să scrieți pluginuri în C, Python, Java, Lua sau Perl..

LNAV

Scurt pentru (Log Navigator), LNAV este un instrument pur-terminal care funcționează pe o singură mașină, un singur director. Este pentru cei care au înregistrarea lor unificată într-un singur director sau doresc să filtreze și să afișeze jurnalele în timp real dintr-o singură sursă.

Dacă ai crezut că lnav nu este altceva decât glorificat tailf | grep, te-ai înșela. Există mai multe caracteristici care vă vor face să vă îndrăgostiți de acesta: vizualizarea seriei de timp, imprimarea destul de bună (pentru JSON și alte formate), surse de jurnal cu coduri de culori, filtre puternice, capacitatea de a înțelege mai multe protocoale de înregistrare și multe altele.

Doar că, uneori, doriți o configurare zero, o configurare zero, un strat de înregistrare poate temporar, și lnav se potrivește perfect facturii!

Concluzie

Și acolo îl ai!

A fost o listă dificilă de compilat, sincer, întrucât logarea nu este la fel de populară ca, de exemplu, gestionarea conținutului și tot ceea ce pare a fi creat în minte pare să fi fost apucat de trei sau patru instrumente. Cu toate acestea, nevoile fiecăruia sunt diferite și am încercat să le acoperesc pe larg.

De la linia de comandă stupidă, instrumente fără configurare până la jonglerele de date complete, totul este aici! Am pierdut ceva? Desigur, am făcut-o! Vă rugăm să mă anunțați în comentarii și voi fi încântat să îl adaug aici (cu credite, desigur!).

ETICHETE:

  • Sursa deschisa

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