New Pingdom feature: Custom monitoring type
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.

Pingdom’s Podcast is a weekly show about Internet, web, security, and mobile stuff.
There’s no denying that
Want to see how your favorite US sports site is doing, if it has a perfect 100% uptime score or not? If you want to check the latest scores and it isn’t working, could it be a problem with your computer or connection, or the site? We’ve got the solution for you!




jardel
July 14th, 2008 at 9:47 pm
that wasn’t possible before?
like:
* i settup my script to stamp in a page “ok”
* i go to pingdom and configure it to check for this webpage and check also if “check for string on page:”
* and select “it contains ok”
then pingdom will check if is ok/not ok just like what i understand in this post
i don’t know if is the same, but point me if it isn’t
Pingdom
July 15th, 2008 at 2:14 am
Hi Jardel,
You could indeed set up a check like the one you described. However, this new custom check type also allows you to return a custom value (which essentially replaces the response time data in Pingdom) in addition to the status.
The combination of status + a stored value is very useful, and you can examine it in our different reports (you can for example study how the value has changed in the response time report).
I hope that clarification helps.
jardel
July 15th, 2008 at 10:52 am
oh, it clarifies a lot! Now i loved the service, i understood that i just show “ok/ not ok” when i submitted the last comment
now the possibilities are infinite, you could track even non-website things like setup your webcamera to detect movimments and return “robbed / not robbed”
Or setup an check to check your bank account funds
nah, kidding on the last one.
thanks!
Troy
July 30th, 2008 at 5:49 am
Sounds great, one problem though a drunken mute chimp could code stuff like this better than me.
Do you have any code examples? Especially one to output “Used RAM” values?
Troy
August 26th, 2008 at 8:17 pm
So this whole feature appears to be a waste of time, a month later and still no idea how to use it. All i wanted to do is show RAM Consumption.
I guess it’s a good thing, saves me upgrading to Business to get more monitors in order to use the feature.
Meh!
Marco van den Berg
August 27th, 2008 at 5:55 am
This is really cool. What would make it even cooler: make the variable definable, not just response time. How about something like this:
OK
CPU temperature
Degrees C
31.4
That way, error messages can be reported more meaningful than currently (it’s kinda weird to see CPU temperature expressed in ms!).
Marco
Pingdom
August 28th, 2008 at 3:46 am
@Troy: If you have any questions on how to use this monitoring option, please don’t hesitate to contact our support (support AT pingdom DOT com). It is intended to give you a flexible interface to scripts on your side, so it does require you to be able to do some coding, though.
@Marco: Great idea to have a customizable “unit” for the returned value. We may very well add this down the line, though at the moment it’s “ms” since it integrates with our regular response time reports.
Troy
September 12th, 2008 at 10:02 pm
@Pingdom – Thanks, but many people using Pingdom want to do 2 things.. Pay their money and monitor aspects of their website.
I’m sure having the ability to knock together custom scripts to measure this, connect to that then report XYZ might be trivial to some but not everyone can do this.
I just figured Pingdom would of provided working code examples so we could paste in Notepad, change our account number, save as XML and upload to get us started.
I know people are looking specifically for the ability to do things like “Monitor the amount of free RAM or HD space” and if i saw Pingdom could do this but it required paying a coder i’d move on and look for a more turnkey solution = Lost sales for Pingdom.
I’d really like to monitor “RAM Consumption” on my VPS, and thanks for the offer of support but i figured it would be easier to publish working code examples “once” to get everyone started rather then 100′s of times to individual support requests.
Anyhow keep up the good work.