Xymon monitoring on Android phones

Index


Basic information

What is Xydroid?

Xydroid is a small Android app I wrote for keeping track of "my" services on our Xymon/Hobbit installation, via the Android phone I wanted to buy at the time. I don't actually have an Android phone, so the software hasn't actually been tested in the wild.

Is it open source? Is it free software?

At the moment, no. I want to make it free and open, but I haven't decided on a license yet. However, you may use the software if you like, as long as you do not distribute it. If you want to do anything with it, get in touch and I might decide on something.

How does it work?

The Android application depends on a small perl script running against a hobbitd_channel process, writing out an XML file of the status updates of a select number of services. You can have a look at a sample file if you like. From these data you get to select a number of services to monitor, and these will be shown on the front page of the app.

When a service or source changes status, a notification will be created in the Android notification bar. Currently, there's no sound or vibrate functionality to those notifications, but this should be easy to add.

The software contains numerous opportunities for improvement, but in my opinion, it's already way better than the commercial alternative, Xymon Monitor. And more importantly, you're not going to have to pay for it.

Architecture

Here's a quick overview of how the application is currently structured:
A view of the architecture of Xydroid
The above graphic was made using
ditaa.

Where can I get it?

Take a look at the download section.


Screenshots

Take a look at screenshots of Xydroid.


Known bugs

The delay entered for each source for when to update is ignored, and the global value from the preferences menu used instead.

Old bugs

Fixed in 0.3: When the software is started for the first time, it may produce an error. After starting the software again, it should work. This seems to be because of the way Android creates new SQLite databases, which makes the very first query fail.

Fixed in 0.3: Android 2.0: Adding a new source causes a runtime error, due to a null pointer exception in the service list activity. The source is correctly added, and services can subsequently be selected by browsing the source.


Version history

Date Version Description
18 September 2009 Project started
1 October 2009 0.1 Initial release
10 October 2009 0.2 Added a preferences screen, with settings for the periodic update.
28 October 2009 0.3 Updated for Android 2.0, and a few crash bugs removed.

Download

The following files are available for download: