Articles

Configurarea jurnalelor de eroare și acces Apache

Posted by admin

Apache este un server HTTP open-source și cross-platform. Are o mulțime de caracteristici puternice care pot fi extinse de o mare varietate de module. Când gestionați serverele web Apache, una dintre cele mai frecvente sarcini pe care le veți efectua este verificarea fișierelor jurnal.

știind cum să configurați și să citiți jurnalele este foarte util atunci când depanați probleme de server sau de aplicație, deoarece acestea oferă informații detaliate de depanare.Apache scrie înregistrări ale evenimentelor sale în două tipuri de jurnale: jurnalele de acces și jurnalele de eroare., Jurnalele de acces includ informații despre solicitările clienților și jurnalele de erori informații despre problemele legate de server și de aplicație.acest articol descrie modul de configurare și citire a jurnalelor de acces și eroare Apache.

Configurarea Jurnalului de acces #

Apache webserver generează un nou eveniment în Jurnalul de acces pentru toate cererile procesate. Fiecare înregistrare de eveniment conține o marcă de timp și include diverse informații despre client și resursa solicitată. Jurnalele de acces arată locația vizitatorilor, pagina pe care o vizitează, cât timp petrec pe pagină și multe altele.,

Directiva CustomLog definește locația fișierului jurnal și formatul mesajelor înregistrate.

Cele mai de bază sintaxa CustomLog directiva este după cum urmează:

CustomLog log_file format ;

log_file poate fi relativă la ServerRoot sau calea completă pentru fișierul jurnal. Mesajele de jurnal pot fi, de asemenea, conectate la un alt program folosind simbolul conductei |.

al doilea argument, format specifică formatul mesajelor de jurnal., Poate fi fie o definiție explicită a formatului, fie o poreclă definită de Directiva LogFormat.

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combinedCustomLog logs/access.log combined
CustomLog logs/access.log "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\""

Pentru a evita repetarea aceluiași cod de mai multe ori, preferă definirea LogFormat directiva și folosind-o ca o poreclă în CustomLog directiva.

pentru o listă completă a tuturor șirurilor și modificatorilor de format, verificați documentația modulului „mod_log_config”.,

al treilea argument este opțional și vă permite să scrieți mesaje de jurnal numai atunci când este îndeplinită o anumită condiție. De obicei, acest lucru se face folosind variabile de mediu. Condiția poate fi negată cu simbolul !.

De exemplu, dacă doriți să excludeți cereri de la css fișiere pentru a fi scrise în fișierul jurnal, ar trebui să utilizați următoarele:

SetEnvIf Request_URI \.css$ css-fileCustomLog logs/access.log custom env=!css-file

Pentru a modifica format de logare, puteți fie să definească un nou LogFormat directiva sau suprascrie formatul implicit., De obicei, este mai bine pentru a defini un nou format.

în timp ce Jurnalul de acces oferă informații foarte utile, este nevoie de spațiu pe disc și poate afecta performanța serverului. Dacă serverul dvs. are resurse reduse și aveți un site web ocupat, este posibil să doriți să dezactivați Jurnalul de acces.

pentru a face acest lucru, pur și simplu comentați sau eliminați directiva CustomLog din configurația serverului principal și secțiunile serverului virtual.,

Dacă doriți să opriți jurnal de acces doar pentru o gazdă virtuală, stabilit primul argument al CustomLog directiva a /dev/null:

CustomLog /dev/null combined

Configurarea Jurnal de Eroare #

Apache scrie mesaje despre aplicația și generale de erori de server în fișierul jurnal de eroare. Dacă întâmpinați erori în aplicația dvs. web, Jurnalul de erori este primul loc pentru a începe pentru rezolvarea problemelor.

Directiva ErrorLog definește locația numelui jurnalului de erori., Ea are următoarea formă:

ErrorLog log_file

în Cazul în care calea de a log_file nu este absolută, atunci este setat ca relativ la ServerRoot. Mesajele de eroare pot fi, de asemenea, direcționate către un alt program folosind simbolul conductei |.

parametrul LogLevel stabilește nivelul de logare. Mai jos sunt nivelurile enumerate de gravitatea lor (de la mic la mare):

  • trace1trace8 – mesajele Urmă.
  • debug – Mesaje de depanare.,
  • info – mesaje informative.
  • notice – notificări.
  • warn – avertismente.
  • error – erori în timpul procesării unei solicitări.
  • crit – probleme critice. Necesită o acțiune promptă.
  • alert – alerte. Trebuie luate măsuri imediat.
  • emerg – situație de urgență. Sistemul este într-o stare inutilizabilă.fiecare nivel de jurnal include nivelurile superioare., De exemplu, dacă setați nivelul de jurnal să warn, Apache, de asemenea, scrie error, crit, alert și emerg mesaje.

    LogLevel parametrul nu este specificat, implicit este warn. Se recomandă setarea nivelului la cel puțin crit.

    Directiva ErrorLogFormat specifică formatul jurnalului de erori., Pe majoritatea distribuțiilor Linux, serverul Apache utilizează formatul implicit, care este suficient pentru majoritatea cazurilor.

    gazde virtuale și logare globală #

    comportamentul de logare și locația fișierelor pot fi setate fie la nivel global, fie pe bază de gazdă virtuală.

    Apoi CustomLog sau ErrorLog directive sunt stabilite în principal de server context, server scrie jurnal mesaje de la același acces și de eroare de fișiere jurnal., În caz contrar, dacă directivele sunt plasate într-un bloc <VirtualHost>, numai mesajele de jurnal pentru acea gazdă virtuală sunt scrise în fișierul specificat.

    Directiva jurnal setată în blocul <VirtualHost> înlocuiește cel setat în contextul serverului.

    gazdele virtuale fărăCustomLog sauErrorLog directivele vor avea mesajele de jurnal scrise în jurnalele serverului global.pentru o mai bună lizibilitate, este recomandat să setați fișiere de acces și jurnal de erori separate pentru fiecare gazdă virtuală., Iată un exemplu:

    ori de câte ori modificați fișierul de configurare, trebuie să reporniți serviciul Apache pentru ca modificările să aibă efect.

    locația fișierelor jurnal #

    în mod implicit pe distribuțiile bazate pe Debian , cum ar fi Ubuntu, jurnalele de acces și erori sunt localizate în directorul/var/log/apache2. Pe CentOS Fisierele Jurnal sunt plasate in directorul /var/log/httpd.,

    Citirea și Înțelegerea Apache Log Fișiere #

    fișierele jurnal pot fi deschise și analizate folosind standard de comenzi ca cat , less , grep , cut , awk , și așa mai departe.,

    Aici este un exemplu de înregistrare de acces la fișier jurnal care folosește Debian’ combine jurnal format:

    Să rupe în jos ceea ce fiecare domeniu de înregistrare înseamnă:

    Utilizare tail comandă pentru a viziona fișierul jurnal în timp real:

    tail -f access.log 

    Concluzie #

    fișiere Log a vă oferi informații utile despre server probleme și modul în care vizitatorii interacționează cu site-ul.Apache are un sistem de logare foarte configurabil, care vă permite să personalizați jurnalele de acces și de eroare în funcție de nevoile dvs.

Leave A Comment