i have account with mrtoolbox , pingdom serviceuptime.com and serviceuptime.com ( free accounts ).
i use them to monitor 4 domains with same hosting.
Strange to say, i get diferent monitor performances depending on the service used to monitor.
The answer will be based on your demand or things that you need to monitor and the resources you have to monitor them. As long as you run your own / rented infra with multiple devices / servers, its always good to configure an inhouse monitoring system...something like nagios, zabbix, icinga and there are many more both opensource and paid. Its not just for monitoing uptime, but other services / stats based on your demand and the you want. if its just few domains you are bothered only about the web uptime, you can depend on free online tools like pingdom, uptimerobot, etc or upgrade to their paid service if you need more aggressive level of checks / alerts.
I have used a few including Pingdom and Status Cake. I was a Pingdom user for many years until they changed their pricing models.
For the most part, I prefer Uptime Robot and Uptime Doctor and use both of them.
There are number of tools available to monitor the uptime and other things related to server. Nagios is the best tool which will monitor the server load, uptime, exim queue, SQL processes, get-post requests on the server that is it will cover all the things on the server.