ValidatorStack/solana-vigil
运维与部署面向 Linux Solana 验证节点的只读监控与主机审计工具,覆盖 VAT 余额、BLS、出块与告警。
项目介绍
Vigil 是一个运行在 Linux Solana 验证节点上的只读运维工具,把常被分散处理的检查集中到单个 Go 二进制里:投票账户 VAT 余额与可支撑轮数、BLS 注册状态、延迟与身份一致性、出块与漏块、Prometheus 指标、告警,以及只读的 Linux 主机审计。它不加载私钥、不签名、不发交易、不重启验证节点、不切换身份,也不修改主机设置,定位是观测和告警,而不是自动化运维。
适用对象是运行 Solana mainnet-beta 验证节点(AMD64/ARM64)的运维者;testnet 可作为上线前的演练环境。主机审计和逐 slot 出块检查只有 Vigil 直接运行在被监控的节点上才有意义,仅连接 RPC 的机器无法提供同样的证据。
快速使用
在验证节点上以 root 安装:
curl -fsSL https://raw.githubusercontent.com/ValidatorStack/solana-vigil/main/install.sh | sudo bash
安装脚本会校验 SHA-256;如果系统已安装 cosign,还会校验 Sigstore 无密钥签名。也可以先下载脚本查看,再用 --version v0.1.0 执行;安装到用户目录时使用 --prefix "$HOME/.local/bin"。随后运行引导配置和一次性检查:
vigil init
vigil check --config vigil.json
init 只询问公开地址和 RPC 地址,会探测本地 RPC(通常是 http://127.0.0.1:8899),并核对身份是否拥有投票账户、创世哈希是否一致。自动化场景可用:
vigil init \
--non-interactive \
--vote-account YOUR_PUBLIC_VOTE_ACCOUNT \
--local-rpc http://127.0.0.1:8899 \
--output vigil.json
check 的退出码为 0 正常、1 警告、2 严重、3 未知。最后启动持续监控并测试告警投递:
vigil watch --config vigil.json
vigil test-alert --config vigil.json
未配置告警目标时,告警写入日志。Webhook 等密钥通过配置里的环境变量名读取,不写进 JSON。长期运行时,仓库的 deploy/ 目录提供 systemd 单元,以专用用户运行 watcher 和 exporter。
使用约束
- 主机审计和逐 slot 出块检查要求 Vigil 运行在真实被监控的节点上;审计可能需要更大的读权限以及
ethtool、timedatectl、chronyc等工具,缺失的证据会标记为unknown。 - Prometheus exporter 默认只监听回环地址,不应直接暴露到公网。
- 默认 VAT 费用为每 epoch 0.8 SOL,这是配置值而非协议保证,需要按当前集群规则核实。
- 当前版本不解析 Alpenglow 区块尾部证书参与情况,不归一化 Firedancer 的 tile endpoint,不跟踪 SFDP 版本期限,也不校验客户端升级二进制;
plan-restart只给出建议的空闲出块窗口,不执行任何重启。 - RPC URL 可能包含服务商凭据;Vigil 拒绝带内嵌 userinfo 的 URL,但通过环境变量管理的凭据仍需由你自己的密钥系统保护。
- 许可证为 MIT;构建需要 Go 1.23 或更新版本,没有第三方 Go 模块依赖。
HotRepo 点评
Vigil 在 2026-11-10 进入 HotRepo 新项目榜,当天下午开始的约 3.5 小时窗口内新增 132 Star、22 Fork;当天的 Star 快照记录为 132。记录时间很短,只能说明早期关注度,不足以判断趋势。材料能支撑的是它范围明确:只读的验证节点运维、清晰的边界、对未知状态的显式处理,以及可直接部署的 Prometheus 和 systemd 配置。它更适合已经在运行 Solana 验证节点、需要告警和主机漂移检查的运维者,而不是又一个仪表盘。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。