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 и данные, а небольшой статический бинарник Agent работает на каждой отслеживаемой Linux-машине и подключается только наружу, к Server (Agent никогда не открывает слушающий порт).
Как установить Server и подключить Agents?Запустите установщик Server без аргументов — он привяжется к 0.0.0.0 на автоматически выбранном свободном порту и сохранит свою конфигурацию; установите Agent так же (он стартует «непривязанным») и привяжите его позже, либо передайте -s/--server, -t/--token, -n/--name при установке, чтобы привязать сразу. Всё управляется командами «nlm server ...» и «nlm agent ...».
Может ли Agent выполнять команды оболочки или скрипты на моих серверах?Нет, так задумано: Agent никогда не открывает оболочку, sh -c, произвольные скрипты или выполнение своих команд — он только собирает метрики вроде CPU, памяти, диска, нагрузки, сети, температуры, процессов и служб.
На каком железе и в какой ОС работает NodeLume?И Server, и Agent — статически собранные Go-бинарники для Linux amd64 и arm64 с отключённым CGO, поэтому устанавливать библиотеки времени выполнения не нужно.
Что будет, если я использую обычный HTTP вместо HTTPS?NodeLume разрешает HTTP, но показывает в Web UI предупреждение о передаче в открытом виде, не блокируя соединение; для реальных развёртываний рекомендуется HTTPS с сертификатом, выпущенным через ACME.
Как ротируются и очищаются логи Server?NodeLume ротирует собственные рабочие логи без опоры на logrotate, по умолчанию храня 7 дней и до 50 МиБ (оба параметра настраиваются в Web UI); очистка логов стирает только рабочий лог и никогда — отдельный журнал аудита.
Как проверяются бинарники релизов перед установкой?Установщик сначала сверяет фиксированную SHA256 входящего в комплект инструмента «nodelume-verify», затем использует его для проверки подписей Ed25519 у checksums.txt и целевого бинарника плюс самопроверку, причём от OpenSSL не требуется поддержка Ed25519 — так что работает и на старом OpenSSL, например 1.0.2 в CentOS 7.
Это уже полностью проверено на реальных VPS-развёртываниях?Автор сквозно протестировал Server+Agent и Web UI в собственном окружении сборки на Linux, но реальный выпуск сертификатов ACME HTTP-01 на публичном домене и полная проверка установки/перезапуска на настоящих systemd-VPS с Debian, Ubuntu, CentOS, Alma и Rocky всё ещё требуют верификации в реальных условиях развёртывания.
Creator
chenb1522
Size
0.3 MB
Stars
203
Age
2mo
Commits · 90 Days