曾经使用过类似的服务 UptimeRobot 通过API配合开源面板体验还是不错的,但是 UPTIMEROBOT 没有国内的节点,由于线路问题很多时候会有误报的情况。而且自建还可以把数据牢牢地放在自己手里。
Uptime Kuma可以通过 Docker 或者手动安装,是一个十分成熟的开源解决方案。
项目简介
项目地址:Uptime Kuma
特性
支持的监控:HTTP(s) / TCP / HTTP(s) 关键字 / Ping / DNS 记录 / PUSH / Steam 游戏服务器的正常运行时间、SSL过期监控。
通过 Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 以及70多种的服务推送通知。
多种语言支持,而且界面十分美观。
手动安装需要 Nodejs 版本 ≥ 14,而且通过PM2进行后台运行。
本文通过宝塔面板以及 DOCKER 进行安装。
配置 Uptime Kuma
安装Docker
在宝塔面板打开 应用商店 选择 Docker 进行安装
获取镜像
安装完成后即可进行获取镜像,在宝塔的 Docker 选择镜像管理,获取镜像输入以下镜像名称进行获取镜像
louislam/uptime-kuma
由于是通过 Docker 官方仓库获取镜像,所以速度较慢,请耐心等待。
配置容器
Uptime Kuma 的容器配置非常简单,详细配置如下:
镜像选择:louislam/uptime-kuma
容器端口:3001
服务器端口:自定义即可
容器目录:/app/data
服务器目录:自定义即可
即可提交运行。此时通过 IP:自定义端口,即可访问服务。
设置反代
如果不想通过IP访问服务,此时需要进行 NGINX 反向代理。
注:如开启反向代理,请关闭 COCKER 对外设置的服务端口。
新建网站,配置好SSL后即可进行反向代理配置,具体配置如下:
代理名称:自定义
目标URL:http://127.0.0.1:32111 (此处端口为自定义的端口)
完成以上配置,提交即可
由于项目的特殊性,需要用到 WebSocket 所以如果不配置WebSocket会出现以下错误:
Cannot connect to the socket server. [Error: websocket error] Reconnecting...
Using a Reverse Proxy? Check how to config it for WebSocket
Uptime Kuma
此时需要在 Nginx 的反向代理配置文件 #Set Nginx Cache后面加入以下代码,用于开启 WebSocket:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
保存后,即可正常访问服务。
配置 Uptime Kuma 相关设置
此时需要注册管理员账号
输入完成后,即可点击创建
增加网站
填写 显示名称 以及 URL 即可提交,如其他有需要可按需配置。
此时即可正常监控
配置通知服务。
UPTIME KUMA支持70余种服务通知,详细名单如下:
可按需配置,推荐使用国内的 SMTP、钉钉、企业微信群机器人进行推送。
后语
Uptime Kuma 是一个非常好的开源项目,适合很多网站服务特别多的站长,特别是那些不常访问,但是又非常需要长时间运行的项目。
可以通过配合 UptimeRobot 实现国内国外双线监控。保证网站服务稳定运行。