开源服务运行监控工具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 存放日志文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

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 以及发送消息简明教程

地址:https://www.boyy.org/notebook/mark/141118.html

相关推荐
AIGC大时代1 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦2 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵4 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd5 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
Pocker_Spades_A7 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记16 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd21 小时前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
帷幕落秋1 天前
Docker的两种安装
运维·docker·容器
工业一体机老司机1 天前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互