我平时的工作会涉及到监控,而站点是一个很重要的监控项。项目上线后,我们通常会将站点监控配置到云平台上,以检测各站点的连通性。但随着项目不断增多,云平台上的配额就有点捉急了。针对这个情况,我们可以试试这个开源项目:Uptime Kuma。
项目介绍
Uptime Kuma[1] 是一个开源的监控工具,功能类似于 Uptime Robot。相较于其它同类工具,Uptime Kuma 支持自托管服务,并且限制更少。本文将介绍 Uptime Kuma 的安装和使用方法。
支持众多特性:
-
-
- 监控 HTTP(s)/TCP/Ping/DNS/Push/Steam 游戏服务器的在线时间
- 支持多种通知服务,包括 Telegram、Discord、Slack、Pushover、Email、企业微信、钉钉、webhook 等70多种通知服务
- 支持多国语言
- 简单的状态页面
- 监控图表信息
- 证书信息
-
下载安装
目前 Uptime Kuma 最新版本为 1.8.0,支持使用 Docker 安装,以下是我的安装步骤。
创建工作目录:
mkdir /opt/uptime-kuma
运行以下命令启动服务:
docker run -d --restart=always -p 3001:3001 -v /opt/uptime-kuma/data:/app/data --name uptime-kuma louislam/uptime-kuma
服务启动后,在浏览器中输入 http://{ip}:3001
进行访问。
如果想用手动方式进行安装,首先需要先保证安装下面的几个依赖工具:
- Node.js >= 14
- Git
- pm2
然后按照下面的命令进行安装即可:
# 更新 npm 到最新版
npm install npm -g
# clone 代码,安装依赖
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
# 可选1. 直接启动服务
node server/server.js
# (推荐) 可选方式2. 使用 PM2 在后台运行
# 如果没有 PM2 则先安装:
npm install pm2 -g && pm2 install pm2-logrotate
# 使用 PM2 启动服务
pm2 start server/server.js --name uptime-kuma
同样在浏览器中通过 http://localhost:3001 进行访问即可。
更多 PM2 使用命令:
# 查看现有 console 输出
pm2 monit
# 添加到 startup
pm2 save && pm2 startup
更多安装方式,比如 Kubernetes、Ansible 等方式可以查看文档 https://uptime.kuma.pet/docs/%F0%9F%94%A7-How-to-Install。
使用说明
接下来,我将介绍 Uptime Kuma 的基本功能,创建一个站点监控项来看看实际监控的效果。
创建管理员账号
次访问 Uptime Kuma 会要求创建一个管理员账号,根据提示填写信息: