Geschrieben

  • am 10.03.2011
  • um 01:14 PM
  • von hoste

CISCO Syslogs unter Linux in mysql-DB speichern 0

CISCO Devices geben sich mit wenigen Handgriffen recht auskunftsfreudig. Sie bedienen sich hierzu des syslog-Protokolls, welches das Absetzen von Nachrichten, Ereignissen, Fehlern und Alarmen ermöglicht. Mehr Aufwand erfordert es, Linux zu überreden, von extern kommende syslog-Meldungen aufzuehmen und in einer Datenbank zu speichern. Ist dies erst realisiert, stehen eine Reihe von Möglichkeiten zu Verfügung – vom Echtzeit-Netzwerk-Monitoring bis hin zu Rekonstruktion von Fehlern und Ausfällen.

Vorab ein Hinweis: Der folgende Artikel beschreibt die Einrichtung unter openSUSE Linux 11.2×64 und rsyslog 5.6.3×64. Andere Distributionen und Versionen bedürfen durchaus abweichender Vorgehensweisen und Parameter.

Ist das Versenden von syslog-Meldungen auf den Netzwerk-Komponenten eingerichtet, kann getestet werden, ob diese von Linux aus im Netzwerk zu hören sind. Das syslog-Protokoll bedient sich des Ports 514 via UDP. Ist die aktive Netzwerkkarte eth0 (leicht herauszufinden mit dem Befehl ifconfig), können mit

tcpdump -i eth0 port 514

syslog-Meldungen externer Geräte aufgespürt werden.

1. Aktivieren des syslog-daemons

Erste wichtige Voraussetzung ist die Aktivierung des syslog-daemons unter Linux. Er sollte unter YAST/ System/ System Services (Runlevel) per default gestartet werden. Kontrolliert werden kann seine Funktion mit rcsyslog status, das Ergebnis sollte running sein.

2. Installation von rsyslog

rsyslog ist eine Erweiterung des syslogd und bietet neben einiger anderer Features die Möglichkeit zur Speicherung der hereinkommenden Meldungen in einer Datenbank. Folgende Pakete wurden installiert:

rsyslog-5.6.3-5.1.x86_64.rpm
rsyslog-module-mysql-5.6.3-5.1.x86_64.rpm

Nun werden Konfigurationänderungen notwendig:

In /etc/sysconfig/syslog:

Der Parameter RSYSLOGD_PARAMS="" wird zu RSYSLOGD_PARAMS="-r514". Hiermit weisen wir syslogd an, remote auf Port 514 zu lauschen.

In /etc/rsyslog.conf:

1. Hinzufügen der Zeile -> $ModLoad ommysql

2. Hinzufügen der Zeile -> *.* ommysql:localhost,[Name der DB], [User], [Passwort]

3. Anlegen einer Datenbank

1. Anlegen einer mysql-Datenbank inklusive eines Users mit entsprechender Berechtigung. Dieser wird dann wie oben beschrieben in der /etc/rsyslog.conf eingetragen.

2. Anlegen einer Tabellenstruktur. Im rsyslog-Paket von Rsyslog befindet sich eine CreateDB.sql, welche die erforderliche Tabellenstruktur enthält und in die Datenbank eingespielt werden kann.

Bei meiner Testinstallation kam der Loganalyzer zum Einsatz. Dieser besteht aus einer Sammlung von PHP-Skripten, die ihre Ergebnisse üblicherweise auf einer Webseite ausgeben. Die Installation des Apache-Server ist also ebenfalls vonnöten. Natürlich benötigt der loganalyzer auch die Zugangsdaten zur Datenbank, die in die config.php eingetragen werden.

Kommentare abonnieren

Es gibt noch keine Kommentare zu diesem Artikel

Schreiben Sie einen Kommentar!

* Erforderliche Angabe

Peter Hostermann is powered by WordPress and FREEmium Theme.