Running uptime monitoring software on your local machine will not solve all your monitoring problems, but it solves some problems very well. This article will cover some of the things that local uptime monitoring is extremely good at while also covering some of its drawbacks.
The case for running local uptime monitoring
The biggest benefits of running uptime monitoring software on your computer include price, power, privacy and um, visibility. If I can find a word that means visibility, I'll update this article because 'the three Ps and one V of local monitoring' is a really crappy slogan.
Price
There are some good free alternatives in cloud monitoring and I recommend them to many people because they're good at what they do. But if you need more than free plans provide, running uptime monitoring software on your own hardware is a very cost effective way to do it. You can run unlimited checks on unlimited numbers of websites for one price or even for free. (Note - I am sure some competitors in local uptime monitoring charge a subscription fee. I couldn't find any so I said 'for one price or for free' but if I'm wrong, let me know .)
Power
When I was developing Siteimp, the power really blew me away. I could set crazy intervals like 1 second on as many resources as I wanted to monitor. In the end, I decided not to support intervals of less than one minute, but I'm very tempted to change that because it's a very easy change and I miss having that power available. Not that I really used it... hence my decision to go to minutes. But I can sure see a lot of uses where I could use it.
This is related to pricing because a lot of cloud based services provide very short intervals as well, but they're very expensive to access. With something that you run on your own computer, you can set things up precisely how you want and check your endpoints however often you need.
I would have found that hilarious in grade six. And, I still do.
Privacy
This is another huge one. Maybe you don't want to store the IP addresses or URLs of your resources in the cloud. That's perfectly valid, but cloud based monitoring needs the URLs or, well, you get the picture. If they're too private to store, local uptime monitoring is a great way to make sure your websites and applications are still up. You have no data residency concerns whatsoever because the data resides on your computer.
Visibility
Visibility is another very important benefit of cloud based monitoring. It monitors based upon the conditions in your network, and it monitors everything you can access in your local network. The cloud needs something public that it can reach, but with local uptime monitoring you can check anything within your network.
Maybe you have security cameras and a local DVR. Or maybe you mine a cryptocurrency, or have a media server in your bedroom. If something on your local network accepts a ping or fetch request, you can easily monitor it on your own equipment.
Problems with running local uptime monitoring
This section will be shorter, but this problem is absolutely massive. Reliability is the biggest issue. You know how computers will do updates or your power will go out, or any other number of things will happen to mess up your day? Every single one of those things can also knock out your local uptime monitoring.
And so as you work deeper into it, you get closer and closer to building a data centre. You'll move to Linux fairly quickly, invest in a VPS, then you'll need a secondary in case the primary box fails and on and on and on. And pretty soon, you will understand why cloud based monitoring charges subscription fees.
And so if something is absolutely mission critical, you can still use local uptime monitoring but you need a more resilient cloud based system as well. For example, you could use something local on a very fast interval so you get notified quickly and a free cloud based service for longer intervals so that even if your local monitoring fails, you'll still get a notification.
Or if something is that critical, you may even need multiple cloud based systems. If that's your case, you only really gain local visibility from local uptime monitoring. So if internal conditions or internal only services aren't important, there's really no point to having a local system running as well.
Final thoughts
There's no answer to the local versus cloud question that solves all uptime monitoring problems. In some cases, local monitoring is good enough. In other cases, a system is so critical it deserves multiple cloud based monitors. In some cases these could be services or they could be simple ping scripts connected to a service like Twilio running in an AWS region.
And so the critical thing is to make the choice that is right for you. But if you are willing to sacrifice some reliability or need to be able to monitor internal services, local uptime monitoring is an excellent choice.