modul:m183:learningunits:lu08:02

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m183:learningunits:lu08:02 [2025/09/08 10:19] – angelegt vdemirmodul:m183:learningunits:lu08:02 [2025/09/08 11:53] (aktuell) vdemir
Zeile 2: Zeile 2:
  
 ===== Lernziele ===== ===== Lernziele =====
-  * Die wichtigsten Log-Dateien eines Computers nennen können. +  * Level der Protokollierung von Logfiles nennen und erklären können. 
-  * Zielsetzung der verschiedenen Log-Filles erklären können. +  * Das Rotationsprinzip bei Logfiles erklären können. 
-  * Aufbau eines Logfiles darlegen können.+  * Elemente eines Logfiles nennen und darlegen können.
  
-===== Einleitung ===== +===== Konfiguration des LogLevels ===== 
-Logfiles sind von entscheidender Bedeutung für Computer, besonders  für den Betrieb eines Webservers. Mit ihrer Hilfe können sowohl generelle Webserver-Probleme wie auch Angriffe auf den Server erkannt werden. +Der LogLevel sagt aus welchen Informationen in der ErrorLog-Datei gespeichert werden. Dabei gibt es die folgenden Level mit ihrer Bedeutung
  
-LogFiles protokollieren alle Benutzertransaktionen (Zugriffe) sowie ZuständeAktionen und Fehler des WebServersAus ihnen lassen sich neben Informationen zum Benutzungs- und Navigationsverhalten auch Informationen und Rückschlüsse über Zugangswege und Verlinkungen von Webinhalten auswerten+^ Level ^ Beschreibung ^ 
 +| emerg | Dies protokolliert nur Abstürze oder Ausfälle des Servers. | 
 +| alert | Dies protokolliert Ereignissenach denen der Serveradministrator dringend eingreifen sollte. | 
 +| crit  | kritische Situationen die den Betrieb des Servers beeinträchtigen können
 +| error | Fehlermeldungen die Beachtung finden sollten. | 
 +| warn  | einfache Warnmeldungen | 
 +| notice | Notizen des Webservers die immer protokolliert werden. Zum Beispiel das Starten und Stoppen des Servers. | 
 +| info  | reine Informationsmeldungen die keine Fehler sind | 
 +| debug | allgemeine Meldungen des Servers werden in dieser Stufe protokolliert|
  
-===== Definition Logdatei bzwLogFile ===== +| {{:modul:m183:learningunits:lu13:lu08a_05.png?800|LogLevels eines Webservers}} | Dies ist die Reihenfolge der vorhandenen LogLevel, wenn der LogLevel auf warn gestellt wird werden zusätzlich auch errorcrit, alert und emerg Meldungen protokolliert usw. Bei der Entwicklung und im Labor wird der LogLevel des WebServers häufig auf die höchste Stufe konfiguriert (DEBUG). Das ist für die Produktion meist zu detailliert und umfangreich, was schnell zu grossen Datenmengen führen kann|
-Eine Logdatei  (auch EreignisprotokolldateiEnglisch "log file") enthält das automatisch geführte Protokoll aller oder bestimmter Aktionen von Prozessen auf einem Computersystem+
  
-LogFiles eines WebServers sind strukturiert aufgebaute Textdateien. Sie bestehen aus ASCII-Zeichenin denen die Zugriffe auf den WebServer gespeichert werden. Der WebServer schreibt dazu für jede http-Transkation (e.g. Aufruf einer Seite, Ausführen eines Scripts) eine Log Zeile mit Informationendie diese Transkation betreffenEine Zeile im LogFile stellt somit eine Anfrage an den WebServer dar.+===== LogFile Management ===== 
 +Werden Pfade für die LogFiles nicht explizit angegebenso werden diese normalerweise im Unterverzeichnis /logs des Installationsverzeichnisses vom WebServer oder unter /var/log abgelegtDa LogFiles sehr schnell eine beachtliche Grösse erreichen könnendroht ein Überlaufen der entsprechenden PartitionDies kann zu ernsthaften Störungen des WebServer Betriebs führen. Das bedeutet, dass die LogFiles regelmässig verschoben oder gelöscht werden müssen
  
-{{:modul:m183:learningunits:lu13:lu08a_00.png?700|Webserver-Logfiles}}+==== Logrotate ==== 
 +Es ist nicht möglich, während dem ein WebServer läuft die LogFile zu verschieben, stattdessen muss der Server neu gestartet werden, um die alten LogFiles durch neue auszutauschenDies kann manuell durch Verschieben der Dateien und dann Soft-Restarting durchgeführt werden, so dass die Einträge in die neuen LogFiles geschrieben werden können. 
  
-===== Arten von LogFiles eines Webservers =====+Fürr einen Apache WebServer könnte das wie folgt aussehen: 
  
-|{{:modul:m183:learningunits:lu13:lu08a_03.png?200|Zwei Arten von Standard-Logfiles}} |Die meisten WebServer führen im Standard die zwei LogFiles //Acceess.log// und //Error.log//. Es lassen sich aber noch zusätzliche LogFiles für spezielle Anwendungen oder Auswertungen konfigurierensogenannte Custom_logs|+  mv access_log access_1.log  
 +  mv error_log error_1.log  
 +  apachectl graceful  
 +   
 +Durch diese Kommandos werden die LogFiles verschoben und der WebServer neu gestartetAnschliessend werden 600 Sekunden gewartet, sodass Apache die alten LogFiles weiterhin verwenden kann um die Protokollierung von laufenden Anfragen abzuschliessen. Während dieser Zeit werden neue Anfragen in die neuen, aktualisierten LogFiles protokolliert
  
-==== Access.log - Das Zugriffsprotokoll ==== +{{:modul:m183:learningunits:lu08:lu08b_01.png?600|Rotate Webserver Logfiles}}
-Im Zugriffsprotokoll werden sämtliche grundlegenden Informationen über jede HTTP-Transaktion gespeichert. Es protokolliert auf welche Dokumente zu welchem Zeitpunkt zugegriffen wurde. Mit diesem Protokoll kann ein einen Überblick über die Funktion und Auslastung des WebServers verschafft werden.+
  
-==== Error.log - das Fehlerprotokoll ==== +Einfacher geht es durch den Einsatz eines Programmes, wie logrotate3Die Konfiguration von logrotate erfolgt unter Linux in der Datei /etc/logrotate.conf. Die Syntax ist relativ einfach. Das zu "rotierende" LogFile wird eintragen und in den darauffolgenden geschweiften Klammern festlegenwie das LogFile behandelt werden sollen.
-Im Fehlerprotokoll werden alle Fehler notiert. Gerade in der Aufbauphase eines WebServersbei Konfigurationsänderungen oder der Installation von Programmen, kann ein ausführliches Fehlerprotokoll schnell Hinweise auf mögliche Fehlerursachen geben.+
  
-===== Aufbau eines Logfiles ===== +**Beispiel von logrotate.conf**
-Das Format der Einträge in das Zugriffsprotokoll kann konfiguriert werden. Die übliche Variante ist das CLF (Common Log Format ). Ein Eintrag in diesem Format sieht folgendermassen aus+
  
-{{:modul:m183:learningunits:lu13:lu08a_04.png?800|Aufbau eines Logfiles}} +/var/www/access_log  
 +  weekly # Wöchentlich rotieren lassen  
 +  compress # Gesicherte Log-Dateien komprimieren  
 +  rotate 5 # Max. 5 mal rotieren (5 Backups erstellen)  
 +  postrotate # Nach dem Rotieren werden Skripte ausgeführt  
 +      /bin/killall -HUP apache2  
 +                        # Neustart von Apache-Prozessen,  
 +                        # damit neue Log-Datei genutzt wird  
 +  endscript             # Ende von postrotate  
 +   
 +Damit logrotate regelmässig ausgeführt wird, kann ein //cron job// erstellt werden (auch CRONTAB = im Prinzip der Fahrplan mit Jobs und Zeiten, zu denen diese ausgeführt werden sollen). Mit der folgenden Konfigruation wird //logrotate täglich ausgeführt:
  
 +  /usr/sbin/logrotate -s /etc/cron.daily/logrotate.status /etc/cron.daily/logrotate.conf 
  
-^ Feld ^ Beispiel ^ Beschreibung ^ 
-| Host [%h] | 120.0.0.7 | IP-Adresse oder vollständiger Domainname des zugreifenden Rechners. | 
-| Ident [%l] | - | Wenn die IdentityCheck-Anweisung in der Konfigurationsdatei aktiviert wurde und auf dem Clientrechner ein ident-Daemon installiert ist, wird hier der vom Client gelieferte Name des Benutzers auf dem Clientrechner eingetragen, sonst "-". | 
-| Authuser [%u] | - | Bei Zugriffen auf zugangsgeschützte Dokumente oder Verzeichnisse wird hier der verwendete Benutzername eingetragen, sonst "-". | 
-| Date [%t] | 06/Jan/2016:11:14:33 +0100 | Dieses Feld zeigt das Datum und die Uhrzeit der Anfrage, sowie Informationen zu der Zeitzone an. | 
-| Status [%>s] | 200 | Dieses Feld zeigt den Statuscode der Antwort an und damit, ob die Anfrage erfolgreich war, oder ob ein Fehler aufgetreten ist. Die wichtigsten Codes: \\ 200 = OK \\ 206 = Partial Content \\ 301 = Moved Permanently \\ 302 = Found \\ 304 = Not Modified \\ 401 = Unauthorised (password required) \\ 403 = Forbidden \\ 404 = Not Found \\ 500 = Internal Server Error | 
-| Bytes [%b] | 13872 | Hier wird die Größe der vom Server an den Client ausgelieferten Daten (ohne HTTP-Header) in Bytes angegeben. | 
-| Referer [%{Referer}i] | http://www.go.ch/search?q=Java&start=20&sa=N | Der Referer gibt an, welche Seite ein Besucher vor dem aktuellen Aufruf besucht hat und beschreibt somit die Navigation eines Benutzers zwischen verschiedenen Web-Seiten über definierte Linkbeziehungen. | 
-| UserAgent [%{User-Agent}i] | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 | Der User Agent beschreibt der vom Benutzer verwendete Browser. | 
  
-===== Den LogLevel konfigurieren ===== 
-Der LogLevel sagt aus welchen Informationen in der ErrorLog-Datei gespeichert werden. Dabei gibt es die folgenden Level mit ihrer Bedeutung.  
  
-^ Level ^ Beschreibung ^ +---- 
-| emerg | Dies protokolliert nur Abstürze oder Ausfälle des Servers+[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir
-| alert | Dies protokolliert Ereignisse, nach denen der Serveradministrator dringend eingreifen sollte. | +
-| crit  | kritische Situationen die den Betrieb des Servers beeinträchtigen können+
-| error | Fehlermeldungen die Beachtung finden sollten+
-| warn  | einfache Warnmeldungen | +
-| notice | Notizen des Webservers die immer protokolliert werdenZum Beispiel das Starten und Stoppen des Servers. | +
-| info  | reine Informationsmeldungen die keine Fehler sind | +
-| debug | allgemeine Meldungen des Servers werden in dieser Stufe protokolliert. | +
- +
-| {{:modul:m183:learningunits:lu13:lu08a_05.png?800|LogLevels eines Webservers}} | Dies ist die Reihenfolge der vorhandenen LogLevel, wenn der LogLevel auf warn gestellt wird werden zusätzlich auch error, crit, alert und emerg Meldungen protokolliert usw. Bei der Entwicklung und im Labor wird der LogLevel des WebServers häufig auf die höchste Stufe konfiguriert (DEBUG). Das ist für die Produktion meist zu detailliert und umfangreich, was schnell zu grossen Datenmengen führen kann. |+
  
  
  • modul/m183/learningunits/lu08/02.1757319592.txt.gz
  • Zuletzt geändert: 2025/09/08 10:19
  • von vdemir