|
Um den ordnungsgemäßen Ablauf von Programmen überwachen zu können, bzw. bei einem Problem dieses nachzuvollziehen, kann ein Administrator nicht kontinuierlich alles überwachen, sondern zieht Protokolldateien (Logfiles) zu Hilfe, in denen alle wichtigen Geschehnisse auf dem System protokolliert werden.
Protokolldateien dienen zum auswerten von Informationen die während des Bootvorgangs oder der Ausführung von Prozessen erstellt wurden. Das Standardverzeichnis für diese Protokolle ist /var/log.
Für das System selber existieren mehrere Protokolldateien mit unterschiedlich umfangreichen Informationen. Diese werden von zwei Programmen verwaltet. Das erste ist das Programm klogd, welches sich ausschließlich mit den Kernelinformationen befasst. Deshalb wird klogd auch als erstes Protokolierungsprogramm gestartet, wenn ein Linux System gebootet wird und ist verantwortlich für die Meldungen am Bildschirm, die während des Bootvorganges zu sehen sind.
Das zweite Programm ist der syslogd, welcher allgemeine Informationen verwaltet. Analog dazu existiert im Verzeichnis /etc die Datei syslog.conf, welche die Protokollierungsaufgaben und Zieldateien definiert.
# Uncomment this to see kernel messages on the console.
#kern.* /dev/console
# Log anything 'info' or higher, but lower than 'warn'.
# Exclude authpriv, cron, mail, and news. These are logged elsewhere.
*.info;*.!warn;\
authpriv.none;cron.nonemail.none;news.none -/var/log/messages
# Log anything 'warn' or higher.
# Exclude authpriv, cron, mail, and news. These are logged elsewhere.
*.warn;\
authpriv.none;cron.nonemail.none;news.none -/var/log/syslog
# Debugging information is logged here.
*.=debug -/var/log/debug
# Private authentication message logging:
authpriv.* -/var/log/secure
# Cron related logs:
cron.* -/var/log/cron
# Mail related logs:
mail.* -/var/log/maillog
# Emergency level messages go to all users:
*.emerg
# This log is for news and uucp errors:
uucp,news.crit -/var/log/spooler
# Uncomment these if you'd like INN to keep logs on everything.
# You won't need this if you don't run INN (the InterNetNews daemon).
#news.=crit -/var/log/news/news.crit
#news.=err -/var/log/news/news.err
#news.notice -/var/log/news/news.notice
Da die Protokolle im ASCII-Format gespeichert werden, kann man sie einfach mit cat oder less anschauen und auswerten. Des Weiteren existiert noch der Befehl dmesg, welcher den Kernel Ringbuffer ausliest.
Um fortlaufende Systemmeldungen in Echtzeit zu überwachen, empfiehlt sich das Programm tail.
Damit werden immer die aktuellsten, also letzten Zeilen ausgegeben. Der Standardwert beträgt 10 Zeilen, wobei tail aber weiterhin aktiv bleibt, so dass neue Meldungen von unten her einrücken und die oberen aus der Ansicht verschwinden, entsprechend der Anzahl an neuen Zeilen. Dies eignet sich hervorragend für die ersten Schritte bei einer Fehlersuche, auch in Kombination mit grep, um nur relevaten Informationen herauszufiltern. Beenden tut man tail mit Strg+c, bzw. mir ist aktuell kein eleganterer Weg bekannt.
|