Realtime service uptime monitoring: Discover problems before your customers do

Feb. 2, 2021

Downtime happens and it is nothing to be ashamed of, just make sure that you set yourself up to discover problems as soon as possible! You can use realtime uptime monitoring to automatically keep an eye on your servers and services. Read along to find out how.

Uptime, downtime and things in between

When everything works you might not think about downtime or service disruptions. But, it might actually be the right moment to do so! The best way to deal with downtime and disruptions is to be prepared for problems. Spending a little time implementing a good monitoring system can save you critical moments when the going gets tough! One way to prepare for downtime is to make sure you are among the first to find out if problems occur.

You can use realtime uptime monitoring to shorten your response time to outages. This can help you save valuable time during downtime. The faster you know you have a problem, the faster you can actually solve it.

Uptime monitoring can be done using different methods. The simplest form is simply to check if a server responds to a request ('is it there?'). If there is no answer then you know there is a problem.

A more refined way to monitor your services is to have multiple checks touching different parts of your infrastructure. For instance you can configure the uptime monitoring to perform a common function. This will catch 'deeper problems' that might not be detected if you were simply checking if a server is online. Then you're not only checking 'is it there?', but also 'is it functioning correctly?'

UptimeRobot

Normally I prefer to see if I can do things myself before I look for external services. But, when you're talking about uptime monitoring, it makes perfect sense to use an external service for this. Because if your product or platform fails, chances are that your internal monitoring service would fail, too. I have selected https://uptimerobot.com to monitor my platform because if has a great app and offers the types of monitoring that I need.

Keyword monitoring

In addition to simply check if a server is online, I want to know if the key algorithms and functions are working properly. Therefore I have implemented special URL's on my web services to run common (but harmless) functions that give a clear indication if key backend systems are working properly. Think of executing a simple database query; if the test succeeds you'll know both that the server is online and that the database is responding correctly.

A special URL returns a simple text response if a few common (internal) function calls succeed

One thing to consider is that you design your monitoring endpoints to be as efficient as possible. It's OK to perform a query, but don't push the server too hard as the monitoring URL will be requested very often!

Set up UptimeRobot to detect the text that you expect when the service is online

Dashboard

The great thing about UptimeRobot is that it only asks for your attention if something is wrong. Under normal circumstances you can "configure and forget" about it, it will perform its work in the background. But, if you want to, you can open the app and see the status of all your monitors - including historic data.

Keep chillin' - The app offers a glanceable view on all your uptime monitors

Apple Watch downtime notifications

One of the great features of UptimeRobot is that it can be configured to send you a push notification when an unexpected outage occurs. The settings allow you to precisely tune when and where you want to be informed about outages. You can mute individual monitors or add additional persons and/or notification channels. One thing that is very useful, is that you can configure the app to work with Apple Watch.

Downtime notifications on Apple Watch using UptimeRobot

In addition to normal iOS notifications, the app supports the so called "critical alerts" which can override the phones "do not disturb" function. This gives you fine-grained control over what type of reach certain outages can have. I have configured it to wake me up in the middle of the night if something really bad happens.

UptimeRobot supports iOS "critical notifications" - allowing you to be woken up at night when really bad things happen...

Conclusion

Using UptimeRobot I have detected some rare bugs and outages that would otherwise have gone unnoticed. Continuous monitoring gives me a little peace of mind, knowing that it allows me to catch more than I otherwise would.

Although you may not be able to prevent an outage, there is little excuse for not being informed about it! Know about problems before your customers do and you buy yourself some extra time to save the day!