loggar är mycket användbara för att övervaka aktiviteter i alla program förutom att ge dig värdefull information medan du felsöker den.
liksom alla andra program registrerar NGINX även händelser som besökare på din webbplats, problem som den stött på och mer för att logga filer. Denna information gör att du kan vidta förebyggande åtgärder om du märker några allvarliga avvikelser i logghändelserna.,
den här artikeln guidar dig i detaljer om hur du konfigurerar nginx-loggning så att du får en bättre inblick i dess aktiviteter.
förutsättning
- du har redan installerat NGINX genom att följa vår handledning härifrån.
loggar in NGINX
som standard skriver NGINX sina händelser i två typer av loggar – felloggen och åtkomstloggen., I de flesta av de populära Linux distro som Ubuntu, CentOS eller Debian kan både åtkomst-och felloggen hittas i /var/log/nginx
, förutsatt att du redan har aktiverat åtkomst-och felloggarna i core nginx-konfigurationsfilen.
låt oss ta reda på mer om nginx access log, fellogg och hur du aktiverar dem om du inte har gjort det tidigare.
vad är nginx access log?
NGINX loggar alla besökares aktiviteter på din webbplats i åtkomstloggarna., Här kan du hitta vilka filer som nås, hur NGINX svarade på en förfrågan, vilken webbläsare en klient använder, IP-adress för klienter och mer. Det är möjligt att använda informationen från åtkomstloggen för att analysera trafiken för att hitta webbplatser som används över tiden. Vidare, genom att övervaka åtkomstloggarna korrekt, kan man ta reda på om en användare skickar någon ovanlig begäran om att hitta brister i den utplacerade webbapplikationen.
Vad är nginx fellogg?
å andra sidan, om NGINX står inför några glitches kommer det att spela in händelsen i felloggen., Detta kan hända om det finns något fel i konfigurationsfilen. Därför om NGINX inte kan starta eller plötsligt slutade köra bör du kontrollera felloggarna för att hitta mer information. Du kan också hitta några varningar i felloggen men det indikerar inte att ett problem har uppstått men händelsen kan utgöra ett allvarligt problem inom en snar framtid.
Hur aktiverar du Nginx access log?
i allmänhet kan åtkomstloggen aktiveras medaccess_log
– direktivet antingen i http-eller serversektionen., Det första argumentet log_file är obligatoriskt medan det andra argumentet log_format är valfritt. Om du inte anger något format kommer loggar att skrivas i standardkombinerat format.
access_log log_file log_format;
åtkomstloggen är aktiverad som standard i http-kontexten för core nginx-konfigurationsfilen. Det betyder att åtkomstloggen för alla virtuella värden kommer att spelas in i samma fil.
http { ... ... access_log /var/log/nginx/access.log; ... ...}
det är alltid bättre att segregera åtkomstloggarna för alla virtuella värdar genom att spela in dem i en separat fil., För att göra det måste du åsidosätta access_log
– direktivet som definieras i http-avsnittet med ett annat access_log
– direktiv i serverkontexten.
ladda om NGINX för att tillämpa de nya inställningarna. Så här visar du åtkomstloggarna för domänen domain1.com använd följande tail-kommando i terminalen i filen /var/log/nginx/domain1.access.log
.
# tail -f /var/log/nginx/domain1.access.log
Använd anpassat Format i Åtkomstloggen
standardloggformatet som används för att spela in en händelse i åtkomstloggen är kombinerat loggformat., Du kan åsidosätta standardbeteendet genom att skapa ditt eget anpassade loggformat och ange namnet på det anpassade formatet i access_log-direktivet.
följande exempel definierar ett anpassat loggformat genom att utöka det fördefinierade kombinerade formatet med värdet av gzip-kompressionsförhållandet för svaret. Formatet används sedan genom att ange loggformatet medaccess_log
– direktivet.
När du har tillämpat ovanstående loggformat i din miljö, ladda om NGINX. Nu svans åtkomstloggen för att hitta gzip-förhållandet i slutet av logghändelsen.,
Hur aktiverar du Nginx fellogg?
error_log
direktivet ställer in felloggning till fil eller stderr, eller syslog genom att ange minimal allvarlighetsgrad av felmeddelanden som ska loggas. Syntaxen för error_log-direktivet är:
error_log log_file log_level;
det första argumentet log_file definierar sökvägen till loggfilen och det andra argumentet log_level definierar allvarlighetsgraden för logghändelsen som ska spelas in. Om du inte anger log_level sedan som standard registreras endast logghändelser med en allvarlighetsgrad av fel.,
följande exempel anger till exempel allvarlighetsgraden för felmeddelanden som ska loggas till crit
. Vidare innebär error_log-direktivet i http-sammanhanget att felloggen för all virtuell värd kommer att finnas tillgänglig i en enda fil.
http { ... error_log /var/log/nginx/error_log crit; ...}
det är också möjligt att spela in felloggar för alla virtuella värden separat genom att åsidosätta error_log-direktivet i serverkontexten. Följande exempel gör exakt det genom att åsidosätta error_log-direktivet i serverkontexten.,
alla exempel som beskrivs ovan registrerar logghändelserna till en fil. Du kan också konfigurera error_log-direktivet för att skicka logghändelserna till en syslog-server. Följande error_log-direktiv skickar felloggarna till syslog-servern med en IP-adress på 192.168.10.11 i felsökningsformat.
error_log syslog:server=192.168.10.11 debug;
i vissa situationer kanske du vill inaktivera felloggen. För att göra det, Ställ in loggfilnamnet till /dev/null
.,
error_log /dev/null;
Nginx Error Log Severity Levels
det finns många typer av loggnivåer som är associerade med en logghändelse och med en annan prioritet. Alla loggnivåer listas nedan. I följande loggnivåer har debug högsta prioritet och inkluderar resten av nivåerna också. Om du till exempel anger fel som loggnivå kommer det också att fånga logghändelser som är märkta som crit, alert och emergency.
- emerg: nödmeddelanden när ditt system kan vara instabilt.
- varning: varningsmeddelanden om allvarliga problem.,
- crit: kritiska frågor som måste tas om hand omedelbart.
- fel: Ett fel har uppstått. Något gick fel när du bearbetar en sida.
- varna: ett varningsmeddelande som du bör undersöka det.
- notice: ett enkelt loggmeddelande som du kan ignorera.
- info: bara ett informationsmeddelande som du kanske vill veta.
- debug: felsökningsinformation som används för att lokalisera fel.,
sammanfattning
åtkomst-och felloggarna i NGINX kommer inte bara att hålla en flik på användarnas aktivitet utan också spara tid och ansträngning i processen för felsökning. Vidare kan du också anpassa åtkomstloggen om du behöver mer information till ditt förfogande. Det är alltid bättre att aktivera åtkomst-och felloggar eftersom dessa två filer innehåller alla ledtrådar för bättre underhåll av Nginx-servern.