fișiere jurnal Vezi ce este „LOG” în alte dicționare

Concept

Jurnalele de server (fișiere jurnal, jurnal de server)- fișiere stocate pe server care conțin informatii despre sistem servere, precum și înregistrarea tuturor datelor posibile despre vizitatorul resursei web.

Jurnalele sunt folosite de administratorii de sistem pentru a analiza vizitatorii, studiind modele de comportament anumite grupuri utilizatorii, precum și primirea diverse informatii despre acestea, cum ar fi: browserul utilizat, adresa IP, date despre locația geografică a clientului și multe altele. Pe lângă analiză, în acest fel puteți afla despre acces neautorizat pe site, aflați mai exact de cine a fost produs și transferați date despre în acest caz, către autoritățile competente.

Datele din fișierul jurnal, în formă pură, nu va fi clar pentru utilizatorii obișnuiți, care vor vedea în toate acestea doar un set de personaje într-o ordine de neînțeles. Dar pentru administratorii de sistemși dezvoltatorii web, asta este destul de text lizibil, și informații destul de utile.


Secventa de evenimente

De fiecare dată când un client accesează o resursă web, sunt declanșate simultan mai multe evenimente, despre a căror secvență vom vorbi.

1. Efectuarea unei cereri de pagină. Când introduceți o adresă în linia browserului sau când urmăriți un link web activ, de exemplu, dintr-o pagină rezultatele cautarii, browserul caută și se conectează la serverul pe care se află pagina și face o solicitare pentru aceasta. În același timp, transmite următoarele informații către server:
- adresa IP a computerului client care solicită pagina (dacă utilizați un server proxy, adresa IP a proxy-ului dvs.);
- adresa paginii de Internet solicitata de utilizator (adresa IP);
- timpul exactși data la care a fost făcută cererea;
- date despre locația reală a clientului (dacă se folosește un server proxy, atunci adresa proxy reală);
- informatii despre browserul utilizat de client (nume, versiune etc.);
- date despre pagina web de pe care clientul a transferat.

2. Transferul datelor solicitate. Datele solicitate (pagina web, fișiere, cookie-uri etc.) sunt transferate de pe server pe computerul utilizatorului.

3. Scrieți în jurnalul serverului. După toate, apare o intrare de jurnal, care indică toate datele care au apărut în ultimele două evenimente. Acestea sunt toate informațiile transmise în primul paragraf, precum și informații despre datele transmise.

Cum să vizualizați jurnalele serverului

Fișierele jurnal sunt stocate într-un fișier acces.log indiferent de tipul de server web pe care îl utilizați (Apache, Nginx, server proxy squid etc.) Acest fișier este document text, pe fiecare rând din care este scris o contestație. Formate de înregistrare în acces.log destul de mult, dar cel mai popular este combinat, în care intrarea are următoarea vedereși secvența:

Cod: %h %l %u %t \"%r\" %>s %b \"%(Referer)i\" \"%(User-Agent)i\"
Unde:

%h- gazda/adresa IP de la care a fost facuta cererea;
%t- ora solicitării către server și fusul orar al serverului;
%r- versiunea, continutul si tipul cererii;
%s- cod de stare HTTP;
%b- numărul de octeți trimiși de server;
%(Referer)- URL sursa cererii;
%(Agent utilizator)- Antet HTTP cu informații despre cerere ( aplicație client, limba etc.);
%(Gazdă)- numele gazdei virtuale care este accesată.

în formă finită linie dată arata cam asa:

127.0.0.1 - - "GET /index.php HTTP/1..0 (compatibil; MSIE 7.0; Windows NT 5.1)"

Citirea manuală a jurnalelor va necesita destul de mult timp și efort. Prin urmare, webmasterii experimentați folosesc un software special numit „Analizoare de fișiere jurnal”. Ei analizează toate datele, care este destul de dificil de citit de oameni, și produc date structurate. Acestea sunt programe precum: Analog, WebAnalizer, Webalizer, Awstats, Webtrends etc. Tipuri de special software destul de multe, printre ele sunt ca programe cu plată, și gratuit. Prin urmare, sunt sigur că fiecare va găsi ceva pe placul său.

Unde găsiți jurnalele site-ului

Daca ai gazduire regulata, atunci cel mai probabil va trebui să-i scrieți hoster-ului și să-i cereți jurnalele. De asemenea, destul de des, le puteți solicita prin intermediul panoului de găzduire. Diferiți hosteri o fac diferit. De exemplu, pentru a solicita de la hosterul meu, faceți clic pe pagina principala panouri:


Dacă aveți acces la folderele de sistem server, apoi puteți găsi jurnalele la /etc/httpd/logs/access_logîn 99 de cazuri din 100.

Jurnal de erori error.log

Error.log- un fișier în care se păstrează și jurnalele. Dar nu vizitatori, ci erori care au apărut pe server. Așa cum este cazul cu acces.log, fiecare linie a fișierului este responsabilă pentru o eroare care a apărut. Înregistrarea se realizează luând în considerare informații precum: data exactași ora în care a apărut eroarea, adresa IP la care a fost emisă eroarea, tipul de eroare, precum și motivul apariției acesteia.

Concluzie

Jurnalele sunt un instrument destul de puternic și informativ cu care să lucrați. Dar în zilele noastre, acestea sunt înlocuite cu instrumente precum Yandex.Metrica, Google Analytics etc., simplificându-ne astfel viața. Cu toate acestea, dacă intenționați să vă dezvoltați, să creșteți și să învățați ceva nou, vă recomand cu siguranță să cunoașteți mai bine acest subiect.

Jurnalele (fișierele jurnal) sunt fișiere care conțin informații de sistem despre funcționarea unui server sau computer, în care sunt înregistrate anumite acțiuni ale utilizatorului sau programului. Uneori este folosit și analogul în limba rusă al conceptului - o revistă.

Scopul lor este să înregistreze operațiunile efectuate pe mașină pentru o analiză ulterioară de către administrator. Vizualizarea regulată a jurnalelor vă va permite să identificați erorile de funcționare a sistemului în ansamblu, un anumit serviciu sau site (în special erori ascunse care nu sunt afișate atunci când sunt vizualizate într-un browser), să diagnosticați activitățile rău intenționate și să colectați statistici privind vizitele pe site. .

Tipuri de busteni

Deoarece software-ul principal instalat pe server scrie cel mai adesea în jurnalele de sistem, atunci fiecare dintre aceste programe va avea propriul său jurnal. În special, putem evidenția următoarele jurnale cele mai comune:

  • fișier jurnal principal ( Informații generale- date despre acțiunile cu nucleul sistemului, funcționarea serviciilor FTP, server DNS, firewall);
  • jurnalul de pornire a sistemului (ajută la depanarea sistemului dacă nu pornește, salvează elementele de bază evenimente de sistem(de exemplu, defecțiuni ale echipamentelor));
  • jurnalele serverului web (date despre cererile către server, informații despre erorile serverului web);
  • jurnalele serverului de baze de date (interogări de baze de date, erori de server);
  • jurnalele panoului de găzduire prin care se desfășoară (încercări de autentificare în panou, actualizări de licență și panou, statistici privind utilizarea resurselor serverului);
  • busteni server de mail(înregistrări ale tuturor mesajelor trimise și livrate, erori ale serverului de e-mail, motive pentru respingerea scrisorilor);
  • jurnalele de planificare a sarcinilor - cron (execuția sarcinii de înregistrare, erori la pornirea cron).

Locație

Locația jurnalelor depinde de software, de implementarea setărilor implicite sau de calea specificată de administrator. Adică, în funcție de ceea ce utilizați (poate că este gazduire virtuala, -Plan sau sau SUA), disponibilitatea și locația jurnalelor vor varia semnificativ. De obicei, majoritatea jurnalelor de server sunt stocate în /var/log/, dar unele servicii pot stoca jurnalele în alte directoare. Pentru comoditate, puteți seta oricând calea corespunzătoare fișierele de configurare software-ul necesar. De exemplu, pe server puteți configura demonul syslog/rsyslog, care va organiza înregistrările primite de acesta despre funcționarea serviciilor și le va salva în fișierele jurnal specificate de utilizator.

Să ne uităm la locația jurnalelor principale pentru cele mai comune distribuții Linux. În mod implicit, jurnalele pe Linux sunt stocate în /var/log.

CentOS/Fedora

Pentru comun Server web Apache Fișierele jurnal se numesc access.log (jurnal de acces la server) și error.log (jurnal de erori și notificări). Calea implicită pentru jurnalul de erori Apache este /var/log/httpd/error_log.

Jurnalele Nginx sunt salvate de-a lungul căii /var/log/nginx. Revistă Erori MySQL - /var/lib/mysql/$hostname.err, unde în loc de $hostname este specificat numele de gazdă (numele) serverului.

Fișierul jurnal principal - /var/log/syslog.

Jurnal de pornire a sistemului - /var/log/dmesg.

Debian/Ubuntu

În mod implicit, jurnalele Apache vor fi salvate pe cale /var/log/apache2.

jurnalele nginx - /var/log/nginx.

Jurnal de erori MySQL - /var/log/mysql/error.log.

Fișierul jurnal principal - /var/log/syslog.

Jurnal de pornire a sistemului - /var/log/dmesg.

Ai nevoie ? Aici vei gasi cele mai bune oferte de la autoritățile de certificare Comodo, GeoTrust și Symantec.

Subiectul poate fi banal, dar atunci când un program începe să funcționeze ceva greșit și, în general, se comportă foarte ciudat, de multe ori trebuie să citiți jurnalele. Și o mulțime de jurnale, mai ales dacă nu există nicio modalitate de a depana programul și nu puteți reproduce eroarea. Probabil că toată lumea și-a dezvoltat anumite reguli despre ce, cum și când să se înregistreze. Mai jos vreau să mă uit la câteva reguli pentru înregistrarea mesajelor în jurnal și va exista și o mică comparație a bibliotecilor de jurnal pentru limbi php, rubin și du-te. Colectatorii de bușteni și sistemele de livrare nu vor fi luate în considerare în mod conștient (au fost deja discutate de multe ori).

Există unul utilitar linux, și, de asemenea, part-time protocol de rețea numit syslog. Și există un întreg set de RFC-uri dedicate syslog-ului, unul dintre ele descrie nivelurile de înregistrare https://en.wikipedia.org/wiki/Syslog#Severity_level (https://tools.ietf.org/html/rfc5424). Conform rfc 5424, 8 niveluri de înregistrare sunt definite pentru syslog, pentru care scurta descriere. Aceste niveluri de înregistrare au fost adoptate de mulți loggeri populari pentru limbi diferite programare. De exemplu, http://www.php-fig.org/psr/psr-3/ definește aceleași 8 niveluri de înregistrare, iar loggerul standard Ruby folosește un set ușor redus de 5 niveluri. În ciuda indicației oficiale în care cazuri ar trebui utilizat unul sau altul nivel de jurnal, este adesea folosită o combinație precum debug/info/fatal - prima pentru înregistrare în jurnal în timpul dezvoltării și testării, al doilea și al treilea pentru producție. Apoi, la un moment dat, ceva de neînțeles începe să se întâmple în producție și dintr-o dată se dovedește că nu există suficiente jurnale de informații - rulăm pentru a activa depanarea. Și dacă nu încarcă puternic sistemul, ele rămân adesea pornite în mediul de producție. De fapt, mai sunt două scenarii când trebuie să aveți jurnalele:

  • ceva se întâmplă și trebuie să știi ce
  • ceva s-a rupt și trebuie să activați suplimentar declanșatorul
Declanșatorul poate provoca: notificare de eroare prin e-mail, blocare sau repornire a programului sau alte scenarii tipice.

În limbajul Go, în care totul este simplificat la limită, loggerul standard a fost, de asemenea, rupt decent și au rămas următoarele opțiuni:

  • Fatal - ieșire în jurnal și ieșire imediată în sistemul de operare.
  • Panică - ieșire în jurnal și inițierea unei „panică” (analog cu o excepție)
  • Imprimare - imprimă pur și simplu un mesaj în jurnal
Este aproape imposibil să fii confuz cu privire la ce să folosești într-o anumită situație. Dar mesajele într-o formă atât de trunchiată sunt dificil de analizat, precum și de configurat sisteme de avertizare care răspund de obicei la un fel de Alertă\Fatal\Eroare din textul jurnalului.

Când scriu un program de la zero, folosesc adesea nivelul de depanare pentru înregistrarea peste tot, cu așteptarea ca în producție nivelul de înregistrare să fie setat la informații și, prin urmare, să reducă zgomotul mesajelor. Dar cu această abordare, apare adesea o situație în care dintr-o dată nu există destui bușteni. Este greu de ghicit de ce informații vei avea nevoie pentru a prinde un bug rar. Este posibil să utilizați întotdeauna în mod rațional nivelul de informații în mod implicit, iar în manipulatorii de erori nivelul de eroare și mai mare. Dar dacă aveți sute sau mai multe mesaje de jurnal pe secundă, atunci probabil că are sens reglaj finîntre informații/depanare. În astfel de situații, are sens să folosești soluții specializate pentru a nu risipi performanța.

Există, de asemenea, un punct subtil atunci când scrieți ceva de genul logger.debug(entity.values) - atunci dacă nivelul de înregistrare este setat mai mare decât debug, conținutul entity.values ​​nu va ajunge în jurnal, dar va fi calculat de fiecare dată, consumând resurse. În Ruby, puteți transmite un bloc de cod către logger în loc de un șir de mesaj: Logger.debug ( entity.values ​​​​) . În acest caz, calculele vor avea loc numai atunci când este setat nivelul de jurnal corespunzător. În limbajul Go, pentru a implementa evaluarea leneșă, puteți transmite un obiect care acceptă interfața Stringer către logger.

După ce v-ați dat seama de utilizarea nivelurilor de jurnal, mai trebuie să puteți conecta mesaje disparate, acest lucru este valabil mai ales pentru aplicații cu mai multe fire sau înrudite servicii individuale, când toate mesajele din jurnale sunt amestecate.

Formatul tipic al unei linii de mesaj dintr-un jurnal poate fi împărțit în următoarele componente:

+ +
Unde:

  • informații de sistem: marca temporală, id-ul procesului, id-ul firului și alte informații despre serviciu
  • mesaj: textul mesajului
  • context: oricare Informații suplimentare, contextul poate fi comun mesajelor din cadrul unei anumite operațiuni.
Pentru a asocia perechi cerere/răspuns este adesea folosit antet http X-Solicitare-ID. Acest antet poate fi generat de client sau poate fi generat pe partea serverului. Adăugând-o în contextul fiecărei linii a jurnalului, veți putea găsi cu ușurință toate mesajele care au apărut ca parte a execuției cu o ușoară mișcare a mâinii cerere specifică. Și în cazul sistemelor distribuite, antetul poate fi trecut mai departe de-a lungul lanțului de apeluri de rețea.

Dar cu un singur context în cadrul unei cereri, apare o problemă cu diferite ORM-uri, clienți http sau alte servicii\biblioteci care își trăiesc propriile vieți. Și este, de asemenea, bine dacă oferă posibilitatea de a-și redefini loggerul standard cel puțin la nivel global, dar setarea contextului pentru logger în cadrul solicitării nu este adesea realistă. Această problemă relevante în principal pentru procesarea multi-threaded, atunci când un proces servește mai multe solicitări. Dar, de exemplu, în cadrul Rails există o integrare foarte strânsă între toate componentele și cererile ActiveRecord pot fi scrise în jurnal împreună cu contextul global pentru cererea curentă de rețea. Și în limbajul Go, unele biblioteci de înregistrare vă permit să creați dinamic un nou obiect de înregistrare cu contextul necesar, arată cam așa:

ReqLog:= log.WithField(„requestID”, requestID)
După aceasta, o astfel de instanță de înregistrare poate fi transmisă ca dependență altor obiecte. Dar lipsa unei interfețe de înregistrare standardizată (de exemplu, cum ar fi psr-3 în PHP) îi determină pe creatorii de biblioteci să codifice implementările incompatibile de logger. Prin urmare, dacă vă scrieți biblioteca în Go și are o componentă de logare, nu uitați să furnizați o interfață pentru înlocuirea logger-ului cu una personalizată.

A rezuma:

  • Logare excesiv. Nu știi niciodată dinainte cât și ce informații din jurnal vor fi necesare într-un moment critic.
  • Opt niveluri de înregistrare - chiar ai nevoie de atât de mult? Pe baza experienței, un maxim de 3-4 ar trebui să fie suficient și numai dacă pentru ei sunt configurați handlere de evenimente.
  • Ori de câte ori este posibil, utilizați evaluarea leneșă pentru a trimite mesaje în jurnal
  • Adăugați întotdeauna contextul curent la fiecare mesaj de jurnal, cel puțin requestID.
  • Dacă este posibil, configurați biblioteci terțe astfel încât acestea să utilizeze loggerul cu contextul de solicitare curent.

ACȚIUNE

TWEETĂ

Fără titlu

Un invitat 16 ianuarie 2017 335 Niciodată

    Ce este jurnalul de joc?=

    „Jurnal” este un fișier care conține o listă detaliată a evenimentelor din aplicații, performanța sistemului sau acțiunile utilizatorului ordine cronologica. Jurnalul sau jurnalele pot fi utile pentru identificarea erorilor din joc. În rezervoarele X sunt stocate busteni dosar special numit „output_log”. Pentru a vizualiza jurnalul, trebuie să mergeți în folderul jocului, apoi în folderul „tankix_Data”.

    Cum se oferă jurnalul de joc?=

    Dacă aveți probleme cu jocul, blocări frecvente, întârzieri etc., atunci dezvoltatorii vă pot cere să le furnizați jurnalele de joc. Cum să o facă:

    *În folderul jocului tankix_data există un fișier output_log.txt

    *Salvați fișierul în orice moment Stocare in cloud(Yandex.Disk, documente Google, Dropbox, unde puteți vizualiza fișierul fără a-l descărca). Sau puteți copia conținutul fișierului și îl puteți posta pe resursa http://site/

    *Crea subiect nou pe site-ul http://echo.tankix.com/ (sau adăugați jurnalul dvs. la subiectul unui alt jucător cu o problemă identică) împreună cu descriere detaliata Probleme.

    Principalul lucru este să nu reporniți clientul după ce apare eroarea, altfel jurnalele vor fi șterse.

RAW Paste Data

Ce este un jurnal de joc?= „„Jurnal”” este un fișier care conține o listă detaliată a evenimentelor din aplicații, performanța sistemului sau acțiunile utilizatorului, în ordine cronologică. Jurnalul sau jurnalele pot fi utile pentru identificarea erorilor din joc. Jurnalele pentru Tanks X sunt stocate într-un fișier special numit „output_log”. Pentru a vizualiza jurnalul, trebuie să mergeți în folderul jocului, apoi în folderul „tankix_Data”. =Cum se oferă un jurnal de joc?= Dacă aveți probleme cu jocul, blocări frecvente, întârzieri și așa mai departe, atunci dezvoltatorii vă pot cere să le furnizați jurnalele de joc. Cum se face asta: *În folderul jocului tankix_data există un fișier output_log.txt *Salvați fișierul în orice spațiu de stocare în cloud (Yandex.Disk, Google Docs, Dropbox, unde puteți vizualiza fișierul fără a-l descărca)..tankix. com/ (sau adăugați jurnalul dvs. la subiectul unui alt jucător cu o problemă identică) împreună cu o descriere detaliată a problemei. Principalul lucru este să nu reporniți clientul după ce apare eroarea, altfel jurnalele vor fi șterse.

Pe lângă statisticile standard ale site-ului, care include numărul vizitatori unici, pagini deschise si mult mai mult Informatii utile, webmasterul trebuie să știe multe alte lucruri despre un astfel de site și asta îi dezvăluie jurnalele. În același timp, webmasterii începători, destul de des, nici măcar nu știu ce este un jurnal și ce oferă acesta.

Ce alte informații sunt necesare?

După cum am menționat mai sus, pe lângă parametri standard, proprietarul site-ului ar trebui să cunoască o mulțime de alte date:

  • Care pagini sunt cele mai vizitate.
  • După ce interogări de căutare utilizatorii vizitează site-ul mai des.
  • Ce browsere sau OS sunt cele mai populare printre vizitatori.
  • Ce rezoluție a ecranului folosesc cel mai des vizitatorii?
  • Și mult mai mult.

Cum să aflu?

In marea majoritate a cazurilor, pe site-uri este instalat un contor platit sau gratuit, iar resursa care il pune la dispozitie realizeaza o analiza amanuntita a site-ului si pastreaza statistici ale vizitatorilor, care pot fi vizualizate oricand. Utilizarea unor astfel de contoare este deosebit de solicitată dacă o persoană își găzduiește propriul site web găzduire gratuită. Când luați în considerare ce este un jurnal, este important să învățați cum să lucrați cu astfel de contoare, deoarece, de fapt, acestea includ majoritatea datelor necesare.

Marea majoritate a hosterii care oferă găzduire plătită oferă inițial clienților lor posibilitatea de a folosi instrumente de analiză care sunt deja instalate pe site-ul creat. De exemplu, în Servere Apache se folosește un utilitar specializat numit Webalizer, care este folosit în rolul de modul suplimentar Server.

Cei care folosesc gazduire platita, pot, de asemenea, să proceseze complet independent toate datele referitoare la site-ul lor, deoarece un webmaster care știe ce este un jurnal de site și cum să-l folosească are acces complet la toate informațiile necesare.

Ce este asta?

Orice site își păstrează propriul jurnal, pe care webmasterul îl poate consulta în orice moment convenabil pentru el. Ce este un jurnal? Aceasta este separată fisier text, care conține informații cu privire la toate solicitările către site, precum și cu privire la diverse erori legate de aceste interogări.

Cum sunt scrise datele în jurnal?

Utilizatorul introduce inițial propriul browser adresa unui anumit site web și accesează acesta. După aceasta, browserul utilizatorului începe să transmită serverului pe care se află acest site o solicitare de afișare a paginii web de interes pentru utilizator. Pe lângă aceasta, serverului i se oferă următoarele informații:

  • Adresa IP a vizitatorului.
  • Ora exactă a cererii.
  • Browserul pe care îl folosește utilizatorul.
  • Sistemul de operare pe care îl folosește utilizatorul.
  • Pagina care îl interesează.
  • Adresa paginii de la care s-a făcut trecerea la țintă.

După aceasta, serverul emite vizitatorului cererea de care este interesat, iar toate informațiile referitoare la tranzacția finalizată sunt înregistrate în jurnalul de evenimente, creând un așa-numit fișier jurnal.

O analiză competentă a jurnalelor site-ului permite webmasterului să determine exact cum este utilizată resursa sa și în ce direcție este mai important să o dezvolte.

Ce informații oferă jurnalele?

Căutând prin jurnalele site-ului, puteți găsi un număr imens informații utile care vor îmbunătăți promovarea în continuare a resursei și o vor face mai eficace:

  • Prezența. Desigur, acest indicator este determinat și de un contor standard, care poate fi prezent pe fiecare pagină, dar în jurnal aceste date sunt furnizate mai detaliat, inclusiv traficul pe zi, oră sau lună. De asemenea, prin utilizarea jurnalelor, puteți determina orele de creștere sau de pauză în trafic, lucru extrem de important de știut atunci când întrețineți site-ul.
  • Trafic. În acest caz, este furnizat ca trafic pentru fiecare pagină separată, și traficul total pe site pentru anumită perioadă timp.
  • Conversie. Acest parametru vă permite să determinați modul în care vizitatorii se deplasează în jurul resursei dvs., adică au vizualizat o pagină și s-au închis, sau au început totuși să „călătorească” prin site-ul dvs., vizând o pagină după alta. Rata de conversie vă permite să determinați indirect calitatea site-ului dvs.
  • Pagini abandonate. Având în vedere ce sunt jurnalele de server, puteți determina adesea că acestea conțin pagini abandonate, adică cele care sunt vizitate extrem de rar. Într-o astfel de situație, webmasterul trebuie să efectueze o analiză amănunțită a situației, deoarece este posibil ca paginile să nu mai intereseze oamenii sau să fi devenit greu de găsit printre multe altele pe site-ul tău.
  • Pagini populare. Paginile web care sunt cele mai vizitate. Le puteți folosi ca șablon în procesul de creare a altor pagini și, dacă este necesar, puteți, de asemenea, direcționa utilizatorii de pe aceste pagini către altele care sunt abandonate sau mai puțin populare.
  • Interogări de căutare. Printre altele, jurnalele site-ului conțin și eficiența acelor meta-etichete Cuvinte cheieși chiar numele paginilor web pe care le-ați folosit și prin care anumite persoane ar putea găsi site-ul dvs motoare de căutare. În consecință, jurnalele conțin date despre ce motor de căutare a găsit site-ul dvs. pentru o anumită solicitare.
  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă ne-am grăbi pe undeva