开源服务运行监控工具Lunalytics
简介
什么是 Lunalytics ?
Lunalytics是一个开源监控工具,使用Node.js和React构建,专注于为开发者提供优先体验,支持多个用户。Lunalytics目前可以监控HTTP(s)/TCP连接,未来会添加更多连接。除了ping👀 之外,还在研究不同的监控系统。
主要特点
- 支持多用户:允许多个用户同时使用和管理监控功能。
- HTTP(s)/TCP 监控:可以监控
HTTP和TCP连接,未来将添加更多监控选项。 - 角色基于访问控制:实现不同用户权限管理。
- 简洁易用的用户界面:提供清晰、友好的用户体验。
- 可定制的用户界面和配置:用户可以根据需要自定义界面和个人资料。

Lunalytics 旨在克服现有监控工具的不足,提供一个现代化、易于使用的解决方案。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 lunalytics ,选择第一个 ksjaay/lunalytics,版本只有一个 latest,所以双击直接下载。

卷
在 docker 文件夹中,创建一个新文件夹 lunalytics,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/lunalytics/data |
/app/data |
存放数据库和设置文件 |
docker/lunalytics/logs |
/app/logs |
存放日志文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
2308 |
2308 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 lunalytics 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 lunalytics 和 子目录 |

反向代理
简单测试了一下,使用 http://群晖IP:2308 注册时会报错 Please enter a valid URL.,而且登录也不能成功。老苏尝试用 nginx proxy manager 做反代后,可以正常登录
假设实际访问地址为: https://lunalytics.laosu.tech
| 域名 | 局域网地址 | 备注 |
|---|---|---|
lunalytics.laosu.tech |
http://192.168.0.197:2308 |
Lunalytics 的访问地址 |
在 npm 中的设置

SSL 都勾选了

运行
在浏览器中输入反代的域名,就能看到注册向导界面
Email:填入Email地址Uasename:填入用户名

设置密码

设置按照类型

如果选择了 Advanced Setup
- 可以选择不同的数据库,
SQLite和PostgreSQL - 数据库名默认就可以

接下来是网页设置
JWT Secret:相当是一个密钥,用于对Token进行签名验证。是一个长且随机的字符串。Website URL:这里必须要用域名,否则会报错Please enter a valid URL.,下图中尚未做修改,是错误的范例

监控
设置完成后的主界面

点 NEW 新建监控,以老苏的博客为例
Name:不能使用中文,不能有空格Monitor Type:支持http和tcpURL:需要监控的网址Method:支持HEAD、DELETE、GET、OPTIONS

设置完成后,开始是没有数据的

慢慢的就有数据了

再多等一会儿

虽然支持多种通知,但对国内用户并不友好

参考文档
KSJaay/Lunalytics: 🚀 Open source monitoring tool built with Node.js
地址:https://github.com/KSJaay/LunalyticsLunalytics
地址:https://lunalytics.xyz/Welcome to Lunalytics documentation | Lunalytics
地址:https://lunalytics.xyz/intro.html博壹BOYY - Telegram 创建 bot 获取 token 和 chatId 以及发送消息简明教程
地址:https://www.boyy.org/notebook/mark/141118.html