Hvordan til å Konfigurere en Egendefinert-Tilgang og Error Log Formater i Nginx

Hvordan til å Konfigurere en Egendefinert-Tilgang og Error Log Formater i Nginx

Nginx HTTP-server har en fenomenal logging anlegg som er svært lett å tilpasse. I denne artikkelen vil vi forklare hvordan du konfigurerer du egne formater for tilgang og feillogger for Nginx i Linux.

målet med denne veiledningen er å hjelpe deg å forstå hvordan loggene er generert, slik som å konfigurere en egendefinert logg formater til formål feilsøking, problemløsing eller analyse av hva som utfolder seg innen web server samt web-applikasjoner (for eksempel sporing forespørsler).,

Les Også: 4 Gode Open Source Logger Overvåking og styringsverktøy for Linux

Denne artikkelen er laget av tre seksjoner som vil opplyse deg om hvordan du konfigurerer tilgang/feil-logger og hvordan å aktivere betinget logging i Nginx.

Konfigurere Tilgang til Loggene i Nginx

Under Nginx, alle klient forespørsler til serveren er innspilte i logg i et bestemt format ved hjelp av ngx_http_log_module modul.

standard loggfilen log/tilgang.,logg (vanligvis /var/log/nginx/access_log på Linux-systemer) og standard format for logging er vanligvis kombinert eller main-format (dette kan variere fra én til en annen distro).

access_log direktivet (gjelder i http, server, sted, hvis du er i posisjon og begrense unntatt sammenheng) brukes til å angi loggfilen og log_format-direktivet (gjeldende under http sammenheng bare) brukes til å angi log-format. Log-format er beskrevet av felles variabler og variabler som genereres bare på den tiden når en logger som er skrevet.,

syntaksen for å konfigurere en logg format er:

log_format format_name 'set_of_variables_to_define_format';

og syntaksen for å konfigurere tilgang logge er:

følgende er et utdrag fra standard Nginx konfigurasjonsfilen /etc/nginx/nginx.conf på CentOS 7.

/etc/nginx/nginx.conf

Denne loggen format gir følgende oppføring.

følgende er en annen nyttig å logge format som vi bruker for å spore forespørsler til vår web-applikasjoner ved hjelp av noen standard variabler, er det viktigst har avtale-ID-en og logger klient beliggenhet opplysninger (land, land, region og by).,

/etc/nginx/nginx.conf

Du kan bruke det som dette:

access_log /var/log/nginx/access.log custom;

Dette vil gi en loggoppføring som ser ut som dette.

Du kan angi flere logger ved å bruke access_log direktiver på samme nivå, her er vi ved hjelp av mer enn en loggfil i http-sammenheng.

/etc/nginx/nginx.,conf

følgende er mer avansert logging konfigurasjoner eksempler, som er nyttig for å logge formater som inneholder komprimering-relaterte variabler og for å lage komprimerte loggfiler:

access_log /var/log/nginx/custom_log custom buffer 32k;access_log /path/to/log.gz compression gzip flush=5m;

Konfigurere feillogger i Nginx

I tilfelle Nginx erfaringer noen glitches, registrerer opplysninger om dem i feilloggen. Disse problemene faller inn under ulike alvorlighetsgrad: debug-info, varsle, advare, feil (dette er standard nivå og arbeider globalt), kritisk, varsling, eller nødlys

standard loggfilen log/feil.,logg deg, men det er normalt plassert i /var/log/nginx/ på Linux-distribusjoner. Den error_log direktivet er brukt for å angi loggfilen, og det kan brukes i de viktigste, http, e-post, stream, server, beliggenhet kontekst (i den rekkefølgen).

Du bør også være oppmerksom på følgende:

  • Konfigurasjoner i de viktigste sammenheng er alltid arvet av lavere nivåer i den rekkefølgen ovenfor.
  • og konfigurasjoner i lavere nivåer overstyre konfigurasjoner arvet fra de høyere nivåene.,

Du kan konfigurere feil logging ved å bruke følgende syntaks:

error_log /path/to/log_file log_level;

For eksempel slik:

error_log /var/log/nginx/error_log warn; 

Dette vil instruere Nginx til å logge alle meldinger av typen advare og mer alvorlig logg nivå kritisk, varsling, og emerg meldinger.

I det neste eksempelet, meldinger av kritisk, varsling, og emerg nivåer vil bli logget.

error_log /var/www/example1.com/log/error_log crit;

Vurdere konfigurasjon nedenfor her, vi har definert feil logging på ulike nivåer (i http-server-sammenheng)., I tilfelle av en feil, den meldingen er skrevet til bare én feil logg, nærmest til det nivået hvor det har dukket opp.

/etc/nginx/nginx.conf

Hvis du bruker mer enn én error_log direktiver som i konfigurasjonen nedenfor (samme nivå), meldingene er skrevet for alle som er angitt logger.

/etc/nginx/nginx.conf

Konfigurere Betinget Logging i Nginx

I noen tilfeller kan det hende vi vil Nginx å utføre betinget logging av meldinger., Ikke hver melding må være logget av Nginx, derfor kan vi ignorere ubetydelig eller mindre viktige oppføringer fra vår tilgang til loggene for spesielle tilfeller.

Vi kan bruke ngx_http_map_module modul som skaper variabler med verdier som er avhengig av verdiene av andre variabler. Parametrene i en kart-blokkere (som bør finnes i http-innhold) angi en mapping mellom kilde og resulterende verdier.

For denne type setting, en anmodning ikke vil være logget hvis tilstanden evalueres til "0” eller en tom streng., Dette eksempel ekskluderer forespørsler med HTTP-statuskoder 2xx og 3xx.

/etc/nginx/nginx.conf
http{map $status $condition {~^ 0; default 1;}server{access_log /path/to/access.log custom if=$condition;}}

Her er en annen nyttig eksempel for debugging en web-applikasjon i en utviklingsfase. Dette vil ignorere alle meldinger og bare logg debug-informasjon.

/etc/nginx/nginx.conf

Du kan finne ut mer informasjon, inkludert logging til syslog her.

Det er alt for nå! I denne veiledningen, kan vi forklart hvordan du konfigurerer tilpassede logging format for tilgang og feillogger i Nginx., Bruk tilbakemeldingsskjemaet under for å stille spørsmål eller dele du tanker om denne artikkelen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *