
简介
什么是 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 |
存放日志文件 |

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

命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
bash
# 新建文件夹 lunalytics 和 子目录
mkdir -p /volume1/docker/lunalytics/{data,logs}
# 进入 lunalytics 目录
cd /volume1/docker/lunalytics
# 运行容器
docker run -d \
--restart unless-stopped \
--name lunalytics \
-p 2308:2308 \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
ksjaay/lunalytics:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
yaml
version: '3'
services:
lunalytics:
image: ksjaay/lunalytics:latest
container_name: lunalytics
restart: unless-stopped
ports:
- 2308:2308
volumes:
- ./data:/app/data
- ./logs:/app/logs
然后执行下面的命令
bash
# 新建文件夹 lunalytics 和 子目录
mkdir -p /volume1/docker/lunalytics/{data,logs}
# 进入 lunalytics 目录
cd /volume1/docker/lunalytics
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

反向代理
简单测试了一下,使用 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
和tcp
URL
:需要监控的网址Method
:支持HEAD
、DELETE
、GET
、OPTIONS

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

慢慢的就有数据了

再多等一会儿

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

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