Logs zijn zeer nuttig om activiteiten van elke toepassing te controleren, behalve het verstrekken van waardevolle informatie terwijl u het probleem oplost.
net als elke andere toepassing, registreert NGINX ook gebeurtenissen zoals bezoekers van uw site, problemen die het tegenkwam en meer om bestanden te loggen. Deze informatie stelt u in staat preventieve maatregelen te nemen in het geval u ernstige afwijkingen in de loggebeurtenissen opmerkt.,
Dit artikel zal u meer informatie geven over hoe u Nginx logging kunt configureren, zodat u een beter inzicht krijgt in de activiteiten.
Prerequisite
- u hebt NGINX al geïnstalleerd door onze tutorial vanaf hier te volgen.
Logs in NGINX
standaard schrijft NGINX zijn gebeurtenissen in twee typen logs-het foutlogboek en het toegangslogboek., In de meeste populaire Linux distro zoals Ubuntu, CentOS of Debian, kan zowel het toegangs-als foutlogboek worden gevonden in /var/log/nginx
, ervan uitgaande dat u de toegangs-en foutlogboeken in het kernconfiguratiebestand van NGINX al hebt ingeschakeld.
laat ons meer te weten komen over Nginx access log, error log en hoe ze in te schakelen als je het niet eerder hebt gedaan.
Wat is nginx access log?
De Nginx logt de activiteiten van alle bezoekers van uw site in de access logs., Hier kunt u vinden welke bestanden worden benaderd, hoe NGINX reageerde op een verzoek, welke browser een client gebruikt, IP-adres van clients en meer. Het is mogelijk om de informatie uit de Access log te gebruiken om het verkeer te analyseren om sites te gebruiken in de tijd. Verder, door de controle van de toegang logs goed, men kan erachter komen of een gebruiker is het verzenden van een ongebruikelijke verzoek voor het vinden van gebreken in de ingezette webapplicatie.
Wat is nginx-foutlogboek?
aan de andere kant, als NGINX geconfronteerd wordt met enige glitches dan zal het de gebeurtenis opnemen in het foutlogboek., Dit kan gebeuren als er een fout is in het configuratiebestand. Daarom als NGINX is niet in staat om te starten of abrupt gestopt met draaien dan moet u de fout logs te controleren om meer details te vinden. U kunt ook enkele waarschuwingen vinden in het foutlogboek, maar het geeft niet aan dat er een probleem is opgetreden, maar de gebeurtenis kan een ernstig probleem vormen in de nabije toekomst.
hoe Nginx toegangslog inschakelen?
in het algemeen kan het toegangslog worden ingeschakeld met access_log
directive in http of in server sectie., Het eerste argument log_file is verplicht terwijl het tweede argument log_format optioneel is. Als u geen formaat opgeeft, worden logboeken in standaard gecombineerd formaat geschreven.
access_log log_file log_format;
De toegangslog is standaard ingeschakeld in de http-context van core Nginx configuratiebestand. Dat betekent toegang log van alle virtuele host zal worden opgenomen in hetzelfde bestand.
http { ... ... access_log /var/log/nginx/access.log; ... ...}
Het is altijd beter om de toegangslogs van alle virtuele hosts te scheiden door ze op te nemen in een apart bestand., Om dat te doen, moet u de access_log
– richtlijn overschrijven die in de http-sectie is gedefinieerd met een andere access_log
– richtlijn in de servercontext.
herlaad NGINX om de nieuwe instellingen toe te passen. De toegangslogboeken voor het domein weergeven domain1.com in het bestand /var/log/nginx/domain1.access.log
, gebruik je het volgende tail commando in de terminal.
# tail -f /var/log/nginx/domain1.access.log
aangepast formaat toepassen in Access Log
het standaard logformaat dat wordt gebruikt om een gebeurtenis in het access log op te nemen is gecombineerd logformaat., U kunt het standaardgedrag overschrijven door uw eigen aangepaste logopmaak te maken en vervolgens de naam van het aangepaste formaat op te geven in de access_log-richtlijn.
het volgende voorbeeld definieert een aangepast logboekformaat door het vooraf gedefinieerde gecombineerde formaat uit te breiden met de waarde van gzip-compressieverhouding van het antwoord. Het formaat wordt vervolgens toegepast door het log-formaat aan te geven met de access_log
richtlijn.
nadat u bovenstaande logopmaak in uw omgeving hebt toegepast, herlaadt u NGINX. Volg nu de access log om de gzip ratio te vinden aan het einde van de log gebeurtenis.,
hoe Nginx foutlog inschakelen?
de error_log
richtlijn stelt foutregistratie in op Bestand of stderr, of syslog door minimale ernst van Foutmeldingen op te geven. De syntaxis van error_log directive is:
error_log log_file log_level;
het eerste argument log_file definieert het pad van het logbestand en het tweede argument log_level definieert de ernst van de log gebeurtenis die moet worden geregistreerd. Als u het log_level niet opgeeft, worden standaard alleen loggebeurtenissen met een ernst van fouten geregistreerd.,
bijvoorbeeld, het volgende voorbeeld stelt het ernstniveau in van foutmeldingen die moeten worden gelogd op crit
. Verder impliceert de error_log-richtlijn in de http-context dat het foutlogboek voor alle virtuele host beschikbaar zal zijn in een enkel bestand.
http { ... error_log /var/log/nginx/error_log crit; ...}
Het is ook mogelijk om foutlogs voor alle virtuele host afzonderlijk op te nemen door de error_log-richtlijn in de servercontext te overschrijven. Het volgende voorbeeld doet dat precies door het overschrijven van error_log directive in de servercontext.,
alle bovenstaande voorbeelden registreren de loggebeurtenissen in een bestand. U kunt ook de error_log-richtlijn configureren voor het verzenden van de loggebeurtenissen naar een syslog-server. De volgende error_log richtlijn stuurt de fout logs naar de syslog server met een IP adres van 192.168.10.11 in debug formaat.
error_log syslog:server=192.168.10.11 debug;
In een bepaalde situatie kunt u het foutlogboek uitschakelen. Om dat te doen, stelt u de logbestandsnaam in op /dev/null
.,
error_log /dev/null;
Nginx Error Log Severity Levels
Er zijn veel typen log levels die geassocieerd zijn met een log event en met een andere prioriteit. Alle log levels staan hieronder vermeld. In de volgende log levels heeft debug de hoogste prioriteit en bevat ook de rest van de levels. Als u bijvoorbeeld een fout opgeeft als logniveau, worden ook loggebeurtenissen vastgelegd die zijn gelabeld als crit, alert en emergency.
- emerg: noodberichten wanneer uw systeem onstabiel kan zijn.
- alert: waarschuwingsberichten van ernstige problemen.,
- crit: kritieke problemen die onmiddellijk moeten worden opgelost.
- fout: Er is een fout opgetreden. Er ging iets mis tijdens het verwerken van een pagina.
- warn: een waarschuwing dat je er naar moet kijken.
- notice: een eenvoudige log notice die u kunt negeren.
- info: alleen informatieberichten die u misschien wilt weten.
- debug: debuginformatie die wordt gebruikt om de locatie van de fout te bepalen.,
samenvatting
de toegangs-en foutlogboeken in NGINX houden niet alleen een tabblad bij over gebruikersactiviteiten, maar besparen ook tijd en moeite tijdens het debuggen. Verder kunt u ook de toegangslog aanpassen als u meer informatie tot uw beschikking wilt. Het is altijd beter om toegang en fout logs in te schakelen, omdat deze twee bestanden bevatten alle aanwijzingen voor een beter onderhoud van de nginx server.