What if you could have a type of monitoring that would store a value of your choosing, and a status of your choosing, based on a script on your servers? A kind of “universal” check type that you can customize as you wish on your end. Well, now you can.

We have added a new, customizable check type to the Pingdom uptime monitoring service, called simply “HTTP custom”. It expects a formatted XML response with a status (OK/not OK) and a value (a number). This value replaces the “response time” value in the Pingdom graphs, and the status (OK or not) replaces the UP or DOWN status.

Since you are returning a value and a status every time your XML page is accessed (for example once a minute), you will be able to see this data in the graphs in the Pingdom control panel, and of course be sent alerts just as with any other Pingdom check.

This may all sound a bit abstract, so let’s look at some examples of how this new check type can be used.

Monitor the amount of free RAM or HD space on your server.

Monitor the CPU load on your server.

Monitor the number of active connections to your web server.

And any other monitoring type you can imagine…

All you need is a script that performs some form of task on your end and sends back the status and value of the operation in the specified XML format. Your script decides what is considered UP (i.e. OK), so you have full control over thresholds and what is tested on your end.

Of course, nothing stops you from performing more advanced tasks than the ones we mentioned above. The imagination is the limit here. What we do on our end is simple, we just get this XML file from you. How you generate it is completely up to you.

We hope you will find good use for this new functionality. As always, we welcome any feedback you may have!

Note: This check will time out if it cannot read the XML file within 30 seconds, which counts as a “down” on Pingdom’s end. So if you decide to create a really elaborate, time-consuming script on your end, you may be best off letting it run separately and just have it continuously update a status page (the XML file) that is accessed by Pingdom.

Also, if the server your script runs on (or rather the XML file) is unreachable for some reason, this will also count as a “down” on Pingdom’s end, so make sure your script runs on a reliable server with a good Internet connection.