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:

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:
- status.pl - This file connects to a
hobbitd_channelfor generating a suitable XML file for Xydroid. - genstatus.pl - This file generates fake Xymon status events for the above script, for testing purposes.
- Xydroid-0.3.apk - This is the APK for installing on an Android device. Version 0.3 (28 October 2009)
- xymon.xml - A sample XML file generated by the status script.