Pingdom Home

US + international: +1-212-796-6890

SE + international: +46-21-480-0920

Business hours 3 am-11:30 am EST (Mon-Fri).

Do you know if your website is up right now? We do! LEARN MORE

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.

Pingdom custom monitoring

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.

Pingdom custom monitoring setup

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.



8 comments
Troy
Troy

@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.

Pingdom
Pingdom

@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.

Marco van den Berg
Marco van den Berg

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

Troy
Troy

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!

Troy
Troy

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?

jardel
jardel

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!

Pingdom
Pingdom

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
jardel

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