What is a website monitoring
Website monitoring is a way to be sure your website, web-service, or API endpoint works and works properly. Tools described below will provide you comprehensive information about website availability, performance, hosting resource usage, and a lot of other valuable data.
Why is a website monitoring important
There are a lot of reasons to monitor your website.
You may use simple hosting, for example, shared hosting. Monitoring will show you website uptime. Uptime is a percentage of time a website has been working and available. If uptime is low, people can’t reach the website often and it is reasonable to change your hosting provider.
You may update your website sometimes or quite often. Every update may break something. With monitoring, you will know about the problem immediately, before it has affected a lot of your visitors.
Your website might work well, but be very slow. Visitors don’t like to wait. If a website is slow, they will close it and go to the next. Monitoring tools may show you page load time. If it slow or suddenly become slow, e.g. after an update, you will know it and can fix it.
Website monitoring types
We can split all monitoring activities into two types: external and internal. External tools need no installation, it is quite simple to start using them. Internal needs installation on a web server or even needed another server to run it.
Read further to know about particular tools.
Simple to use website monitoring. You can check any URL (website, web-service, API endpoints) availability, frontend errors, TLS and domain expiration.
A basic test will check the server response status. If the status is wrong — you will receive a notification immediately.
If the status is correct, you can check the content of a response, using word or phrase, set in the dashboard. If the tool will not found this word or phrase in the response, it will notify you immediately.
The next options are a server average response time and TLS certificate (HTTPS) validity date.
There are two types of server monitoring: self-hosted or cloud-based. In both, you need to install an agent application, which will collect metrics from your server. After collecting, the agent will send metrics to the main application.
Monit is a free and open-source tool. It can monitor and control the processes of your web server. Although the main function of monit is to control your server processes, you can configure it to notify you when a process is down.
Kibana is a self-hosted monitoring and visualization tool. With it, you can observe your infrastructure. Kibana has a lot of monitoring tools and features. A simple example: you can build an alert when you run out of HDD storage.
DataDog provides monitoring for web servers, databases, applications. It has a lot of features, and you can use it even for free for simple server resource monitoring.
- Telegram: it is not a monitoring tool, but you can use it to get notifications on some server events, e.g. send a message on SSH login
Bugsnag is an error monitoring and reporting software. It collects and notifies you about bugs in your web application. I use it to send a notification with a stack trace in my web-applications. They have ready to use libraries to simply integrate with PHP (Symfony), NodeJs, and many more.
Originally published at https://bogomolov.tech.