Uptime Kuma — Open Source Uptime Monitoring

Ashish Bansal
5 min readDec 15, 2021

--

Uptime Kuma is an open source monitoring tool that can be used to monitor the service uptime along with few other stats like Ping Status, Avg. Response time, uptime etc. I am one the contributors for theUptime Kuma Github project and I found it extremely easy and straight forward to use.

Project link: https://github.com/louislam/uptime-kuma

Photo by Mark Basarab — (Kuma or くま in Japanese means Bear)

Super easy to use and configure, you can give it a try without even setting it on your server.

You can directly access the demo sandbox environment with ten minutes validity as per https://demo.uptime.kuma.pet

Uptime-Kuma helps in easy monitoring of uptime for the following:

  1. HTTP(s)
  2. HTTP(s) Keyword Monitoring
  3. TCP
  4. Ping
  5. DNS Record
  6. Push
  7. Steam Game Server

Uptime-Kuma Docker and Non-Docker installation: Original Github Repo

> Docker Installation:

> docker volume create uptime-kuma (Created Docker volume to be consumed by particular container)
> docker run -d — restart=always -p 3001:3001 -v uptime-kuma:/app/data — name uptime-kuma louislam/uptime-kuma:1
(Configured container to restart every time when host is restarted, bind service port as 3001 and mount the created volume to /app/data directory of container.)

Access the service via http://localhost:3001

> Non-Docker Installation: Requirement: Node.js >= 14, Git and Process Manager 2 (PM2).

npm install -g npm(Update )

git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup



pm2 start server/server.js --name uptime-kuma
(Run in background using PM2)

Access the service via http://localhost:3001

The default login screen will look as per below: (I am using Uptime Kuma’s demo instance)

  1. Add New Monitor: Like Ping, keyword monitoring, etc.
  2. Status Page: It will show you status of your all monitoring options.
  3. Dashboard with quick stats like if servers are up or down etc.
  4. Settings: You can change timezone, theme (dark or light), setup authentication option like 2FA etc.

I have shared all the “Uptime Kuma” screenshots as per below.

  • Dashboard Option:
Uptime Kuma Dashboard option
  • Settings Page:
Settings page of Uptime Kuma’s Server
  • Language change settings option.
Language Setting
  • Theme Selection and Time Zone setup
Theme Selection
  • Dark theme:
Dark Theme
  • Authentication option on settings page: Change password, setup 2FA or backup the monitor setup.
    - Click on 2FA Settings
Authentication Option
  • Set up 2FA, use authenticator or similar app to scan or provide the verification token.
2FA setup
  • Click Add New Monitor option.
Monitor Option in Uptime Kuma
  • Notification setup for realtime alerting. Click `Setup Notification`
Notification Setup option
  • Notification options and type: Click on option below Notification type and select as per your requirement
Notification types and options
  • Monitor via different HTTP methods — GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS.
Monitoring via different HTTPs options
  • The heartbeat interval time should be minimum 20seconds and not much limit on maximum limit. (I tried with 10,000 seconds)
Change Heatbeat Intervals (min 20sec & no limit on max)
  • Select the status codes that needs to be considered as a successful response, for ex: 200 or 404.
Select successful criteria status codes
  • Adding tags to the monitored entity, for example: I have added the tag of “social Networking”.

Click on "+ Add"

Providing Tags
  • You select the pre-existing tags or provide the name and select the colour as Red, Green, Blue etc.
Tag Naming and colour selection
  • Refer to the left side of the below screenshot for added Green colour tag for “Social Networking”.
Colour Tagging — Left Side of the Uptime Kuma page.
  • Setting up keyword monitoring: It will enable you to monitor the occurrence of specific keyword on monitored link.

Select the URL and provide Keyword to be monitored as below. I am using "COVID" to monitor the Google News link.

Keyword Monitoring
  • Keyword Stats:
Keyword Monitoring Stats
  • Keywords Dashboard with other statistics.
Keyword Search Graphical view
  • Push Monitoring: You can call the Uptime Kuma API after specified time interval.
Push Monitoring by Uptime Kuma
  • Try the generated link in the above link and paste in your browser. You may select the response as Ok msg or ping response. (change value in API url, `/api/push/1g39y3de1D?msg=OK&ping=`
~ Push test
  • Overall Monitoring Dashboard with HTTP Ping, Keyword and Push Monitoring with specified tags.
Monitoring Dashboard
  • You can setup “Status Page” for neat display of your monitoring stats.
Status Page requires a setup in Uptime Kuma
  • Raise an common incident that will be visible to all users on “Status Page”.

Click Create Incident, provide Title, Priority (Style) and click Post.

Incident Creation

Hope, that the above references were able to help you to get started with Uptime Kuma. There are other similar utilities as well but I found this one simple to setup and function.

~AshishSecDev

--

--

Ashish Bansal
Ashish Bansal

Responses (4)