Syslog Monitoring

Was dem Windows Administrator sein "Eventlog" ist dem UNIX oder Router-Admin eben Syslog. Syslog ist ein Protokoll, welches einem Syslog-Client erlaubt, per UDP und neuerdings auch per TCP und optional SSL und Anmeldung entsprechende Meldungen an einen Dienst zu senden, welcher diese Meldungen im einfachsten Fall in eine Textdatei aufzeichnet.

Windows konnte lange Zeit gar nichts mit SYSLOG anfangen, da Windows mit dem Eventlog durchaus gut bedient ist. Um aber "Systemübergreifend" zu administrieren, ist es natürlich sinnvoll, die unterschiedlichen Systeme zu verbinden. So gibt es Zusatzprogramme, damit die Windows Eventlogs in SYSLOG-Meldungen überführt werden.

Eventlog zu SYSLOG

Auf der Seite NTSyslog habe ich am Beispiel einer Freeware gezeigt, wie Sie Meldungen aus dem lokalen Eventlog per SYSLOG an einen beliebigen SYSLOG-Server versenden können. Natürlich gibt es noch weitere Programme und Tools.

Der Versand von Meldungen per Syslog ist aber in anderen Umgebungen sehr viel häufiger. Ein paar Beispiele

Zum Testen eines Syslog Servers und dessen Reaktionen können folgende beiden Testprogramme gute Dienste tun.

Syslog-Meldung per .NET versenden

Wenn Sie nun selbst mit dem .NET Framework Software entwickeln, dann schreiben Sie natürlich primär Fehler in das Eventlog und überlassen es anderen Programmen, um diese entsprechend weiter zu melden. Um zu zeigen, die einfach es aber ist, aus .NET einfach eine Meldung an einen SYSLOG-Server zu senden, habe ich hier einen Codeschnipsel aus Der Webseite von Glen Scales extrahiert (http://gsexdev.blogspot.com/2005/06/syslogging-message-tracking-logs-on.html).

void sendsyslog(string mtMessagetxt,string iaIpaddress, int spPriority){

UdpClient ucUdpclient = new UdpClient(iaIpaddress, 514);
byte[] rawMsg;
string strParams = System.String.Format("<{0}>{1}",spPriority, mtMessagetxt);
rawMsg = System.Text.Encoding.ASCII.GetBytes(string.Concat(strParams));
ucUdpclient.Send(rawMsg, rawMsg.Length);
ucUdpclient.Close();
ucUdpclient=null;
}

So langsam kann man sich wirklich an .NET gewöhnen, da das Framework viele Aktionen doch sehr einfach macht.

Syslog Server

Auf der Empfängerseite muss natürlich ein SYSLOG-Server die Daten annehmen. Auch hier gibt es eine ganze Auswahl von Produkten, die teils "Freeware" teils kommerziell sind und auf Windows oder Unix laufen. Die Frage dabei ist natürlich, wie sie mit den eingehenden Meldungen umgehen. Der reine Empfang und die Ablage in einer einfachen Textdatei ist nicht mehr als ein Pflichtprogramm. Interessant wird das ganze natürlich, wenn ein zentraler Server die Daten annimmt und speichert. Neben der besseren Speicherung erlaubt eine zentrale Anlage auch eine Korrelation der Vorgänge und das Erkennen von Zusammenhängen. Aber auch bezüglich der Sicherheit hat so eine zentrale Ablage Vorteile, da ein Angreifer vielleicht das einzelne System kompromittieren kann aber entsprechend weitergegebene Meldungen nicht wieder "zurückgezogen" werden können.

Vielleicht haben Sie schon eine entsprechende Management Software, die SYSLOG Meldungen annimmt und entsprechend aufbereitet. Ansonsten müssen Sie sich einen Syslog Server besorgen. Auch auch diese gibt es im Internet häufig kostenfrei oder als beschränkte Version. Das sollte Sie natürlich nicht davon abhalten, bei Bedarf eine Profiversion zu kaufen.

Insbesondere wenn Sie ein echtes "Management" damit verbinden wollen. Dazu zählen z.B. Regeln um auf Events zu reagieren oder Events z.B. "als Erledigt" zu kennzeichnen.

Ein relativ einfach einzusetzender SYSLOG-Daemon ist der Syslog Server von Kiwi an. Sie erhalten ihn unter http://www.kiwisyslog.com. Laden Sie besser die Version herunter, die als "Dienst" laufen. Sie funktioniert zwar erst ab Windows NT und nicht auf Windows 95 und älter, aber dafür läuft sie auch, wenn niemand angemeldet ist. Die Konsole selbst stellt sich einfach und übersichtlich dar. Danke umfangreicher Optionen können Sie auch "Skins" nutzen und die Farben anpassen.

Viel wichtiger sind aber die Funktionen dahinter. Auf jeden eingehenden Event können Filter und Aktionen ausgelöst werden. Die Basisevents bewirken, dass alle Meldungen auf dem Bildschirm angezeigt und in eine Datei protokolliert werden. Zusätzlich sind aber auch SMTP-Mail, SNMP Traps, Datenbankablagen, Ausführen von Skripten, ICQ und vieles mehr möglich. Spielen Sie einfach etwas mit den Optionen.

Natürlich gibt es eine ganze Menge anderer Produkte. Letztlich bleibt es eine Frage der Anforderungen, welches Produkt dann zum Einsatz kommen soll.

Weitere Links

Keywords: Syslog Eventlog