在Windows上部署开源的轻量级自动化运维监控工具Uptime Kuma
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
现在大家玩NAS的朋友们越来越多,是否对NAS的稳定性感到焦虑?你是否在需要用的时候,发现你的服务已经停摆许久?要是有个可以随时随地为你提供线上服务的健康状况的工具就好了,这不就有了Uptime Kuma,Uptime Kuma 是一个类似 "Uptime Robot" 的自托管监控工具。
在Windows上部署开源的轻量级自动化运维监控工具Uptime Kuma
一、什么是Uptime Kuma
Uptime Kuma 是一款开源自托管的轻量级监控工具,拥有简洁美观的界面和丰富的告警方式。
但在实际部署中,发现几乎所有教程都是在写使用Docker部署。本次是记录一下作者提供的第二种部署方式在Windows平台的踩坑历程。
项目地址:https://github.com/louislam/uptime-kuma
体验地址:https://demo.kuma.pet/start-demo (自动生成一个十分钟的临时项目)
特点:Uptime Kuma可以添加的监控项包括HTTP(s)、TCP、HTTP(s)关键词、HTTP(s) JSON查询、Ping、DNS记录、推送、Docker容器运行时间、Steam游戏服务等常见网站运行参数。
支持70多种通知服务,例如阿里云短信,钉钉,企业微信,电子邮件等
二、Uptime Kuma 环境要求
① Windows 10 (x64)、Windows Server 2012 R2 (x64) 或更高版本(作者表示主流Linux也可以)
② Node.js 18 或 20.4及以上
③ NPM 9 (Nodejs自带)
④ GIT (用于git项目到本地,没有也可以,但是影响部署环节)
⑤ PM2 (用于在后台运行)
三、Uptime Kuma 项目部署
① 下载项目到本地 git clone https://github.com/louislam/uptime-kuma.git ② 进入项目目录 cd uptime-kuma ③ 设置npm镜像源 //用于npm加速 npm config set registry https://registry.npmmirror.com/ ④ 初始化前端资源 (踩坑点) npm run setup 等同于 -如果以上命令报错,可以尝试手动执行以下 git checkout 1.23.15 // 切换版本。如果网络不好或者没有git,此条有可能报错,可以暂时忽略 npm ci --production //安装依赖 npm run download-dist //下载前端资源 如果以上步骤无法完成,可以尝试以下命令 //安装依赖 (踩坑点 node版本最好使用推荐的18或者20.4,国内最好设置镜像加速,否则依赖有可能安装失败) npm install //重构前端资源 // 似乎可以替代npm run download-dist npm run build ⑤ 启动项目 -到此项目已经可以尝试启动了 node server/server.js 等同于 npm run start 或 npm run start-server
成功启动以后,访问地址为 http://127.0.0.1:3001
⑥ 后台运行与自启动
// 安装PM2管理器与PM2日志管理器 [mw_shl_code=asm,true]npm install pm2 -g && pm2 install pm2-logrotate //使用pm2启动项目 pm2 start server/server.js --name uptime-kuma //停止项目 pm2 stop uptime-kuma
至于自启动,木有搞,直接使用的bat执行pm2 start也可;想实现的,市面上有很多基于pm2的自启动项目,可以自行研究
四、常见的设置项
① 端口 :在server/config.js改 搜3001
② 数据位置:data/kuma.db (使用sqline的情况下)
五、UptimeKuma 的特点包括:
- 花哨、反应式的、快速的 UI/UX:Uptime Kuma 提供了一个美观且直观的用户界面,使用户能够轻松配置和管理监控项。
- 多种通知方式:支持通过 Telegram、Discord、Gotify、Slack、Pushover、电子邮件 (SMTP) 等多种通知服务发送警报。
- 多语言支持:支持超过 50 种语言,方便不同语言的用户使用。
- 监控图表信息:提供实时的监控图表,帮助用户更好地理解服务状态。
- 证书信息:提供证书信息,帮助用户了解 SSL/TLS 证书的状态。
- 代理支持:支持通过代理进行监控,增加监控的灵活性。
- 2FA 支持:提供双因素认证,增加账户的安全性。
延伸阅读:Nagios、Zabbix、Prometheus 这三款开源的监控平台大致分析
运维人(很多时候我们也会被大伙亲切的称为背锅侠),基本都了解或者使用过 Nagios、Zabbix、Prometheus 这三款开源的监控平台,三款监控工具都各有各的优缺点,如下表:
监控平台 | 优点 | 缺点 |
Nagios | 功能丰富:Nagios支持对网络设备、服务器、应用程序等进行全面监控,并提供丰富的监控指标和报警机制。可扩展性强:Nagios支持自定义监控插件,用户可以根据需要添加或修改监控项,以满足特定的监控需求 | 配置复杂:Nagios的配置相对复杂,需要一定的技术水平和经验,对于初学者来说可能存在一定的学习成本。界面不友好:Nagios的界面设计相对简单,且界面较为陈旧,可能不够直观和用户友好,对于非技术人员来说可能不太容易上手。 |
Zabbix | 界面友好:Zabbix提供了一个基于Web的图形化界面,易于使用和管理,适合不同技术水平的用户。功能全面:Zabbix支持对网络设备、服务器、应用程序等进行全面的监控,包括性能监控、故障排查、安全审计等功能。自动化配置:Zabbix支持自动发现和自动配置,可以自动添加和删除监控对象,减少了手动配置的工作量。 | 资源消耗较大:Zabbix在监控过程中可能会消耗较多的系统资源,对于资源有限的环境来说可能存在一定的压力。学习成本:虽然Zabbix提供了友好的界面,但对于初学者来说,仍然需要一定的时间来熟悉和掌握其使用方法和功能。 |
Prometheus | 强大的查询语言:Prometheus提供了PromQL查询语言,支持复杂的查询和聚合操作,方便用户进行灵活的数据分析和可视化。易于集成:Prometheus支持多种导出器(exporter),可以与各种主流的服务和系统进行集成,实现统一的监控和管理。云原生环境支持:Prometheus本身就是作为云原生监控出现的,所以对云原生服务发现支持具有天然优势。 | 学习曲线陡峭:Prometheus的查询语言和概念对于初学者来说可能较为陌生,需要一定的时间来学习和掌握。报警功能相对简单:虽然Prometheus支持基本的报警功能,但相对于一些其他监控工具来说,其报警机制可能不够灵活和全面。 |
估计有不少朋友都在玩各种各样的监控软件,大致都差不多,只要不太花里胡哨,又稳定的,就是好玩的!
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!