Log files filter v2.0

Het probleem:

De webserver bij cellie thuis begint een beetje cloud kenmerken te krijgen en de apache2 log files worden behoorlijk lang. Er zijn een paar machines die het leeuwendeel van de verbindingen maakt en waarmee de logfiles vol staan. Dat zijn de ipadressen van thuis router/modems die geautoriseerd zijn om bijvoorbeeld muziek te streamen vanuit de collectie thuis.

Continue reading

Log files filter

Om het verkeer van Cellie uit de logfiles van Apache2 te vissen gebruikt Cellie deze grep opdracht:

grep -v "xx.161.xx.21" /var/log/apache2/*error* > /media/storage/extern.txt

De -v optie is de negatie van de zoek opdracht, oftewel de regels waarin xx.161.xx.21 NIET voorkomt worden naar het bestand /media/storage/extern.txt geschreven.

Apache2 log splitsen per VirtualHost.

Op een Apache2 server die meerdere domein namen host kunnen we de logs opsplitsen naar hostnaam.
Zie dit artikel
om meerdere hosts met Apache2 in te stellen.

Om de log files te spitsen gebruiken we de directive CustomLog in het configuratiebestand van de VirtualHost dat in /etc/apache2/sites-available aanwezig is. In dit voorbeeld gaan we uit van de website cellie.homeip.net.
Let op, er staat /usr/sbin/rotatelogs en niet /usr/sbin/logrotate!

#/etc/apache2/sites-available/cellie.homeip.net
<VirtualHost *:80>
    Servername cellie.homeip.net
    ...
    CustomLog "|/usr/sbin/rotatelogs /var/log/apache2/cellie.homeip.net_access_%d-%m-%Y 86400" vhost_combined
    ErrorLog  "|/usr/sbin/rotatelogs /var/log/apache2/cellie.homeip.net_error_%d-%m-%Y 86400"
</VirtualHost>

Er word voor deze host nu eens per dag -86400s- een logfile in /var/log/apache2 aangemaakt, met de hostnameĀ en daarachter de dag van de maand , de maand, en het jaar als bestandsnaam. Een zelfde constructie is mogelijk met het ErrorLog directive. Uit het voorbeeld zullen de volgende bestandsnamen komen:

cellie.homeip.net_access_01-02-2010
cellie.homeip.net_error_01-02-2010

De VirtualHost cellie.homeip.net heeft nu zijn eigen logfiles met de datum en tijd in de bestandsnaam.
Lees de security tips als er meerdere gebruikers toegang hebben tot de server.

De informatie komt van de behoorlijk cryptische handleidingen:
Apache2 rotatelogs manual
Apache2 CustomLog manual
Apache2 ErrorLog manual