Using Jabber to monitor Windows EventLogs


Like every company we also got several machines working just for our infrastructural needs like Sharepoints, Activedirectory, Databases, Backup-Servers and so on.

To monitor many machines we came across the idea to use Jabber Instant Messaging to monitor the machines. For example the VPN should drop a line to specified jabber adresses if someone connects or disconnects. Every single machine is maintaining it’s own log – which means you would have to consolidate them in some ways. And since consolidation is not the masterplan – since you would need an event alarm system which sends out alarm calls if something weird is happening, you would need that alarm system too.

So we wrote (while waiting for the machines to install) several small tools which provide a gateway between syslog-ng, windows event logs and Jabber.

Since we are using this productively my Jabber Client Window looks something like this:

psi 

As you can see there are 3 machines online right now – and since these are Linux machines they also provide some status information like load averages and free memory. The Linux version was written by ahzf in perl – and obviously his library can handle the presence and status information much better than the one I used for the Windows version 🙂 – So there are no presence and status informations for the Windows machines right now.

The Windows version is written in C# and relies on the Jabber.NET library. It comes with a small setup and runs as a windows service.

jabbereventlog_windows

In the setup you have to enter the username+password of a user that can access the local Windows Event Log. After the successful setup you need to edit the config file:

editconfig

It’s XML and quite easy to understand (I think) – so you define the jabber server, the user, the password, the Users that you want to receive the messages and the EventLog you want to monitor.

After starting the service you get the startup message via the jabber server and from now on everything that is written into the Windows Event Log is sent to the accounts you specified. Easy eh?

P.S.: sourcecode release will be after we packaged everything.

Source: http://code.google.com/p/jabber-net/

  1. #1 by Mike on January 22, 2009 - 09:38

    Coole Sache. Die Idee mit dem Monitoring über Jabber ist wirklich interessant.
    Welchen Jabber-Server setzt ihr ein? ejabberd? Auf Linux oder Windows?

    mfg
    Mike

  2. #2 by bietiekay on January 22, 2009 - 09:50

    Wir verwenden OpenFire auf Windows – im Grunde ist ja egal welchen Jabber Server man nimmt aber OpenFire ist von der Bedienbarkeit – zumindest für unsere Zwecke – ganz weit vorne.

  3. #3 by Mike on January 22, 2009 - 10:09

    War nur reine Neugier 😉 Wir verwenden den ejabberd von http://www.process-one.net/en/ejabberd/downloads (auch auf Windows) und (ebenfalls) Psi als Jabber-Client. Läuft der Jabber Server auch auf dem VMware-Server (siehe http://www.schrankmonster.de/2008/12/15/PowerInstallParty.aspx)?

    Ist mal interessant zu sehen, wie andere ihre Infrastruktur bauen. Danke für die Info.

    mfg
    Mike

  4. #4 by bietiekay on January 22, 2009 - 10:13

    Ja – hier läuft eigentlich alles an Infrastruktur auf VMWare. – Insgesamt 3 Server hier im Büro (Quadcore, 16 GB RAM, 6 Tbyte Platz jeweils).

    Die eine Kiste ist für die Infrastruktur – da laufen 6 VMs. Die anderen beiden Maschinen sind als Test- und Build-Server da. Dort ist die VM Zahl sehr unterschiedlich – auf der einen Kiste laufen zur Zeit nur zwei VMs.

    Wir verwenden Linux als Host System (Debian Lenny x64 Minimal) und den aktuellen VMWare Server 2.0.

    Der Rest der Infrastruktur (mail, www, jabber) läuft auf einer Root-Kiste (Dualcore, 6 Gbyte RAM, 1 Tb Platz) auch unter Debian x64 Minimal und VMWare Server 2.0 – die einzelnen VMs überall sind zum größten Teil Windows Server 2008 Standard oder Enterprise.

  5. #5 by ahzf on January 22, 2009 - 23:22

    @bietiekay:

    Naja… neben VMWare gibt’s auch noch KVM (zumindest auf einem der Testserver) und dies ist bis auf eine brauchbare (Web-)GUI imo eigentlich deutlich besser als VMWare 😉

    ahzf

  6. #6 by Daniel on January 23, 2009 - 06:29

    jaja natürlich natürlich – die Extrawurst 😉 Aber ja – Ahzf hat Recht – es ist natürlich nicht ausschliesslich auf VMWare gebunden 🙂

  7. #7 by mabra on August 30, 2010 - 23:01

    Hi !

    Obwohl der Thread hier ja schon etwas älter ist, versuch ich’s mal … 🙂

    Ich hatte vor Jahren eine EventlogCollector Applikation geschrieben und auch mit dem Gedanken gespielt, aber keine xmpp Library gefunden. Ich habe gerade – vergeblich – versucht jabber-net zu installieren und dort mal nachgefragt, warum das nicht funktioniert [der Source läßt sich leider auch nicht übersetzen]. Der Source enthält jedoch nicht den von Dir gezeigten Service [ScreenShot]. Hättest Du vielleicht die Quellen für mich??

    Danke soweit mal!

    ++mabra

Comments are closed.