după cum vă va spune orice dezvoltator sau administrator de sistem, fișierele jurnal sunt un instrument extrem de util pentru depanarea problemelor dintr-o aplicație web. De fapt, fișierele jurnal sunt de obicei utilizate ca sursă principală de informații atunci când un site web funcționează defectuos.
un fișier jurnal specific care poate fi utilizat în depanarea aplicațiilor (sau pur și simplu obținerea de informații despre activitatea vizitatorilor) este jurnalul de acces produs de un server HTTP Apache., Mai jos, voi intra în detaliile acestor jurnale: voi explica ce se înregistrează în jurnalele de acces Apache, unde pot fi găsite și cum să înțelegeți datele conținute în fișier. Deoarece puterea reală a datelor din jurnal provine din înțelegerea sensului datelor prin analiză, voi discuta, de asemenea, beneficiile colaborării cu o platformă de gestionare a jurnalelor și de analiză (cum ar fi Sumo Logic) pentru a obține informații valoroase din datele jurnalului de acces.
ce sunt jurnalele de acces Apache?,
după cum sa menționat mai sus, Jurnalul de acces Apache este unul dintre mai multe fișiere jurnal produse de un server HTTP Apache. Acest fișier jurnal special este responsabil pentru înregistrarea datelor pentru toate solicitările procesate de serverul Apache. Deci, dacă o persoană vizitează o pagină web de pe site-ul dvs., fișierul jurnal de acces va conține detalii cu privire la acest eveniment., informații valoroase într-o varietate de situații: de exemplu, dacă o cerere comună este faptul că nu pentru fiecare individ încearcă să ajungă la o anumită pagină web, link-ul poate fi îndreptată către o pagină care nu mai există; dacă o anumită pagină de pe site-ul durează mai mult decât ar trebui să se încarce, intrările de jurnal ar putea indica interogări SQL care ar putea fi refactored pentru a îmbunătăți performanța; dacă o anumită pagină de pe site-ul este foarte popular, cumularea datelor de acces busteni-ar putea lumina pe frecvent solicitate resurse, astfel, a permite întreprinderilor să crească popularitatea lor prin furnizarea de mai multe legate de conținut.,
unde pot găsi jurnalele de acces Apache?
locația jurnalelor de acces Apache depinde de sistemul pe care rulează serverul HTTP Apache. Majoritatea instanțelor serverului Apache HTTP rulează pe distribuții Linux. Deci, în sensul acestui articol, vom rămâne la detalierea unde jurnalele de acces Apache pot fi găsite pe o mașină Linux.
în distribuția Ubuntu Linux, de exemplu, înregistrările jurnalului de acces vor fi scrise în mod implicit în următoarea locație:
/var/log/apache2 / access.,log
locația implicită poate varia ușor la alte distribuții Linux, dar nu va trebui să căutați foarte departe în majoritatea cazurilor. În cele din urmă, locația și formatul (mai multe despre aceasta mai târziu) ale jurnalelor de acces sunt definite printr-o directivă CustomLog care poate fi vizualizată și modificată în configurația serverului HTTP Apache.
interpretarea jurnalelor de acces Apache
acum că știți care sunt jurnalele de acces Apache și unde pot fi găsite, vă putem explica cum să interpretați intrările, astfel încât echipa dvs. de dezvoltare și alt personal IT să le poată folosi bine.,
citirea jurnalelor de acces Apache
realizarea sensului jurnalelor de acces Apache necesită ca analistul să înțeleagă formatul în care sunt înregistrate jurnalele de acces. După cum sa menționat mai sus, formatul pentru jurnalele de acces este definit în Directiva CustomLog împreună cu locația. Vom arunca o privire la două formate de jurnal populare care sunt adesea utilizate cu jurnalele de acces Apache de mai jos.formatul jurnal comun este un format standardizat de fișier text utilizat de diverse servere web în generarea fișierelor jurnal de server., Cu un server HTTP Apache, formatul jurnal comun poate fi folosit pentru a produce jurnale de acces care sunt suficient de simple pentru dezvoltatori și administratori pentru a citi. În plus, deoarece este un format standardizat utilizat de mai multe servere web, fișierele jurnal formatate CLF pot fi utilizate cu ușurință de multe platforme de analiză a jurnalelor.
o înregistrare de jurnal de acces scrisă în formatul de jurnal comun va arăta astfel:
127.0.0.1 – Scott „GET/server-status HTTP/1.1” 200 2326
câmpurile din înregistrarea eșantionului de mai sus reprezintă următoarele:
- 127.0.0.,1-adresa IP a clientului care a făcut solicitarea;
- cratima care definește al doilea câmp din fișierul jurnal este identitatea clientului. Acest câmp este adesea returnat ca cratimă, iar documentația serverului HTTP Apache recomandă ca acest câmp special să nu fie invocat decât în cazul unei rețele interne controlate.
- Scott-userid al persoanei care solicită resursa;
- – data și ora solicitării;
- „GET/server-status HTTP / 1.,1 ” – Tipul solicitării și resursa solicitată;
- 200 – codul de stare a răspunsului HTTP;
- 2326-dimensiunea obiectului returnat clientului.
format jurnal combinat
Un alt format care este adesea folosit cu jurnalele de acces Apache este formatul jurnal combinat. Acest format este foarte similar cu formatul jurnal comun, dar conține câteva câmpuri suplimentare pentru a oferi mai multe informații pentru utilizare în operațiunile de analiză și depanare., O înregistrare jurnal de acces care este înregistrată în formatul jurnal combinat arată astfel:
după cum puteți vedea, primele șapte câmpuri sunt identice cu cele din formatul jurnal comun. Câmpurile rămase reprezintă două proprietăți suplimentare:
„CustomLog” Directivă
Anterior, am menționat că de configurare pentru Apache busteni de acces se face prin intermediul CustomLog directive în termen de un server Apache HTTP configuration file., Să aruncăm o privire la un eșantion jurnal de acces de configurare pentru a arăta flexibilitatea prevăzută de CustomLog directivă:
LogFormat „%h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” combinate
CustomLog /var/log/apache2/acces.jurnal combinate
Aici, am definit combinate log format prin LogFormat directive, și ne-am urmat prin a defini locația și formatul (combinate) pentru a accesa jurnalul folosind CustomLog directivă. După cum puteți vedea, modificarea locației sau a formatului jurnalului de acces este un proces simplu., În plus, utilizarea Directivei CustomLog ne oferă câteva alte capabilități pe care le vom descrie mai jos.
mai Multe Busteni de Acces
nu Există nici o regulă care spune că nu poți configura mai multe busteni de acces pentru Apache HTTP server, iar procesul este de fapt destul de ușor; tot ce trebuie să faceți este pur și simplu adăugați suplimentare CustomLog directive pentru a adăuga un plus, personalizate accesa fișierul jurnal:
LogFormat „%h %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” combinate
LogFormat „%{User-agent}i” agent
CustomLog /var/log/apache2/acces.,log combinate
CustomLog / var/log/apache2 / agent_access.log agent
jurnale condiționate
În plus, este posibil să scrieți pentru a accesa jurnalele condiționat. Acest lucru ar putea fi util din mai multe motive, inclusiv excluderea înregistrărilor asociate anumitor clienți. De obicei, acest lucru se face prin setarea variabilelor de mediu și referirea acestora prin clauza „env”. Vizitați documentația oficială privind Directiva CustomLog pentru mai multe informații.
log Rotation & Piped Logs
ca orice altceva pe un server, fișierele jurnal ocupă spațiu., Și pe un server Apache relativ ocupat, fișierele jurnal, cum ar fi jurnalele de acces, pot crește rapid. Prin urmare, este important să aveți procese în vigoare pentru mutarea sau ștergerea regulată a fișierelor jurnal vechi. Din fericire, un server Apache HTTP are capacitatea de a face acest lucru prin utilizarea de reporniri grațioase și procese de jurnal prin conducte.o repornire grațioasă a unui server Apache permite repornirea fără a pierde conexiunile clientului., Această repornire permite Apache să deschidă și să scrie în fișiere jurnal noi fără întreruperea clientului, permițând astfel executarea procesării pentru a comprima sau șterge fișierele jurnal vechi în interesul economisirii spațiului.
procesele de jurnal prin conducte, pe de altă parte, pot permite ca rotația jurnalului să fie efectuată fără o repornire a serverului; de exemplu, un program numit rotatelogs este inclus cu serverul HTTP Apache. În loc să scrieți pur și simplu într-un fișier, intrările din jurnalul de acces pot fi scrise printr-o conductă către acest program special., Programul rotatelogs include opțiuni pentru a roti jurnalele condiționat în funcție de timp sau dimensiune.
analizarea jurnalelor de acces Apache cu logica Sumo
colectarea unor cantități masive de date în fișierele jurnal este utilă numai dacă datele pot fi gestionate eficient și analizate cu ușurință. Când este făcut corect, produce informații valoroase care pot fi utilizate pentru a identifica oportunități de îmbunătățire în configurația sau aplicația serverului web., Când lucrați cu jurnalele de acces Apache, este mai bine să vă integrați cu Sumo Logic pentru a colecta fișierele jurnal Apache, ceea ce face ca procesul de producere a vizualizărilor valoroase să fie mai puțin dureros ca niciodată.procesul de a începe este relativ ușor. De fapt, prin simpla Configurare a unui colector SumoLogic și a unei surse de fișiere locale pentru Jurnalul de acces Apache, puteți fi în funcțiune într-un sens de bază în câteva minute. Consultați Sumo Logic astăzi pentru a vedea cum vă pot îmbunătăți procesele pentru gestionarea jurnalelor și analiza datelor.,
vizibilitate completă pentru DevSecOps
reduceți timpii morți și treceți de la monitorizarea reactivă la cea proactivă.