API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) · Lektion

Loggning och mätvärden i Nginx

Konfigurera åtkomst- och felloggar i Nginx och utforska metoder för att extrahera mätvärden för övervakning och analys.

Lektion 1 av 411 steg

Loggning och mätvärden i Nginx är en gratis lektion i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.

Varför Nginx-loggar är viktiga

Nginx-loggar är avgörande för att förstå serverns aktivitet och hälsa. De registrerar varje begäran och alla problem som uppstår.

Se dem som serverns dagbok. Genom att granska loggarna kan du övervaka prestanda, felsöka problem, identifiera säkerhetshot och samla in värdefull användningsstatistik.

Förstå accessloggar

Accessloggar registrerar varje begäran som Nginx behandlar. Varje rad beskriver en enskild klientbegäran och ger insikt i vem som fick åtkomst till vad och när.

  • Klientens IP-adress: Vem som skickade begäran.
  • Begärans metod och URL: Vad som begärdes.
  • Statuskod: Om begäran lyckades (200), gav ett fel (404, 500) eller något annat.
  • Svarsstorlek: Hur mycket data som skickades tillbaka.
  • User-Agent: Klientens webbläsare eller enhet.

Standardformat för accessloggar

Som standard använder Nginx loggformatet 'combined', som innehåller standardinformation. Accessloggarna finns vanligtvis i /var/log/nginx/access.log.

Så här kan en vanlig post se ut:

192.168.1.1 - - [10/Oct/2023:14:30:00 +0000] "GET /index.html HTTP/1.1" 200 1234 "-" "Mozilla/5.0 (...)"

Anpassa format för accessloggar

Nginx låter dig definiera anpassade loggformat med direktivet log_format. Det är användbart när du vill anpassa loggarna efter dina specifika behov av övervakning eller analys.

Du kan inkludera variabler som $remote_addr (klientens IP-adress), $request (hela begäransraden), $status (svarskoden), $body_bytes_sent och många fler.

Definiera ett anpassat loggformat

Vi skapar ett anpassat loggformat med namnet 'my_json_format' som matar ut loggar i JSON-format. Det passar utmärkt för automatisk parsning!

Placera detta i blocket http i nginx.conf:

http {
    log_format my_json_format escape=json
      '{ "time_local":"$time_local",'
      '  "remote_addr":"$remote_addr",'
      '  "request":"$request",'
      '  "status":$status,'
      '  "bytes_sent":$body_bytes_sent,'
      '  "request_time":$request_time,'
      '  "http_referrer":"$http_referer",'
      '  "http_user_agent":"$http_user_agent" }';

    server {
        listen 80;
        server_name example.com;
        access_log /var/log/nginx/json_access.log my_json_format;
        # ... other server config ...
    }
}

Förstå felloggar

Felloggar registrerar diagnostisk information om problem som Nginx stöter på, från konfigurationsproblem till anslutningsfel mot backend.

De är viktiga för felsökning och för att upprätthålla serverns stabilitet. De finns vanligtvis i /var/log/nginx/error.log.

Konfigurera nivåer för felloggar

Direktivet error_log låter dig ange loggfilen och allvarlighetsnivån. Nginx loggar meddelanden på den angivna nivån eller en högre nivå.

  • debug: Mest utförlig, för djupgående felsökning.
  • info: Informativa meddelanden.
  • notice: Normala men betydelsefulla händelser.
  • warn: Potentiellt problematiska situationer.
  • error: Ett fel har inträffat.
  • crit: Kritiska förhållanden.
  • alert: Åtgärd måste vidtas omedelbart.
  • emerg: Systemet kan inte användas.

Ange nivåer för felloggar

Du kan konfigurera felloggarnas loggnivå globalt i blocket main eller http, eller specifikt i ett block för server eller location.

I produktion är warn eller error vanligt för att hålla loggarna hanterbara. Vid felsökning kan du tillfälligt ställa in nivån på info eller debug.

http {
    error_log /var/log/nginx/error.log warn;

    server {
        listen 80;
        server_name example.com;
        # This server's errors will also be logged at 'warn' level
        # You could override it here: error_log /path/to/server_error.log info;
    }
}

Loggrotation i produktion

I produktion kan loggar växa sig mycket stora på mycket kort tid. Loggrotation är processen att arkivera, komprimera och ta bort gamla loggfiler för att förhindra att de fyller upp diskutrymmet.

Nginx hanterar inte rotationen själv, men verktyg som logrotate (vanligt i Linux) används för att hantera detta. Du konfigurerar logrotate så att Nginx-loggfilerna roteras regelbundet.

Mätvärden från Nginx-loggar

Vilken av följande Nginx-loggvariabler skulle vara mest användbar för att beräkna den genomsnittliga svarstiden för din webbapplikation?

Sammanfattning: Loggar för insikter

Du har lärt dig att Nginx åtkomstloggar registrerar klientförfrågningar, medan felloggar rapporterar serverproblem. Genom att anpassa loggformat med log_format kan du skräddarsy utdata för specifika mätvärden eller verktyg.

Genom att förstå loggnivåer (t.ex. warn, error) kan du styra detaljnivån, och kunskap om loggrotation säkerställer att diskutrymmet hanteras effektivt.

Dessa grunder i loggning är avgörande för effektiv övervakning och felsökning av din Nginx-server.

Gratis att börja

Lär dig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Loggning och mätvärden i Nginx” gratis?

Ja – hela texten till ”Loggning och mätvärden i Nginx” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway), kan Ni uppgradera till CoddyKit PRO. Kursen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) innehåller totalt 4 lektioner.

Vad lär jag mig i ”Loggning och mätvärden i Nginx”?

Konfigurera åtkomst- och felloggar i Nginx och utforska metoder för att extrahera mätvärden för övervakning och analys. Ni övar på API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)?

Du behöver inga förkunskaper. Utbildningen i API-gateway och reverse proxy (Nginx + Spring Cloud Gateway) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Loggning och mätvärden i Nginx”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektionen?

Ja. Varje API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Loggning och mätvärden i Nginx
  2. Prestandajustering av Nginx
  3. Nginx i containerbaserade miljöer
  4. Omladdning utan driftstopp och testning av konfiguration
← Tillbaka till API-gateway och reverse proxy (Nginx + Spring Cloud Gateway)