zoals elke ontwikkelaar of systeembeheerder u zal vertellen, zijn logbestanden Een zeer nuttig hulpmiddel voor het debuggen van problemen binnen een webtoepassing. In feite, logbestanden worden meestal gebruikt als de primaire bron van informatie wanneer een website defect is.

een specifiek logbestand dat kan worden gebruikt in debugtoepassingen (of gewoon inzicht krijgen in bezoekersactiviteit) is het toegangslog dat wordt geproduceerd door een Apache HTTP server., Hieronder zal ik ingaan op de bijzonderheden van deze logs: Ik zal uitleggen wat wordt opgenomen in de Apache access logs, waar ze kunnen worden gevonden, en hoe je zin van de gegevens in het bestand te maken. Aangezien de echte kracht van loggegevens afkomstig is van het begrijpen van de Betekenis van de gegevens door middel van analyse, zal ik ook de voordelen bespreken van het werken met een log management en analytics platform (zoals Sumo Logic) om waardevolle inzichten te ontlenen aan toegangsloggegevens.

Wat zijn Apache Access Logs?,

zoals hierboven vermeld, is de Apache access log een van de verschillende logbestanden die door een Apache HTTP server worden geproduceerd. Dit specifieke logbestand is verantwoordelijk voor het opnemen van gegevens voor alle verzoeken die worden verwerkt door de Apache server. Dus als een individu een webpagina op uw site bezoekt, bevat het toegangslogbestand details over dit evenement., informatie is waardevol in een verscheidenheid van situaties: bijvoorbeeld, als een gemeenschappelijk verzoek is niet voor elk individu probeert te krijgen tot een bepaalde web pagina, de link kan verwijzen naar een pagina die niet meer bestaat; indien een bepaalde pagina op de site is langer dan het zou moeten laden, log boek vermeldingen kunnen wijzen op SQL-query ‘ s die kunnen worden herwerkt om de prestaties te verbeteren; als een bepaalde pagina op de site is erg populair, het aggregeren van gegevens vanuit access logs kon een licht schijnen op de meest gevraagde middelen, waardoor bedrijven om hun populariteit te verhogen door te zorgen voor meer gerelateerde inhoud.,

Waar Kan Ik Apache Access Logs vinden?

de locatie van de Apache access logs is afhankelijk van het systeem waarop de Apache HTTP server draait. De meerderheid van de Apache HTTP server instances draaien op Linux distributies. Dus, voor de doeleinden van dit artikel, zullen we ons beperken tot het detailleren waar de Apache access logs te vinden zijn op een Linux machine.

Op de Ubuntu Linux-distributie worden bijvoorbeeld access log records standaard naar de volgende locatie geschreven:

/var/log/apache2 / access.,log

De standaard locatie kan enigszins variëren op andere Linux distributies, maar je hoeft in de meeste gevallen niet erg ver te zoeken. Uiteindelijk worden de locatie en het formaat (meer hierover later) van de access logs gedefinieerd door een CustomLog directive die kan worden bekeken en aangepast binnen uw Apache HTTP server configuratie.

het interpreteren van de Apache Access Logs

Nu u weet wat Apache access logs zijn en waar ze gevonden kunnen worden, kunnen we uitleggen hoe u de ingangen interpreteert zodat uw ontwikkelingsteam en ander IT-personeel er goed gebruik van kunnen maken.,

het lezen van Apache Access Logs

het begrijpen van de Apache access logs vereist dat de analist het formaat begrijpt waarin de access logs worden opgeslagen. Zoals hierboven vermeld, het formaat voor de toegang logs is gedefinieerd in de CustomLog richtlijn samen met de locatie. We zullen een kijkje nemen op twee populaire log formaten die vaak worden gebruikt met Apache access logs hieronder.

Common Log Format

Het Common Log Format is een gestandaardiseerd tekstbestandsformaat dat door verschillende webservers wordt gebruikt bij het genereren van serverlogbestanden., Met een Apache HTTP server, kan het gemeenschappelijke Log-formaat worden gebruikt om toegangslogs te produceren die eenvoudig genoeg zijn voor ontwikkelaars en beheerders om te lezen. Bovendien, omdat het een gestandaardiseerd formaat is dat door meerdere webservers wordt gebruikt, kunnen CLF-geformatteerde logbestanden gemakkelijk worden gebruikt door veel loganalyseplatforms.

een access log record geschreven in de gemeenschappelijke Log formaat zal er ongeveer als volgt uitzien:

127.0.0.1 – Scott “GET/server-status HTTP/1.1” 200 2326

de velden in het bovenstaande voorbeeld record vertegenwoordigen het volgende:

  • 127.0.0.,1-IP-adres van de client die het verzoek heeft gedaan;
  • het koppelteken dat het tweede veld in het logbestand definieert is de identiteit van de client. Dit veld wordt vaak geretourneerd als een koppelteken en Apache ‘ s HTTP server documentatie raadt aan dat dit specifieke veld niet wordt gebruikt, behalve in het geval van een gecontroleerd intern netwerk.
  • Scott-userid van de persoon die de bron aanvraagt;
  • – datum en tijd van het verzoek;
  • “GET / server-status HTTP / 1.,1 ” – request type en resource wordt gevraagd;
  • 200-HTTP response status code;
  • 2326-grootte van het object geretourneerd aan de client.

gecombineerd Logformaat

een ander formaat dat vaak wordt gebruikt met Apache access logs is het gecombineerde Logformaat. Dit formaat is zeer vergelijkbaar met de gemeenschappelijke Log formaat, maar bevat een paar extra velden om meer informatie te bieden voor gebruik in analyse en debugging operaties., Een access log record dat is opgenomen in het gecombineerde Log formaat ziet er ongeveer als volgt uit:

zoals u kunt zien, zijn de eerste zeven velden identiek aan die in de gemeenschappelijke Log formaat. De overige velden vertegenwoordigen twee extra eigenschappen:

de “CustomLog” – Richtlijn

eerder zei ik dat de configuratie voor Apache access logs wordt gedaan via de customlog-richtlijn binnen een Apache HTTP server configuratiebestand., Laten we eens kijken naar een voorbeeld access log configuratie om de flexibiliteit te tonen die geboden wordt door de CustomLog directive:

LogFormat “%H %l %U %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}I\”” combined

CustomLog /var/log/apache2/access.log combined

Hier hebben we het gecombineerde log-formaat gedefinieerd via de LogFormat-richtlijn, en we hebben dat gevolgd door de locatie en het formaat (gecombineerd) voor het toegangslog te definiëren met behulp van de CustomLog-richtlijn. Zoals u kunt zien, het wijzigen van de locatie of het formaat van de toegang log is een eenvoudig proces., Daarnaast biedt het gebruik van de CustomLog directive ons verschillende andere mogelijkheden die we hieronder zullen beschrijven.

Multiple Access Logs

Er is geen regel die zegt dat u niet meerdere access logs kunt configureren voor uw Apache HTTP server, en het proces is eigenlijk vrij eenvoudig; het enige wat u hoeft te doen is extra CustomLog directives toevoegen om een extra, aangepast access log bestand toe te voegen:

LogFormat “%H %l %U %t \”%r\” %>s %O \”%{Referer}i\” \”%{user-agent}I\”” gecombineerd

LogFormat “%{user-agent}I” Agent

customlog /var/log/Apache2/access.,log gecombineerd

CustomLog/var/log/apache2 / agent_access.log agent

conditionele Logs

daarnaast is het mogelijk om voorwaardelijke toegang logs te schrijven. Dit kan om verschillende redenen nuttig zijn, waaronder de uitsluiting van records in verband met bepaalde cliënten. Typisch, dit wordt gedaan door het instellen van omgevingsvariabelen en verwijzen naar hen via de “env” clausule. Bezoek de officiële documentatie over de CustomLog directive voor meer informatie.

log rotatie & Piped Logs

net als alles op een server nemen logbestanden ruimte in., En op een relatief drukke Apache server kunnen logbestanden zoals access logs snel groeien. Daarom is het belangrijk om processen op zijn plaats te hebben voor het regelmatig verplaatsen of verwijderen van oude logbestanden. Gelukkig, een Apache HTTP server heeft de mogelijkheid om dit te doen door het gebruik van sierlijke herstart en piped log processen.

een sierlijke herstart van een Apache-server maakt het mogelijk om opnieuw op te starten zonder clientverbindingen te verliezen., Deze herstart stelt Apache in staat om te openen en te schrijven naar nieuwe logbestanden zonder client onderbreking, waardoor de uitvoering van de verwerking te comprimeren of verwijderen van oude logbestanden in het belang van het opslaan van ruimte.

Piped log processen, aan de andere kant, kunnen toestaan dat log rotatie worden uitgevoerd zonder een server herstart; bijvoorbeeld, een programma genaamd rotatelogs is opgenomen met Apache HTTP server. In plaats van simpelweg naar een bestand te schrijven, kunnen access log entries via een pipe naar dit specifieke programma worden geschreven., Het rotatelogs-programma bevat opties om logs voorwaardelijk te draaien op basis van tijd of grootte.

Apache Access Logs analyseren met Sumo Logic

het verzamelen van enorme hoeveelheden gegevens in logbestanden is alleen nuttig als de gegevens effectief kunnen worden beheerd en gemakkelijk kunnen worden geanalyseerd. Wanneer het goed wordt gedaan, levert het waardevolle inzichten op die kunnen worden benut om kansen voor verbetering binnen uw webserverconfiguratie of-toepassing te identificeren., Bij het werken met Apache access logs, is het het beste om te integreren met Sumo Logic om uw Apache log bestanden te verzamelen, waardoor het proces voor het produceren van waardevolle visualisaties minder pijnlijk dan ooit.

het proces om aan de slag te gaan is relatief eenvoudig. In feite, door simpelweg het configureren van een SumoLogic collector en lokale Bestandsbron voor de Apache access log, kunt u up and running in een fundamentele zin in een kwestie van minuten. Bekijk Sumo Logic today om te zien hoe ze uw processen voor logbeheer en data-analyse kunnen verbeteren.,

volledige zichtbaarheid voor DevSecOps

verminder downtime en ga van reactieve naar proactieve monitoring.