共计 1534 个字符,预计需要花费 4 分钟才能阅读完成。
市面上已有的监控工具非常多,比如 UptimeRobot、监控宝、阿里云监控等,但免费版有数量限制和请求频率限制,超过一定数量后必须购买商业版,价格还不便宜。对于个人用户而言,其实我们完全可以利用闲置的 VPS 自己搭建一个监控,今天就来介绍下 uptime-kuma
什么是 uptime-kuma
uptime-kuma 是一款开源监控工具,类似于“Uptime Robot”,界面非常简洁,支持 TCP/PING/HTTP 监控,支持多语言(包括中文)
Docker 部署 uptime-kuma
作者提供了 docker 安装方式,这篇文章也以 Docker 方式安装,直接执行下面的命令即可:
# 创建一个存储块
docker volume create uptime-kuma
#拉取并运行 uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
使用 uptime-kuma
部署完毕后,我们可以通过 http://ip:3001
来访问 uptime-kuma(注意安全组放行 3001 端口),首次访问需要设置管理员账号、密码,根据提示完成即可。
进入后台后可根据需要添加对应类型的监控,支持 TCP/PING/HTTP 等。
另外 uptime-kuma 还支持多种监控告警方式,根据需要进行设置即可。
也支持类似“Uptime Robot”的页面展示,需要自行在“status-page”进行添加,这样访客即可通过“status-page”查看到监控情况。
Nginx 反向代理
如果您不想通过 IP + 端口
访问,也可以配置 Nginx 反向代理,用域名进行访问,以下是 xiaoz 使用的配置,仅供参考:
server {
listen 443 ssl http2;
server_name sub.domain.com;
ssl_certificate /path/to/ssl/cert/crt;
ssl_certificate_key /path/to/ssl/key/key;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
ssl_session_tickets off;
# modern configuration
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers off;
# OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:3001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
其它 WEB 服务器反向代理可参考官方文档:https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy
最后
uptime-kuma 虽然没有商业软件那么强大,但简单易用,完全满足常规使用,用来自建 TCP/HTTP 监控非常合适,有兴趣的小伙伴不妨试试。
uptime-kuma 项目地址:https://github.com/louislam/uptime-kuma