Uptime Kuma - A simple monitoring tool you need!
Whether you self-host your services or you are an enterprise, you definitely need a monitoring tool to monitor all your services, API's, websites, etc. Monitoring is a vast topic depending on the use case and can extend from basic website UP/DOWN monitoring to as robust as using multiple tools to ensure uptime of services. Uptime is even crucial if there is an SLA in place .
Uptime Kuma is a simple tool which can be used to monitor most of the services and doesn't need much resources compared to most monitoring tools. Uptime Kuma has a very simple interface which is easy to configure and can get it to start monitoring within minutes. Most importantly, the alert notifications can be sent to almost every possible platform.
This can also be used to monitor website changes using keyword functionality. This feature can easily help you track price reduction on a product you want to buy or even as complex as calling an API URL to get the details and then notify based on a keyword. Monitoring of stock prices can also be done. Apart form this, you are free to use as a regular user to monitor your services and even can show the uptime reports from the dashboard.
Lets get started on deploying it using docker now. You can install this in using NPM as well, but my preferred way would be using Docker
version: "3"
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: always
volumes:
- /PATH/TO/DATA/:/app/data
ports:
- '8081:3001'
networks:
- uptime-kuma
networks:
uptime-kuma:
external: true
NOTE: Creation of separate docker network is optional and you can run in an existing docker network or even on host network, so you can add hosts via their private IP itself or even internal DNS.
Uptime Kuma runs on port 3001 and you can map it to any port. I would be using 8081 here. I have created a new docker network using below command
docker network create uptime-kuma
Change the docker volume path to your host path where you want to store the data persistently or you can even use docker volumes as well. Now, lets start the container using below command
docker-compose up -d
Now point your browser to your server:port address and Voila! Your Uptime Kuma is ready to be configured.
Your initial setup page would look like this. Setup the username and password of your choice to create an Admin account.
You would be presented with the main dashboard of Uptime Kuma like above.
These are the configuration options available at the time of writing this. Below is the sample monitoring of Google added and how it looks
As you can see, Avg. response time, Uptime expressed as percentage and even the SSL/TLS certificate expiry is also shown and you can set notification triggers as well for this. Uptime Kuma also supports numerous notification options as described here.