/
Pack Hosting Panel

Access Logs

Hoe kan ik Access logs inzien?


Waar staan de access logs.

Alle access logs van een applicatie zijn te vinden in de domain folder en opgedeeld per domein. ~/domains/<domein>/var/log/<domain_or_pointer>.nginx.access.log.

De logs worden iedere dag geroteerd of vernieuwd als ze een maximale grootte van 100MB hebben bereikt. Oude logs worden gecomprimeerd en hernoemd naar <domain_or_pointer>.nginx.access.log.X.gz

Tail / live log output

Om de logs live te volgen kun je gebruik maken van tail. Door gebruik te maken van een wildcard kun je met één commando access logs live volgen.

tail -qf ~/domains/<domein>/var/log/*.nginx.access.log

Omdat dit erg veel data weer geeft is het soms handig om data te filteren. Je kunt hiervoor grep gebruiken.

Bijvoorbeeld met een regex om geen media en static files te laten zien:

tail -qf ~/domains/<domein>/var/log/*.nginx.access.log | grep -vP '(static|media)'

Of alleen maar urls van broeken.

tail -qf ~/domains/<domein>/var/log/*.nginx.access.log | grep broeken

Zoeken / specifieke tijden

Vaak wil je weten wat er in een bepaalde periode is gebeurd. In dat geval kun je ipv tail de bestanden printen en dan hierin zoeken door middel van grep.

Bijvoorbeeld alle hits op 17 Jan 2020 op 13:50 zonder media en static:

cat  *.nginx.access.log | grep '17/Jan/2020:13:50' | grep -vP '(static|media)'

Of op 17 Jan 2020 tussen 13:50 en 13:55:

cat  *.nginx.access.log | grep -P '17/Jan/2020:13:5[1-5]'

Soms moet je de logs van gisteren of zelfs eergisteren bekijken. Deze log bestanden zijn gecomprimeerd en dat maakt het iets lastiger. Hiervoor combineer je de vorige commando's met gzip.

Bijvoorbeeld alle requests op de rest endpoints van de afgelopen dagen.

cat  *.nginx.access.log.*.gz | gunzip | grep 'rest'

Analyse van logs

Vaak is het zinvol om te weten waar requests vandaan komen, hoe vaak bepaalde requests gedaan zijn in bepaalde tijden etc.

Hiervoor kun je het makkelijkst goaccess gebruiken. Deze laat bij een analyze de volgende statistieken zien:

  • Unieke bezoekers per dag
  • Opgevraagde url's
  • Opgevraagde static content
  • 404 pagina's
  • Ip addressen van bezoekers
  • Systeem info zoals OS en Browser
  • Tijden op de dag van bezoek
  • Response status codes
  • Referrering sites

Een analyse van 17 Jan 2020 tussen 13:00 en 12:00 zonder media en static.

cat *.nginx.access.log | grep -P '17/Jan/2020:1[23]:' | grep -vP '(static|media)' | goaccess --log-format=COMBINED

resultaat

Afhankelijk hoeveel data hier geanalyseerd moet worden kan het even duren voordat goaccess data laat zien.