Motivation
One of the challenging of hosting services on your own GNU/Linux server is ensuring that the services remain running properly. There are free software monitoring packages that can be used to automatically detect various problems and notify you via email. There are some limitations to running the monitoring software on the same host that you want to monitor, because if the host becomes unreachable, you won’t be notified. However, it can still be useful for verifying that ports are open, processes are running, and performance is normal. If your server uses RAID, it is also critical to get notifications when a drive fails to avoid outages and most importantly prevent data loss. To accomplish these goals, my preference is to use icinga2.
Prerequisites
On Debian 9 GNU/Linux, install the icinga2 package.
sudo apt-get install -y icinga2
Setup IcingaWeb2
Install the icingaweb2 package.
sudo apt-get install -y icingaweb2
Enable the icingaweb2 apache configuration and reload apache.
sudo a2enconf icingaweb2 sudo systemctl reload apache2
Finally open a browser and navigate to /icingaweb2 and follow the installation wizard.
Modify http check to check for https
Add the following bolded line to /etc/icinga2/conf.d/hosts.conf:
object Host NodeName { ... vars.http_vhosts["http"] = { http_uri = "/" http_ssl = "true" } }