How we do uptime monitoring


Posted on Apr 20, 2019 | By Hosting4Real

There are so many different ways of monitoring uptime within the hosting industry; some of them are more reliable than others. At Hosting4Real we take pride in having a high uptime, and for the same reason, we want to measure it realistically. Here's how we do it!

At Hosting4Real we do what we can to offer an uptime as close to 100% as possible. When we publish our yearly uptime reports, we're getting these statistics from an external service called NodePing, that we use for our monitoring. The reported uptime we post is the actual uptime our systems have been online and reachable. This means we count planned maintenance into our uptime, which isn't very common within the industry.

Each company in the industry have their ways of measuring their uptime:

  • Some providers ping their servers from the internal network, and if it responds, then it's "up".
  • Other providers measure the system uptime in such a way, if the server hasn't been rebooted for a period of time, then it's "up".
  • Some monitor from an external source and use ping, telnet or make a GET request to a test page on the systems before they see it as "up".

How we do it at Hosting4Real

All web servers we have run a small web application made in PHP, this page does a query to MySQL on the server to query a string stored in the database. We print out this string on the site, and our external monitoring system NodePing will check whether the page contains the line we expect. We measure this over SSL as well.

This way we ensure a few things:

  • DNS works
  • The web server is up
  • The web server responds with SSL traffic
  • PHP works
  • MySQL works, and we can select from it

With a simple website, we've ensured the whole "chain" that we expect to be working. We have also set a timeout to 5 seconds, this seems high, but it's quite common in the industry to set this timeout to 15 seconds.

This overall means that when we measure our uptime and report it, it's the uptime of where the given server was able to serve content from a database as expected.

Posted in: General