Kernel Loggin via UDP

Wir haben das Problem, dass wir Server haben die einfach Abstürzen ohne einem Meldung im /var/log/kernel.log zu hinterlassen. Wir haben nun das Kernel Loggin Modul „netconsole“ verwendet, um die Logzeilen direkt vom Kernel via UDP verschicken zu können.

Dafür würde auf Empfänger und Sender Seite folgendes eingerichtet.

Empfänger:
Möchte man das ganze nicht Reboot fest machen und für mehrere Ports/Server einrichten kann man auch einfach den socat Befehl von Hand ausführen. Hier wird nun beschreiben wie wir einen dynamischer Systemd Service verwenden.

/etc/systemd/system/netconsole@.service

/etc/systemd/system/netconsole.service

An dieser Stelle kann das der Punkt „Wants“ beliebig anpassen werden. Der Zahlen wert hinter dem @xxxx ist der übergebene Port.

Abschließend müssen das systemd noch aktiviert werden:

Sender:
/etc/modprobe.d/netconsole.conf

Dann kann das Kernel Modul geladen werden:

Möchte man das ganze reboot fest machen, muss das Modul in /etc/modules eingetragen werden:

Zum Testen erzeugt folgender Befehl einen Eintrag im Kernel log, als auch auf dem Empfänger Server:

Update 17.05.2017: für die Verwendung von CentOS7 wurde das Script von nc auf socat umgebaut.

Tags: