Som enhver udvikler eller systemadministrator vil fortælle dig, log-filer er et yderst nyttigt værktøj til fejlfinding problemer med en web-applikation. Faktisk bruges logfiler typisk som den primære kilde til information, når et websiteebsted fungerer korrekt.

en specifik logfil, der kan bruges i debugging-applikationer (eller blot få indsigt i besøgende aktivitet) er access log produceret af en Apache HTTP-server., Nedenfor, Jeg vil komme ind i detaljerne i disse logs: jeg vil forklare, hvad der bliver optaget i Apache access logs, hvor de kan findes, og hvordan man kan få mening ud af de data, der er indeholdt i filen. Da den reelle effekt af logdata kommer fra at forstå betydningen af dataene gennem analyse, vil jeg også diskutere fordelene ved at arbejde med en logstyrings-og analyseplatform (såsom Sumo Logic) for at udlede værdifuld indsigt fra access log data.

Hvad er Apache Access Logs?,

Som nævnt ovenfor er Apache access log en af flere logfiler produceret af en Apache HTTP-server. Denne særlige logfil er ansvarlig for registrering af data for alle anmodninger, der behandles af Apache-serveren. Så hvis en person besøger en weebside på dit siteebsted, vil adgangslogfilen indeholde detaljer om denne begivenhed., information er værdifuld i en række forskellige situationer: for eksempel, hvis en fælles anmodning er ikke for den enkelte at forsøge at komme til en bestemt web-side, linket peger på en side, der ikke længere findes; hvis en bestemt side på webstedet tager længere tid, end det burde for at indlæse, logposter, der kunne tyde på, SQL-forespørgsler, der kan være sager til at forbedre præstationer, hvis en bestemt side på webstedet er meget populære, sammenstille data fra access logs kan kaste et lys på almindeligt ressourcer, der anmodes om, således gør det muligt for virksomhederne at øge deres popularitet ved at levere mere relevant indhold.,

Hvor kan jeg finde Apache Access Logs?

placeringen af Apache access logs er afhængig af det system, som Apache HTTP-serveren kører på. Størstedelen af Apache HTTP server-forekomster kører på Linu. – distributioner. Så med henblik på denne artikel vil vi holde os til detaljer, hvor Apache access logs kan findes på en Linu. – maskine.

På Ubuntu Linu. – distributionen skrives for eksempel adgangslogposter til følgende placering som standard:

/var/log/apache2 / access.,log

standardplaceringen kan variere lidt på andre Linu. – distributioner, men du behøver ikke at se meget langt i de fleste tilfælde. I sidste ende er placeringen og formatet (mere om dette senere) af adgangslogfilerne defineret af et CustomLog-direktiv, som kan ses og ændres i din Apache HTTP-serverkonfiguration.

fortolkning af Apache Access Logs

nu hvor du ved, hvad Apache access logs er, og hvor de kan findes, kan vi forklare, hvordan du fortolker posterne, så dit udviklingshold og andet IT-personale kan gøre god brug af dem.,

læsning af Apache Access Logs

at få mening ud af Apache access logs kræver, at analytikeren forstår det format, hvor access logs bliver optaget. Som nævnt ovenfor er formatet for adgangslogfilerne defineret i CustomLog-direktivet sammen med placeringen. Vi vil se på to populære logformater, der ofte bruges med Apache access logs nedenfor.

almindeligt logformat

Det Fælles logformat er et standardiseret tekstfilformat, der bruges af forskellige serverebservere til generering af serverlogfiler., Med en Apache HTTP-server, kan den fælles Log Format bruges til at producere adgang logs, der er ligetil nok for udviklere og administratorer til at læse. Da det er et standardiseret format, der bruges af flere multipleebservere, kan CLF-formaterede logfiler let bruges af mange loganalyseplatforme.

En access-log record skrevet i Common Log Format vil se noget som dette:

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

felter i ovenstående eksempel på record repræsenterer følgende:

  • 127.0.0.,1-IP-adresse på den klient, der fremsatte anmodningen;
  • bindestregen, der definerer det andet felt i logfilen, er klientens identitet. Dette felt returneres ofte som bindestreg, og Apache ‘ s HTTP-serverdokumentation anbefaler, at dette særlige felt ikke påberåbes, undtagen i tilfælde af et kontrolleret internt netværk.
  • Scott-brugerid af den person, der anmoder om ressourcen;
  • – dato og tidspunkt for anmodningen;
  • “GET/server-status HTTP / 1.,1 ” – anmodningstype og ressource, der anmodes om;
  • 200 – http-svarstatuskode;
  • 2326-størrelsen på objektet, der returneres til klienten.

kombineret logformat

et andet format, der ofte bruges med Apache access logs, er det kombinerede logformat. Dette format er meget lig den fælles Log Format, men indeholder et par ekstra felter til at give mere information til brug i analyse og debugging operationer., En access log record, der er optaget i det kombinerede logformat, ser sådan ud:

som du kan se, er de første syv felter identiske med dem i almindeligt logformat. De resterende felter repræsenterer to yderligere egenskaber:

“Customlog” – direktivet

tidligere nævnte jeg, at konfigurationen til Apache access logs udføres via CustomLog-direktivet i en Apache HTTP server-konfigurationsfil., Lad os tage et kig på en prøve få adgang til log-konfiguration for at vise den fleksibilitet, som Skik direktiv:

LogFormat “%h %l %u %t \”%f\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” kombinerede

Skik /var/log/apache2/adgang.log kombineret

Her definerede vi det kombinerede logformat via logformat-direktivet, og vi fulgte det op ved at definere placering og format (kombineret) for adgangsloggen ved hjælp af CustomLog-direktivet. Som du kan se, er det en enkel proces at ændre placeringen eller formatet for adgangsloggen., Derudover giver brugen af CustomLog-direktivet os flere andre muligheder, som vi vil beskrive nedenfor.

Multiple Access Logs

Der er ingen regel, der siger, at du ikke kan konfigurere flere access logs til din Apache HTTP-server, og den proces er faktisk temmelig let, alt du behøver at gøre er blot at tilføje yderligere CustomLog direktiver for at tilføje en ekstra, tilpasset få adgang til log-fil:

LogFormat “%h %l %u %t \”%f\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” kombinerede

LogFormat “%{User-agent}jeg” agent

Skik /var/log/apache2/adgang.,log kombineret

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

betingede Logs

derudover er det muligt at skrive for at få adgang til logs betinget. Dette kan være nyttigt af forskellige årsager, herunder udelukkelse af poster, der er knyttet til bestemte klienter. Dette gøres typisk ved at indstille miljøvariabler og henvise dem via “env” – klausulen. Besøg den officielle dokumentation om CustomLog-direktivet for at få flere oplysninger.

Log Rotation & Piped Logs

som alt andet på en server optager logfiler plads., Og på en relativt travl Apache-server kan logfiler som access logs vokse hurtigt. Derfor er det vigtigt at have processer på plads til regelmæssigt at flytte eller slette gamle logfiler. Heldigvis har en Apache HTTP-server muligheden for at gøre dette ved hjælp af yndefulde genstarter og rørede logprocesser.

en yndefuld genstart af en Apache-server giver mulighed for genstart uden at miste klientforbindelser., Denne genstart gør det muligt for Apache at åbne og skrive til nye logfiler uden klientafbrydelse, hvilket gør det muligt for udførelsen af behandlingen at komprimere eller slette gamle logfiler med henblik på at spare plads.på den anden side kan Rørledningslogprocesser tillade, at logrotation udføres uden en serverstart; for eksempel er et program kaldet rotatelogs inkluderet i Apache HTTP server. I stedet for blot at skrive til en fil, kan access log poster skrives gennem et rør til netop dette program., Rotatelogs-programmet indeholder muligheder for at rotere logfiler betinget baseret på tid eller størrelse.

analyse af Apache Access Logs med Sumo Logic

indsamling af massive mængder data i logfiler er kun nyttigt, hvis dataene kan styres effektivt og analyseres nemt. Når det gøres korrekt, producerer det værdifuld indsigt, der kan udnyttes til at identificere muligheder for forbedringer inden for din configurationebserverkonfiguration eller applikation., Når du arbejder med Apache access logs, er det bedst at integrere med Sumo Logic for at indsamle dine Apache logfiler, hvilket gør processen til at producere værdifulde visualiseringer mindre smertefuld end nogensinde.

processen for at komme i gang er relativt let. Faktisk ved blot at konfigurere en Sumologisk samler og lokal Filkilde til Apache access log, kan du være i gang i en grundlæggende forstand i løbet af få minutter. Tjek Sumo Logic i dag for at se, hvordan de kan forbedre dine processer til logstyring og dataanalyse.,

komplet synlighed for DevSecOps

reducer nedetid og gå fra reaktiv til proaktiv overvågning.