Uptime Kuma 安装文档

​ 本文主要介绍 Uptime Kuma (以下简称 kuma )的安装和部署,kuma 部署在阿里云轻量应用服务器上,是整个项目的统一监控中心。主要监控 Spring Boot,Spring Boot Actuator Health,MySQL,Redis 等等。

部署环境

​ 阿里云轻量应用服务器当前的环境:Ubuntu 22.04.5 LTS。kuma 默认监听:127.0.0.1:3001,本文通过 Nginx 的 HTTPS 反向代理访问。

安装 Node.js

检查:

1
2
node -v
npm -v

如果没有安装:

1
2
sudo apt update
sudo apt install -y curl git

安装 Node.js LTS:

1
2
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs

检查:

1
2
node -v
npm -v

查询 Node.js 实际路径:

1
which node

下载 Uptime Kuma

进入中间件目录:

1
2
mkdir -p /home/xx/midware
cd /home/xx/midware

下载:

1
git clone https://github.com/louislam/uptime-kuma.git

进入目录:

1
cd /home/xx/midware/uptime-kuma

安装:

1
npm run setup

手动启动测试

安装完成后先手动启动测试:

1
2
cd /home/xx/midware/uptime-kuma
node server/server.js

默认端口:

1
3001

检查:

1
ss -lntp | grep 3001

本机测试:

1
curl http://127.0.0.1:3001

如果能够返回网页内容,说明 Kuma 正常运行。测试完成后建议使用 systemd 管理。

使用 systemd 管理

创建服务:

1
sudo nano /etc/systemd/system/uptime-kuma.service

配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Uptime Kuma
After=network.target

[Service]
Type=simple
User=xxx
WorkingDirectory=/home/xx/midware/uptime-kuma
ExecStart=/usr/bin/node server/server.js
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

如果 which node 返回的路径不是 /usr/bin/node,请修改 ExecStart

重新加载:

1
sudo systemctl daemon-reload

启动:

1
sudo systemctl start uptime-kuma

设置开机启动:

1
sudo systemctl enable uptime-kuma

查看状态:

1
systemctl status uptime-kuma

常用 systemd 命令

启动:

1
sudo systemctl start uptime-kuma

停止:

1
sudo systemctl stop uptime-kuma

重启:

1
sudo systemctl restart uptime-kuma

查看:

1
systemctl status uptime-kuma

查看是否开机启动:

1
systemctl is-enabled uptime-kuma

查看 Kuma 日志

实时:

1
journalctl -u uptime-kuma -f

最近 100 行:

1
journalctl -u uptime-kuma -n 100 --no-pager

当天日志:

1
journalctl -u uptime-kuma --since today

Nginx 反向代理

​ 因为作者的 kuma 和 Nginx 都安装在阿里云轻量应用服务器上,所以此处通过 Nginx 进行反向代理,链路为

1
公网 --> 域名 --> Nginx --> 127.0.0.1:3001 --> Uptime Kuma

​ 不建议直接开放 3001 端口。以下是作者的 Nginx 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {
listen 443 ssl;
server_name www.xx.cn;

ssl_certificate /你的证书路径/fullchain.pem;
ssl_certificate_key /你的证书路径/privkey.pem;

location / {
proxy_pass http://127.0.0.1:3001;

proxy_http_version 1.1;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
#用于支持 Uptime Kuma 的 WebSocket 通信。
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

进入 Kuma页面

浏览器访问:https://www.xx.com 进入首页,首次进入需要创建管理员账号、设置管理员密码、初始化数据库,初始化完成后登录 Kuma,