nodelume README

The project's README from github.com/chenb1522/nodelume. As one markdown file: README.md.

NodeLume v1.0.2

轻量多节点 Linux 服务器监控与管理工具

NodeLume 由静态 Go Server、静态 Go Agent 和原生 Web UI 组成,重点是低资源占用、部署简单和严格的远程控制边界。

核心特性

安装 Server

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-server.sh | sh

首次无参数安装默认监听 0.0.0.0,自动选择当前未占用端口并持久化。重复执行同版本不会重装或重启;旧版本升级会保留配置并在启动/健康检查失败时回滚。

常用命令:

nlm server s        查看运行状态
nlm server s -d     查看 NodeLume Server 自身资源占用
nlm server u        更新到最新版本
nlm server r        重启 Server
nlm server rm       卸载 Server(保留数据)
nlm server test     自检 Server
nlm help            查看完整帮助

安装 Agent

Agent 支持完全无参数安装:

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-agent.sh | sh

无参数安装完成后状态为“未绑定”,之后执行:

nlm agent bind -s http://SERVER:PORT -t TOKEN

也可以在安装时直接绑定:

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-agent.sh | sh -s -- \
  -s 'https://monitor.example.com' \
  -t 'TOKEN' \
  -n 'HK-01'

支持长短参数:-s/--server、-t/--token、-n/--name、-v/--version。

常用命令:

nlm agent s
nlm agent s -d
nlm agent u
nlm agent r
nlm agent config
nlm agent test
nlm agent reconnect
nlm agent logs -f
nlm agent set -s URL
nlm agent set -l info
nlm agent bind -s URL -t TOKEN [-n NAME]

nodelume-agent 二进制本身也支持 status/config/test/bind/set/version 子命令以及运行参数;Server 二进制支持运行参数、--version、--self-check、--pick-port 等。

Enrollment

Web 提供:

节点名称优先级:命令行 -n > Web Token 预设名称 > Server 自动名称。

Enrollment Token 仅用于首次注册。注册后使用独立 Agent 身份,不再使用 Enrollment Token 进行心跳、指标和命令通信。

日志

Server 运行日志默认:

Release 安全

Release 包包含:

nodelume-server-linux-amd64
nodelume-server-linux-arm64
nodelume-agent-linux-amd64
nodelume-agent-linux-arm64
nodelume-verify-linux-amd64
nodelume-verify-linux-arm64
install-server.sh
install-agent.sh
nlm
release.pub
release-manifest.json
checksums.txt
checksums.sig

安装器先使用固定 SHA256 引导校验静态 nodelume-verify,再用 Ed25519 验证 checksums.txt,最后验证目标文件 SHA256 和二进制 self-check。无需系统 OpenSSL 支持 Ed25519,因此兼容旧 OpenSSL 环境(例如 CentOS 7 的 OpenSSL 1.0.2 系列)。

GitHub Actions 私钥只放在 Secret:

NODELUME_SIGNING_PRIVATE_KEY

不得提交 Release 私钥。

目录

agent/
server/
  web/
scripts/
  install-server.sh
  install-agent.sh
  nlm
tools/
  verify/
  sign/
  keygen/
.github/workflows/release.yml
release.pub
go.mod

已知外部验收边界

本交付已在当前 Linux 构建环境实际运行 Server + Agent 端到端测试和真实 Chromium UI 交互测试。以下仍需要部署环境本身才能最终验证:真实公网域名的 CA HTTP-01 签发,以及 Debian/Ubuntu/CentOS/Alma/Rocky 各自真实 systemd VPS 的完整安装/重启测试。

nodelume (chenb1522/nodelume)

Searching Database…

这是什么?NodeLume 是一个轻量级的多节点 Linux 服务器监控与管理工具,由静态编译的 Go Server、静态编译的 Go Agent 和原生 Web UI 组成,主打低资源占用、部署简单和严格的远程控制边界。
这是单一应用,还是客户端-服务器架构?它是客户端-服务器系统:一个中央 Server 托管 Web UI 和数据,每台被监控的 Linux 机器上运行一个小巧的静态 Agent 二进制,且它只向外连接 Server(Agent 从不打开监听端口)。
怎么安装 Server 并连接 Agent?不带参数运行 Server 安装器,它会绑定到 0.0.0.0 上自动挑选的空闲端口并保存配置;用同样的方式安装 Agent(初始为“未绑定”状态)之后再绑定,或在安装时传入 -s/--server、-t/--token、-n/--name 立即绑定。一切通过 “nlm server ...” 和 “nlm agent ...” 命令管理。
Agent 能在我的服务器上执行 shell 命令或脚本吗?不能,这是刻意设计:Agent 绝不暴露 shell、sh -c、任意脚本或自定义命令执行——它只收集 CPU、内存、磁盘、负载、网络、温度、进程和服务等指标。
NodeLume 能运行在什么硬件和系统上?Server 和 Agent 都是禁用 CGO、面向 Linux amd64 和 arm64 的静态编译 Go 二进制,因此无需安装任何运行时库依赖。
如果用纯 HTTP 而不是 HTTPS 会怎样?NodeLume 允许 HTTP,但会在 Web UI 中显示明文通信警告而不阻断连接,因此正式部署建议使用带 ACME 签发证书的 HTTPS。
Server 日志如何轮转和清理?NodeLume 自行轮转运行日志,不依赖 logrotate,默认保留 7 天且最多 50 MiB(两者都可在 Web UI 中配置);清理日志只会清空运行日志,绝不会动独立的审计日志。
发布二进制在安装前如何校验?安装器先校验内置 “nodelume-verify” 工具的固定 SHA256,然后用它对 checksums.txt 和目标二进制做 Ed25519 验证并自检,全程不需要 OpenSSL 支持 Ed25519——因此在 CentOS 7 的 1.0.2 这类旧版 OpenSSL 上也能用。
它已经在真实 VPS 部署上完全验证过了吗?作者已在自己的 Linux 构建环境上对 Server+Agent 和 Web UI 做过端到端测试,但真实的公网 ACME HTTP-01 签发,以及在真实的 Debian、Ubuntu、CentOS、Alma 和 Rocky systemd VPS 上的完整安装/重启测试,仍需在实际部署环境中验证。
Creator
chenb1522
Size
0.3 MB
Stars
202
Age
2mo
Commits · 90 Days