When you deploy stuff on the web, whether they are simple websites, online stores or REST APIs, it's important to keep them up and running. Eventually almost every service will go down at some point, and at that time it is vital to alert your Ops/DevOps Team.
There is no point in building your own monitoring solution [unless you really want to do just that], since there are plenty of tools and services available. Recently I was introduced to a such service, called AdminLabs. What is AdminLabs about? In a nutshell and with their words:
Admin Labs was founded because we think that all website or -service owners should know when their website or -service is down. We know that downtime costs money and everyone from small to large companies should be able to know instantly when their websites or -services availability is compromised. It is our passion to provide service which helps anyone who has a website or -service.
After sign up, you should update your communication details for you [and your company] and payment details [via Stripe] if you want to monitor more than one service or get alerts as SMS.
There are very handy Slack and Pushover options to receive alerts.
My setup includes two monitors, one for this site, and another for a test API. Adding monitors is guided really well on the Management Console itself, and should be self-explanatory.
You can monitor a simple ping from a host, url or a port of your choice.
Since you are at it, you should also set up a status page for your service, which you can publish, of course.
For a full overview of the options available, see AdminLabs.
Once you have successfully set up a monitor or a few, it's time to rest on your laurels and wait for the first alert to be raised. Or, if you want to be productive and educate yourself, get familiar with the Network tools offered by AdminLabs. There are all the basic network tools you need, when trying to solve an issue.
You can schedule multiple maintenance windows per service, or for multiple services at once. You can also decide, if you want to include maintenance windows to SLA or not.
When the eventuality happens, and a service goes down, you get the alert to your channels of choice, in my case to email and to a Slack channel.
When the service has been restored, you get the OK notifications too and can see the outage period on AdminLabs console, as seen below.
You can get the daily uptime reports to your email, if you want to.
AdminLabs is really easy to set up and there is a lot of bang for the buck. You can get the alerts to multiple channels of your choice, including my favorite Slack.
I like the usability and the overall look and feel of AdminLabs' Management Console a lot, the learning curve is quite gentle.
The barrier to try is quite low with the popular freemium pricing model so there really is no point to leave your services unmonitored.