哈喽小伙伴们好,我是Stark-C~
小伙伴们在使用的NAS时间长了以后,搭建的服务是越来越多,不知道大家有没有担心可能某个服务会突然“罢工”给自己带来影响?又或者自己搭建的网站或者博客,会不会在某一时刻服务器宕机不能用了?
如果你有这方面的担忧,那么今天的这个项目可能就是你需要的,它就是一个非常好看且强大的自托管监控自托管监控工具面板『Uptime Kuma』。
关于Uptime KumaUptime Kuma是一个非常优秀的自托管的网站监控工具,作为一个免费开源项目,目前star差不多50k,可见大家对它的认可程度。
PS:顺便告诉大家一个彩蛋,Uptime Kuma和Dockge两个项目式同一个开发者哦~
根据作者自己的描述,Uptime Kuma的特征如下:
监控 HTTP(s) / TCP / HTTP(s) 关键字 / HTTP(s) Json 查询 / Ping / DNS 记录 / 推送 / Steam 游戏服务器 / Docker 容器的正常运行时间
好看、反应灵敏、快速的 UI/UX
可以通过 Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 和 90+ 通知服务发送通知
间隔 20 秒持续监控
多语言支持(包括中文)
多个状态页面
将状态页面映射到特定域
Ping 图表
证书信息
代理支持
2FA 支持
简单来说,我们将它部署在NAS上之后,就可以非常方便的对我们搭建的网站或者播客,以及所有的Docker容器,以及数据库等进行实时在线监测,如果有什么问题,会第一时间通过通知服务给我们发送告警推送,让我们第一时间知晓状况。
Uptime Kuma部署老规矩,为了数据持久化,我们需要提前在建立一个对应的目录映射。打开NAS的文件管理器,在 docker 目录中(威联通默认为Container文件夹),创建一个新文件夹【uptime-kuma】。
接着使用SSH终端工具连接到NAS之后先启用root模式(“ sudo -i ”),接着直接输入以下Docker run命令:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data -v /var/run/docker.sock:/var/run/docker.sock --name uptime-kuma louislam/uptime-kuma:1
以上命令需要说明的地方为:
-p 3001:3001 -->冒号前面改为本地没被占用端口;-v uptime-kuma:/app/data -->冒号前面映射我们前面新建“uptime-kuma”子文件夹的本地实际路径。-v /var/run/docker.sock:/var/run/docker.sock -->这个是为了实现在容器内部对Docker进行控制和管理,想要方便的监控Docker容器这个不能少。如果没有问题在NAS的Docker容器列表中就能看到uptime-kuma容器已经正在运行了,说明部署成功。
Uptime Kuma体验直接在浏览器中输入 【http:// NAS的局域网IP:端口号】 就能看到登录界面了。
首次打开会提示创建管理员账户,自己随意设置即可。该项目会根据系统设置自动将语言设置成“简体中文”。
进来之后可以看到它的UI界面确实挺简洁的。我们先来“添加监控项”吧。
在设置监控项页面,可以看到它支持的监控类型非常多,除了以HTTP(s)打头的网页,还包括Json 查询 / Ping / DNS / 数据库 / 游戏库等多种监控类型,以及对于我们NAS用户来说最实用的Docker容器监控。
比如说我想要监控NAS本机的qBittorrent容器,其实我们需要设置的也就上图所示四个地方即可。这里有个我没搞明白的事我如果直接输入容器名称它会提示错误,而输入容器对应的ID就完全没问题了。
至于NAS上Docker容器的ID可以通过命令“docker ps -a”直接查询,也很简单的~
在该页面的右方我们可以设置通知。
它支持的通知类型确实多的离谱,是我目前见过通知类型最多的项目。只能说只有你想不到,没有它做不到的。
我这里演示使用微信端的Server酱来作为通知,只需将Server酱那边的SenKey粘贴过来即可,还是很简单的。
对于监控的服务如果没有问题,页面这里会显示正常。
我特意将一个监控正常的Docker容器停掉一个,它这里很快就提示“故障”。
同时手机端立马就能收到告警通知。
监控家里的其它运行的NAS设备。
监控网页,仅需输入该网页完整URL地址即可。
总结以上演示的只是Uptime Kuma最基本的功能,不过已经相当实用了,不过Uptime Kuma的功能远不如此。作为一款强大的开源监控工具,它更适合作为网管的得力工具,实时监测服务与网站,及时发现并解决潜在的故障或问题。
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~