服务器监控与运维,一个程序就够了

SetonNode 是自托管的 Linux 服务器集中监控系统。控制台是一个内嵌了界面和数据库的程序,节点上的 Agent 只向外连接、不监听任何端口。监控、告警、网页终端、远程管理、批量操作和 AI 助手,都在同一个界面里。

curl -fsSL https://cnb.cool/setonedge/SetonNode/-/releases/latest/download/install.sh | sudo bash -s -- hub

在一台 Linux 服务器上执行这条命令就装好了控制台。查看完整的安装步骤

SetonNode 控制台首页:24 个节点里 2 个离线、5 条告警正在触发,下方是全部节点的 CPU 与内存趋势、资源占用最高的节点和分组分布
部署
单个程序,内嵌界面与 SQLite 数据库,不需要 Docker、Redis 或 MySQL。
节点
Agent 主动连接控制台,节点不监听端口,也不用对控制台开放 SSH。
系统
Ubuntu、Debian、RHEL、Rocky、AlmaLinux,x86_64 与 aarch64 都支持。
数据
全部保存在你自己的服务器上,每天自动备份,更新前再备份一次。

每台机器的状态,秒级看到

CPU、内存、负载、磁盘与读写、网络速率与流量、连接数、进程数,实时推送到浏览器,不用刷新页面。采集间隔最短可以设到 1 秒。

节点列表:每台服务器的在线状态、IP 归属地、CPU、内存、磁盘、网络速率、流量配额用量与剩余天数

历史数据分层保存

1 分钟粒度保留 30 天,5 分钟粒度保留 90 天,每日流量保留 400 天。保留多久可以在后台调整。

流量配额与到期日

给节点设置每月流量配额和到期日,用量到 80%、100% 或者快到期时提醒你,适合管理按流量计费的云服务器。

进程、连接与端口

查看节点上的进程、整机的网络连接和对外监听的端口,并对照防火墙规则判断哪些端口真的暴露在外。

告警只在该响的时候响

离线、CPU、内存、磁盘、负载、带宽、连接数、流量、到期等十三类规则,可以作用于全部节点、某个分组或指定的几台。

告警事件页:触发中的告警列表,包含节点离线、CPU 持续过高、磁盘空间不足、流量用量和即将到期

持续时间与恢复阈值

高于阈值持续一段时间才触发,低于恢复阈值持续一段时间才恢复,数值在阈值附近来回跳时不会反复通知。

静默与维护窗口

计划维护前先设静默。静默结束时如果问题还在,会把通知补发出来,不会漏掉。

通知到你常用的地方

飞书、企业微信、钉钉、Telegram、邮件、Discord、Slack,也可以用自定义模板的 Webhook 接进自己的系统。

让 AI 先查一遍原因

在规则上打开「触发时让 AI 分析」,告警照常立刻通知,AI 在后台只读地查出是哪个进程或目录造成的,结论随后补发。

浏览器里的终端工作台

终端经 Agent 的出站连接到达节点,内网和 NAT 后面的机器一样能连。多标签、分屏、同步输入,同时操作多台服务器。

终端工作台:左侧是节点列表,右边左右分屏同时打开两台服务器的终端,一台在查看访问日志,一台在运行 top

断线续接

刷新页面、网络中断或误关窗口后,会话默认保留 5 分钟。重新打开接着用,断开期间的输出也都在。

文件传输与在线编辑

在终端旁边浏览节点上的文件,上传、下载、打包、解压、改权限,直接编辑文本文件。大文件分片上传,断了自动续传。

免密登录

控制台为每个账号保管一把专用密钥,公钥一键装到节点,之后打开终端不用再输密码。私钥无法导出,账号删除时一并销毁。

应急终端

SSH 服务坏了或者被关掉时,可以不经 SSH 直接打开节点的 root 终端,把它修回来。

在线会话与录制回放

谁正在用哪台节点的终端随时可查,可以强制断开。开启录制后,终端的输出可以回放和下载。

凭据库与快捷命令

登录信息命名保存,绑定到多台节点,改一处处处生效。常用命令存成快捷命令,可以留变量、可以共享给同事。

会动手的 AI 助手,改动之前先问你

在终端旁边用一句话让它排查问题。它自己查看状态、读文件、执行命令,每一步都显示出来;会改动系统的操作,停下来等你批准。

终端旁的 AI 助手正在排查磁盘空间:已经执行了 df 和 du 两条查看命令,下一条 find 命令被控制台判定为可能改动系统,正在等待用户批准或拒绝
图中是一次真实的排查:AI 加载了「磁盘写满」技能,查看类命令直接执行,带 -exec 的 find 被算作改动,等人批准。
权限分三档,对话中随时切换
请求批准 查看类的操作直接执行,任何改动之前都先问你。 默认档位
帮我批准 低风险的改动自动放行,高风险的仍然问你。 适合熟悉之后日常使用
完全访问权限 直接执行。删除系统目录、格式化磁盘、关机重启这三类操作仍然先问。 默认只有超级管理员可用

一条命令算不算改动,由控制台解析命令的语法来判断,不由模型自己说了算。AI 执行的每一次改动都记入操作日志。

内置排查手册

磁盘写满、负载过高、服务起不来、端口不通、SSH 登录问题、Nginx 配置与证书、容器异常等十一份技能,也可以自己编写或导入。

定时巡检

让 AI 每天或每周在后台检查一批节点,只查看、不改动,出一份带结论和建议的报告,并标出与上一次相比新出现的问题。

批量变更

要在一批节点上做同一项改动时,AI 先摸底、把情况相同的节点归组,再给出脚本、验证命令和回退脚本。方案由你审,执行的是你审过的那一份。

不开终端的对话

在独立的对话页里,AI 可以同时在多台节点上查看和操作,每一步都标明是哪台节点,范围可以限定到几台或几个分组。

模型由你选

DeepSeek、通义千问、智谱、Moonshot、硅基流动、OpenAI、Anthropic、华为云、本地的 Ollama,或任何兼容 OpenAI 的接口,可以经代理调用。

用量看得见

谁、在哪台节点、用哪个模型、用了多少 token、做了几次改动,每次运行记一条。可以给每个账号和后台任务设每日上限。

改配置,不怕把自己锁在外面

SSH、防火墙、网卡都可以在控制台里改。改完节点连不回控制台,改动会自动回滚。

SSH
修改端口和常用的 sshd 设置,校验通过才重启服务,失败自动恢复;会导致没人能登录的改法,保存前会拦下来让你确认。可以临时关闭 SSH,重启后自动恢复。
防火墙
查看和修改 ufw、firewalld 的规则。SSH 与控制台用到的端口受保护,不会被误删。
网卡
修改 IP、网关和 DNS。新配置生效后如果节点在限定时间内连不回控制台,自动回到原来的配置。
批量执行
在多台节点上执行同一条命令,逐台查看退出码和输出,结果可以导出。批量重启、关机前需要再次确认。
添加节点
复制一条命令到服务器上执行;或者生成批量注册码,同一条命令在多台上用;也可以填写 SSH 登录信息,由控制台登录过去安装,一次最多 50 台。
一键更新
控制台和各节点的 Agent 都可以在后台一键更新。控制台更新前自动备份,失败自动回滚。

能管机器的系统,先管好自己

一个能在所有服务器上执行命令的系统,权限和记录必须说得清楚。

Agent 只出站
节点不监听任何端口。在节点本机执行 setonnode-agent management off,这台机器就回到只读监控,控制台无法远程把它重新打开。
四种角色
超级管理员、管理员、运维、只读。运维和只读账号可以限定到指定的分组,看不到范围之外的节点。
两步验证
账号支持 TOTP 两步验证。打开终端、执行命令、批量重启这类操作之前,需要再验证一次身份。
操作日志
谁在什么时候、从哪个 IP、对哪台节点做了什么,都有记录。日志不能删除,只按保留期自动清理,可以筛选和导出。
发行包签名
所有下载都校验 SHA256,发行包带 ed25519 签名,安装脚本内置公钥,验签不过不会安装。
默认不被收录
控制台默认禁止搜索引擎收录,登录页不会出现在搜索结果里。
操作日志页:按时间列出每一次操作的账号、动作、对象、来源 IP 与结果,可以按条件筛选和导出

三步用起来

从一台空的服务器到看见第一个节点在线,只要几分钟。

支持的系统
Ubuntu 20.04+、Debian 11+、RHEL / Rocky / AlmaLinux / CentOS Stream 8+
架构
x86_64、aarch64
依赖
无。不需要 Docker、数据库或 Web 服务器
  1. 安装控制台

    在准备当作控制台的服务器上执行。脚本会选一个空闲端口并在本机防火墙放行,最后输出访问地址和一条初始化链接,用浏览器打开它创建管理员。

    curl -fsSL https://cnb.cool/setonedge/SetonNode/-/releases/latest/download/install.sh | sudo bash -s -- hub
  2. 接入节点

    在控制台「节点 → 节点列表」点「添加节点」,把生成的命令复制到要监控的服务器上执行,几秒后它就显示为在线。命令类似这样:

    curl -fsSL http://203.0.113.9:23817/install.sh | sudo bash -s -- agent --server http://203.0.113.9:23817 --join-code K7QM-4XWD
  3. 配置告警

    在「告警 → 通知渠道」添加一个渠道,点「测试」确认能收到,再到「告警 → 告警规则」按需要调整阈值。离线、CPU、内存、磁盘的规则已经内置。

常见问题

节点需要开放端口吗?

不需要。Agent 主动连接控制台,节点上不监听任何端口;终端、远程管理和命令执行都走这条出站连接,所以内网、NAT 后面的服务器也能管理。只有你在控制台里选择「SSH 安装」时,控制台才会用当次填写的登录信息登录服务器。

没有域名,或者机房封了 80 和 443 端口,能用吗?

能。控制台默认用 IP 加一个高位端口直接访问,不依赖域名。需要 HTTPS 时,登录后在「系统设置 → HTTPS」上传证书即可开启,不用重启;已有 Nginx 之类的反向代理也可以直接放在前面。

它和 Zabbix、Prometheus 这类监控系统有什么不同?

SetonNode 面向几台到上百台服务器的个人和团队:一个程序装好,不用分别搭采集、存储和面板,监控之外还带终端、远程管理和批量操作。

如果你需要自定义指标、查询语言,或者要监控的是上千个节点和各种中间件,那类系统更合适。

数据保存在哪里?怎么备份和迁移?

全部保存在控制台所在服务器的数据目录里,使用 SQLite,不上传到任何第三方。控制台每天自动备份一次,更新前再备份一次,也可以随时手动备份和下载。换服务器时,把备份恢复到新机器即可。

AI 助手是必须的吗?用的是谁的模型?

不是必须的,默认关闭,不配置也不影响其他功能。要用的话,在后台填入你自己的模型服务密钥,支持 DeepSeek、通义千问、智谱、OpenAI、Anthropic 等,也可以接本地的 Ollama。密钥加密保存,发给模型的内容默认会先脱敏。

不想让控制台有那么大的权限,可以只做监控吗?

可以。在节点本机执行 setonnode-agent management off,这台节点就只上报监控数据,远程管理、命令执行和终端全部关闭,而且控制台无法远程把它重新打开。

怎么更新和卸载?

在后台「系统 → 系统信息」里可以一键更新控制台,节点的 Agent 在「批量操作 → Agent 更新」里更新。也可以在服务器上重新执行安装脚本并带上 update 参数,更新失败会自动回滚。

在控制台删除一个节点时,那台服务器上的 Agent 会自动卸载。

找一台服务器装上试试

一条命令安装。不合适的话,卸载也是一条命令。

curl -fsSL https://cnb.cool/setonedge/SetonNode/-/releases/latest/download/install.sh | sudo bash -s -- hub