Înregistrarea și rotirea jurnalelor apache de pe serverul ubuntu

Plasarea serverelor în centre de date fiabile din Europa. Deschideți serverul VPS / VDS bazat pe cloud pe SSD-uri rapide în 1 minut!

Cel mai bun Gazduire:
- protejează datele de accesul nedorit într-un centru de date european protejat






- va accepta plata cel puțin în taxe.
- vă va permite să vă distribuiți distribuția

- protecția împotriva atacurilor DDos
- copie de rezervă gratuită
- Uptime 99.9999%
- Centrul de date - TIER III
- furnizor - TIER I

Sprijinim în limba rusă 24/7/365 Lucrăm cu persoane juridice și persoane fizice. Acum aveți nevoie de 24 nuclee și 72 GB de memorie RAM. Vă rog!

Tarifele noastre avantajoase vor dovedi că nu ați știut încă ieftinul de găzduire!

Minute: selectați configurația, plătiți și CMS de pe VPS este gata.
Banii înapoi - 30 de zile!

Carduri bancare, e-valută, prin intermediul terminalelor Qiwi, Webmoney, PayPal, Novoplat etc.

Puneți o întrebare la sprijinul 24/7/365

Găsiți răspunsuri în baza noastră de date și cunoașteți recomandările

Serverul web Apache poate oferi administratorului o mulțime de informații utile despre munca lor, precum și despre problemele și erorile care trebuie rezolvate.

Înregistrarea temporizată vă permite să evitați problemele neașteptate cu serverul web în viitor. Informațiile stocate în jurnalele (sau jurnalele) serverului ajută la evaluarea rapidă a situației și la eliminarea erorilor. Apache oferă un mecanism de jurnalizare foarte flexibil.

Acest ghid introduce capabilitățile logării Apache și instrumentele create pentru aceasta.

Notă. În acest tutorial, Apache2 este folosit pe serverul Ubuntu 12.04, dar instrucțiunile sunt potrivite pentru alte distribuții.

Nivelurile de logare

Pentru aceasta, există niveluri de logare. De exemplu, cele mai importante mesaje care raportează erorile critice și eșecurile sunt nivelul de apariție. Iar mesajele de la info oferă pur și simplu sugestii utile.

Există următoarele niveluri de logare:

  • emerg: o situație critică, o eșec de urgență, sistemul este necorespunzător.
  • alertă: o situație complexă înainte de urgență, este necesar să se ia măsuri urgente.
  • crit: Probleme critice care trebuie abordate.
  • eroare: A apărut o eroare.
  • avertisment: avertizare; Sa întâmplat ceva în sistem, dar nu există motive de îngrijorare.
  • Notă: sistemul este normal, dar trebuie să acordați atenție stării sale.
  • info: informații importante care trebuie notate.
  • Debug: informații pentru depanare, care pot ajuta la determinarea problemei.
  • urmări [1-8]: Urmăriți informații de diferite nivele de detaliu.

La configurarea înregistrării, este setat cel mai puțin important nivel, care trebuie introdus în jurnal. Ce înseamnă asta? Logurile înregistrează nivelul specificat de înregistrare, precum și toate nivelurile cu o prioritate mai mare. De exemplu, dacă selectați nivelul de eroare, jurnalele vor repara nivelurile de eroare, criză, alertă și apariție.

Pentru a seta nivelul de logare, există o directivă LogLevel. Nivelul implicit de înregistrare este specificat în fișierul de configurare standard:

sudo nano /etc/apache2/apache2.conf
.
LogLevel avertizează
.

După cum vedeți, în mod implicit, Apache avertizează (și nivelurile de prioritate mai mare) jurnalul.

Unde sunt registrele Apache?

Apache își poate plasa jurnalele utilizând setările de înregistrare la nivel de server. De asemenea, puteți configura logarea individuală pentru fiecare gazdă virtuală individuală.

Setările de înregistrare la nivel de server

Pentru a afla unde sunt jurnalele server standard, deschideți fișierul de configurare. În Ubuntu, acesta este /etc/apache2/apache2.conf:

sudo nano /etc/apache2/apache2.conf

Căutați o linie în fișier:

Această directivă indică locația jurnalului în care Apache stochează mesaje de eroare. După cum puteți vedea, variabila de mediu APACHE_LOG_DIR este folosită pentru a obține prefixul căii de director.

Pentru a afla valoarea APACHE_LOG_DIR, deschideți fișierul envvars:

sudo nano / etc / apache2 / envvars
.






exportați APACHE_LOG_DIR = / var / log / apache2 $ SUFFIX
.

Conform acestui fișier, variabila APACHE_LOG_DIR este setată la directorul / var / log / apache2. Aceasta înseamnă că Apache va conecta această valoare la directivă în fișierul de configurare apache2.conf și va introduce datele în jurnalul /var/log/apache2/error.log.

sudo ls / var / log / apache2
access.log error.log other_vhosts_access.log

După cum puteți vedea, aici este eroarea log error.log și alte câteva jurnale.

Logarea gazde virtuale

Fișierul access.log menționat la sfârșitul secțiunii anterioare nu este configurat în fișierul apache2.conf. În schimb, dezvoltatorii au pus directiva corespunzătoare în fișierul gazdă virtuală.

sudo nano / etc / apache2 / site-uri disponibile / implicite

Derulați prin fișier și găsiți următoarele trei valori asociate înregistrării:

Locația erorii de eroare este identică cu definiția acesteia în fișierul de configurare standard. Această linie nu trebuie să fie în două fișiere separate; Dacă schimbați locația acestui jurnal într-unul din fișiere, eroarea nu apare.

User Logs

În secțiunea anterioară, șirul care descrie access.log utilizează o direcție diferită de liniile anterioare pentru a configura jurnalele. Utilizează CustomLog:

CustomLog $ / access.log combinat

Această directivă are această sintaxă:

CustomLog log_location log_format

În acest caz, log_format (format log) este combinat. Această specificație nu este o specificație internă pentru Apache; specifică formatul personalizat care este definit în fișierul de configurare implicit.

Din nou, deschideți fișierul de configurare în mod implicit și găsiți linia care definește formatul combinat:

sudo nano /etc/apache2/apache2.conf
.
LogFormat "% h% l% u% t"% r "%> s% O" i ""% i "
.

Comanda LogFormat definește formatul jurnal personalizat care este apelat de directiva CustomLog.

Acest format este denumit combinat.

Există mai multe formate comune pe care le puteți utiliza pentru a defini gazde virtuale. De asemenea, puteți crea propriile formate.

Rotația jurnalelor Apache

Rotația jurnalelor este un proces care implică dezactivarea fișierelor jurnal învechite sau prea mari și arhivarea acestora (pentru o anumită perioadă de timp). Apache poate loga cantități mari de date, prin urmare, pentru a evita umplerea spațiului pe disc, este necesară configurarea rotației jurnalului.

Rotația jurnalelor poate fi foarte simplă (cum ar fi, de exemplu, dezactivarea jurnalelor prea mari), dar poate avea o configurație mai complexă (funcția de sistem de arhivare și stocare a jurnalelor vechi).

Luați în considerare metode pentru configurarea rotației jurnalului Apache.

Rotirea manuală a buștenilor

Nu puteți muta jurnalele în timp ce Apache rulează. Adică să mutați jurnalele depășite sau completate și să le înlocuiți cu altele noi, trebuie să reporniți serverul.

Acest lucru se poate face manual. Pentru a face acest lucru, trebuie să mutați fișierele învechite, apoi reporniți Apache, actualizați setările serverului web și forțați-l să folosească noile jurnale.

Mai jos este un exemplu din documentația Apache. Este posibil să fie necesar să adăugați sudo la începutul acestor comenzi.

mv access_log acces_log.old
mv error_log error_log.old
apachectl grațios
dormi 600
[post-procesarea fișierelor de jurnal]

Aceste comenzi vor muta fișierele, reporniți serverul și spuneți-i să aștepte 600 de secunde. Astfel, Apache va putea să folosească vechile fișiere log pentru a finaliza înregistrarea interogărilor vechi. În acest timp, se vor scrie noi cereri în fișierele jurnal noi.

Rețineți: rotația jurnalului manual este foarte nesigură în mediile de servere mari.

Utilitatea logroată

Implicit, Ubuntu configurează rotația jurnalelor utilizând utilitarul logrotate.

sudo nano /etc/logrotate.d/apache2

Acesta conține mai mulți parametri logrotate. Acordați atenție primei linii:

Aceasta înseamnă că logrotate va roti numai jurnalele care sunt în / var / log / apache2. Țineți cont de acest lucru dacă ați selectat un alt director pentru stocare în configurația Apache.

După cum puteți vedea, jurnalele se rotesc săptămânal. De asemenea, există o secțiune de cod care repornește Apache după rotație:

postrotate
/etc/init.d/apache2 reîncărcați> / dev / null
endscript

Aceste linii repornește automat serverul web Apache după terminarea rotației.

Notă. Din păcate, setările acestui fișier nu sunt acoperite în acest manual.

Rotația buștenilor de canale

Utilizarea canalelor în loc de fișiere este o modalitate ușoară de a trece procesarea de ieșire la programul de înregistrare. De asemenea, aceasta rezolvă problema rotației jurnalului, deoarece rotația poate fi efectuată utilizând un program pe partea serverului (și nu pe serverul Apache însuși).

Pentru ca jurnalele să fie procesate de un program de înregistrare care acceptă ieșirea standard, înlocuiți următoarea linie cu următoarele:

CustomLog "| logging_program logging_program_parameters" combinate

Apache va rula programul de înregistrare la momentul încărcării și va reporni în cazul unei erori sau eșecuri.

Pentru a roti jurnalele puteți utiliza diferite programe, dar în mod implicit Apache vine cu rotatelogs. Pentru a configura acest program, folosiți:

CustomLog "| / path / to / rotatelog / cale / din / log / to / rotate number_of_seconds_between_rotations" log_level

O configurație similară poate fi creată pentru alte programe.

concluzie

Desigur, acest ghid acoperă doar principiile de bază ale logării Apache.

Configurarea corectă a mecanismelor de înregistrare și gestionarea rezonabilă a fișierelor de jurnal vor economisi mult timp și efort în cazul unor probleme cu serverul. Având un acces rapid la informații care vă vor ajuta să identificați problemele, puteți remedia toate erorile cât mai curând posibil.

De asemenea, este foarte important să monitorizați jurnalele serverului astfel încât să nu compromiteți accidental informațiile confidențiale.







Articole similare

Trimiteți-le prietenilor: