uptime-kuma一款花哨的开源自托管监控工具,在GitHub上32.9K的星星,我平常的工作中总会涉及到监控,其中站点是一个很重要的监控项。在项目上线后,我们通常会将站点监控配置到云平台上,用来检测各站点的连通性。但是随着项目的不断迭代更新和扩展,云平台上的配置会变得繁琐,不易管理,这时候我们可以试一试:Uptime Kuma开源项目。 Uptime Kuma是一个开源的监控工具,支持的功能也相对较为丰富,使用简单,还支持自托管服务,并且限制很少。
简介
uptime-kuma[1]是一个花里胡哨的自托管的网站监控工具,支持的功能也相对较为丰富:
监控HTTP(s)/TCP/HTTP(s)关键字/Ping/DNS记录/推送/Steam Game Server等的正常运行时间。
支持丰富的通知渠道,如通过Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 和70 多种通知服务发送通知,请单击此处查看完整列表[2]。
20 second intervals.
[支持多种语言](https://github.com/louislam/uptime-kuma/tree/master/src/languages “languages”)
简洁的状态页面
Ping图
监控证书信息
安装
监控服务与被监控的服务不要放在同一个服务器上,并且监控服务重要等级应该为level 1.
通过docker安装
mkdir -pv /data/uptimekuma && cd /data docker run -d --restart=always -p 3001:3001 -v `pwd`/uptimekuma:/app/data --name uptime-kuma louislam/uptime-kuma:1.11.4
通过docker-compose安装
version: "3" services: uptime-kuma: image: louislam/uptime-kuma:1.11.4 container_name: "uptime-kuma" restart: "always" volumes: - "/etc/localtime:/etc/localtime" - "/data/uptimekuma:/app/data" ports: - "3001:3001"
配置nginx(可选)
server { server_name status.devopsman.cn; listen 443 ssl http2; ssl_certificate /www/server/panel/vhost/nginx/ssl/status.devopsman.cn_bundle.pem; ssl_certificate_key /www/server/panel/vhost/nginx/ssl/status.devopsman.cn.key; location / { proxy_pass http://127.0.0.1:3001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } access_log /www/wwwlogs/uptimestatus.log main; error_log /www/wwwlogs/uptimestatus.error.log; }
相比blackbox_exporter去监控url和证书,这个就显示很高大上了,花里胡哨的监控面板,有时候更适合给领导和客户欣赏;
告警
安全性
API
最后值得提的就是,这个作品的作者目前还没有支持通过API进行监控项等信息的意向,通过在github上issue中得知,估计就是贡献代码,也不会采用,如果支持了API,那么就可以通过自动化的方式进行便捷式管理了。不过自己可以实现哦
当然如果是个人博客,也可以通过uptimerobot[3]进行监控,有免费的额度使用。
参考资料
uptime-kuma: https://github.com/louislam/uptime-kuma
notifications: https://github.com/louislam/uptime-kuma/tree/master/src/components/notifications
uptimerobot: https://uptimerobot.com/