创建compose.yml
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
restart: unless-stopped
volumes:
- ./data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "3001:3001"
environment:
- TZ=Asia/Shanghai部署 + 快速自检docker宿主机测试是否通过
- 部署:
docker compose up -d 自检:
ls -l /var/run/docker.sock- 出现类似: srw-rw---- 1 root docker 0 Nov 2 13:30 /var/run/docker.sock 证明成功
方式一:创建主动上报(Push,灵活,可自定义)
让 vps 定时“心跳上报”给 Kuma,能自定义更多健康条件(CPU/内存/外网连通性等)。
在Uptime Kuma创建Push监控
- 类型:Push
- 复制生成的URL
- 心跳间隔默认60根据需要修改
在OpenWRT上报
# 看一下有没有curl 一般都会有
curl -V
# 没有就安装curl
opkg update
opkg install curl复制Uptime Kuma给出的代码创建kuma-heartbeat.sh脚本
vi kuma-heartbeat.sh
# 复制以下代码改掉地址Token等
#!/bin/bash
# Filename: index.sh
PUSH_URL="https://xx.soooooor.fans/api/push/Uuxxx?status=up&msg=OK&ping="
INTERVAL=60
while true; do
curl -s -o /dev/null $PUSH_URL
echo "Pushed!"
sleep $INTERVAL
done
# 给到权限
chmod +x kuma-heartbeat.sh 在OpenWRT系统->计划任务添加每分钟上报任务
# 每分钟上报一次(按需调整)
*/1 * * * * /usr/bin/kuma-heartbeat.sh或直接命令创建
# 编辑
vi /etc/crontabs/root
# 每分钟上报一次(按需调整)
*/1 * * * * /usr/bin/kuma-heartbeat.sh
# 保存后重载
/etc/init.d/cron restart方式二:监控Docker
监控本机Docker
- 账号 -> 设置 -> Docker宿主 -> 配置Docker宿主信息
- 显示主机名:随便起
- 链接方式:Socket
- Docker 守护进程:/var/run/docker.sock
- 点击测试查看是否通过
监控其它宿主机中的Docker
在其它宿主机部署socket代理
docker run -d --name docker-socket-proxy \ -p 2375:2375 \ -v /var/run/docker.sock:/var/run/docker.sock \ -e CONTAINERS=1 \ -e INFO=1 \ -e PING=1 \ -e VERSION=1 \ --restart unless-stopped \ tecnativa/docker-socket-proxy
- 回到Uptime Kuma 账号 -> 设置 -> Docker宿主 -> 配置Docker宿主信息
- 显示主机名:随便起
- 链接方式:http
- Docker 守护进程: http://
:2375
当创建新的docker监控时根据docker所在主机的情况选择docker宿主机
MariaDB/SQL
添加地址
mysql://账号@ip:端口/数据库- 密码处填写密码
查询语句(按照需求写,以下默认只查询是否活越)
SELECT 1
其它方式用的最多的是:ping | TCP Port比较简单不在赘述