Oculus is a server monitor that uses a plaintext protocol to report server status to the outside world. It has plugin supprt and an XML style configuration file. Use the links above to get to know more about Oculus. The daemon and the PHP library are both written and maintained by Bart Friederichs (bart at friesoft dot nl).
Finally! An update. I revived the project and started an interface, with the intention of actually using the daemon in our systems. Odie (Oculus Daemon InterfacE) is the new part and already pretty useable. All and all, the new oculus project website is where you have to be now.
In my work, I started working with the pthreads library, and it seems a good idea to implement those into oculus, instead of the pretty recource hungry and expensive fork() I use now. No work has been done into that way yet, but it will start soon. Anybody who wants to help is invited of course.
While making the network, I found out there were some bugs. And so I fixed them. Oculusd 0.8 is now out. Download it from the 'download' page.
It has been a little quiet around oculus, but it isn't dead. Don't worry. I have been away for some months, travelling around the globe (well, globe, just Thailand-Cambodia-Vietnam-Laos), and of course, I didn't really feel like programming whilst I was there. After that I started my daytime job. Studying is over. All in all, I hadn't had much time to make new releases. But, what I have done is set up a oculusd network. For now, it has two hosts. This will probably also boost the development of the oculus PHP client. Check the demo page for it.
Oculusd 0.7 is released. It includes three new commands: SHPL, UNLD and RELD, with which you can show, unload and reload the plugins. To make this possible, the entire plugin system is rewritten (more detailed: I implemented a linked list of 'struct plugin's). So, proceed to the download page and update your daemon, I even created a .tgz package for all you Slackware lovers!
Oculusd 0.6.2 is released. It fixes a segmentation fault when there is no configuration file for the process plugin.
Oculusd 0.6.1 is ready for download. It fixes some bugs in the process plugin. Work is now underway to version 0.7, which will implement a RELD command, to dynamically (re)load plugins.
I released version 0.6, which I will use for real on some servers now, with some pages to return some stats. In other words, I am going to use it now. Finally, 2 years after the idea reached my head, I can use my program (and really debug, see if it can hold up).
Oculus reached version 0.5 and got its own website! During the building of the demo site, I created an Oculus PHP library and found a bug in the UPTI handler. It reports the load averages wrong. That lead to the release of version 0.5. And it made me think about branches. Maybe I should release the plugins and PHP library in a different branch. More on that later.
Because of the new site, the old site is only old news. But, just for kicks, I added the version releases here:
Version 0.4: Some annoying bugs were fixed and the build tree is better. It now builds a 'liboculus' that can be used by plugins to implement some functionality. Also, the default plugin is compiled from the top-level makefile. In the default plugin, the UPTI command is changed to get a HUMAN parameter, to give uptime in a human-readable way. This is the first version that can really be used. All work is now aimed at developing plugins.
Version 0.3: This release starts using XPath for traversing the XML tree. This makes the code a lot more readable and extensible. And, while I was at it, I fixed some bugs.
Version 0.2: This release fixes some bugs and adds a -p option. It seems like the server can be used now.
Version 0.1: This release only features the daemon, but any telnet client can be used to query the server. It should be relatively easy to make a PHP client for example. Future expansions include XML file output, more plugins and enhanced security.