市面上已有的监控工具非常多,比如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