Apache2 Workshop Logging

Aus Xinux Wiki
Version vom 15. März 2025, 09:20 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Apache2 Logging = * Apache2 bietet umfassende Logging-Funktionen zur Überwachung und Fehleranalyse. * Die wichtigsten Log-Dateien sind ''access.log'' (Zugri…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Apache2 Logging

  • Apache2 bietet umfassende Logging-Funktionen zur Überwachung und Fehleranalyse.
  • Die wichtigsten Log-Dateien sind access.log (Zugriffe) und error.log (Fehlermeldungen).
  • Die Logs befinden sich standardmäßig unter /var/log/apache2/.
  • Die Log-Einstellungen werden in der apache2.conf oder pro VirtualHost in den Konfigurationsdateien definiert.

Wichtige Apache-Log-Dateien

  • /var/log/apache2/access.log – Enthält alle HTTP-Zugriffe auf den Server.
  • /var/log/apache2/error.log – Speichert Fehler und Warnungen des Webservers.
  • /var/log/apache2/other_vhosts_access.log – Enthält Zugriffe auf weitere VirtualHosts (abhängig von der Konfiguration).

Log-Formate anpassen

  • Apache verwendet das Common Log Format (CLF) oder das erweiterte Combined Log Format.
  • Ein angepasstes Log-Format kann mit LogFormat definiert werden.

Beispiel für LogFormat

  • cat /etc/apache2/apache2.conf*
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

Logging pro VirtualHost

  • cat /etc/apache2/sites-available/example.conf*
<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example

    ErrorLog ${APACHE_LOG_DIR}/example-error.log
    CustomLog ${APACHE_LOG_DIR}/example-access.log combined
</VirtualHost>

Log-Level anpassen

  • Apache unterstützt verschiedene Log-Level für detaillierte Fehleranalysen:
 * emerg – Kritische Fehler, die sofortiges Eingreifen erfordern.
 * alert – Dringende Warnungen.
 * crit – Kritische Ereignisse.
 * error – Allgemeine Fehler.
 * warn – Wichtige Warnungen.
 * notice – Bedeutende, aber nicht kritische Ereignisse.
 * info – Allgemeine Informationen.
 * debug – Detaillierte Debugging-Informationen.
  • Beispiel für die Fehlerprotokollierung mit erhöhtem Detailgrad:
  • cat /etc/apache2/apache2.conf*
LogLevel warn

Log-Rotation mit logrotate

  • Apache-Logs können mit logrotate verwaltet werden, um Speicherplatz zu sparen.
  • Die Konfigurationsdatei befindet sich unter /etc/logrotate.d/apache2.
  • Beispiel für tägliche Rotation mit maximal 14 Log-Dateien:
  • cat /etc/logrotate.d/apache2*
/var/log/apache2/*.log {
    daily
    rotate 14
    missingok
    compress
    delaycompress
    notifempty
    create 640 root adm
    sharedscripts
    postrotate
        systemctl reload apache2 > /dev/null
    endscript
}

Aufgaben

  • Erstelle einen neuen VirtualHost mit einer eigenen Access- und Error-Log-Datei.
  • Passe das Log-Format an und füge eine eigene LogFormat-Direktive hinzu.
  • Teste die verschiedenen Log-Level mit LogLevel debug.

Warum ist Logging wichtig?

  • Überwachung des Serverzustands.
  • Fehlerdiagnose und Debugging.
  • Analyse von Zugriffsmustern zur Optimierung der Performance.
  • Sicherheit und Angriffsdetektion durch Auswertung der Log-Dateien.