自研能力 · 监控与可观测
Monitor 单机版
基于 Go 的单机指标与服务探针工具,覆盖阈值告警、恢复通知、多通道推送和定时报告;当前按源码能力收录,运行效果待环境验证。
Overview
工具定位
Monitor 单机版是基于 Go 的轻量主机监测程序,面向少量主机、独立服务和不需要集中式监控平台的试点环境。它在运行主机采集系统指标,执行配置的服务探针,再将告警或报告发送到获准通知通道。单机版不是 Monitor Gateway,也不是 Prometheus、Grafana 或集中式运维管理平台的替代实现。
收录状态与源码依据
审阅日期:2026-09-08。产品源码 main.go:40 标记 v2.1.7,go.mod:3 声明 Go 1.23.12;这是本次核对的源码标记,不代表已验证的正式发布包。本次没有构建、部署或真实通知测试,尚无可公开核验的下载地址、仓库地址和生产验收记录。因此站点版本字段留空,体验入口关闭,项目按实验状态收录。
已有实现
- 主机采集:CPU、内存、磁盘容量、系统负载、IO 等待、网络流量和 TCP 状态,依据
main.go:877。 - 服务探针:TCP 建连、HTTP(S) GET 状态码、进程名称或命令行匹配、Docker 运行及健康状态,依据
main.go:1044。 - 告警控制:连续触发确认、静默期、每小时告警上限与恢复通知,依据
main.go:1333。 - 通知与报告:钉钉、企业微信、飞书及 SMTP 邮箱并发发送;每日定点或周期间隔报告,依据
main.go:1671、main.go:1909。 - 日常维护:配置修改检测、SIGHUP 重新加载和按大小轮转日志,依据
main.go:340、main.go:613、main.go:638。
能力边界与使用风险
本地指标与端口成功不等于业务正确。HTTP 探针按状态码判断,不校验业务返回内容;进程探针使用包含匹配;Docker 健康判断依赖容器是否配置 HEALTHCHECK。程序没有集中式 Web 管理、历史时序数据库或自动修复能力。配置中的 aggregation_window 尚未见实际消费逻辑,不应据此承诺按秒聚合。
monitor -t 会实际发送测试消息,退出码为 0 不证明接收端已送达。启用前应由接收人确认测试范围,真实凭据不得写入公开文档。Docker 探针需要 Docker CLI 及受控访问权限;平台差异、资源开销和退出时在途通知完整性都需另行验证。
建议验证流程
先确认软件来源、源码或制品标识、主机范围、通知责任人与日志空间;建立只读主机基线,再在非关键试点中逐个增加探针。明确测试消息的接收窗口,分别记录采集、告警、送达、恢复和报告时间。遇到权限越界、额外通知或资源异常应中止试点,恢复原配置,保留现有监控渠道,不能用停止真实业务制造告警。
配套文档与场景
- 快速开始与试点准备
- 配置与探针使用
- 运行维护与故障排查
- 项目档案
- Linux 主机监控场景
- Kubernetes 集群监控场景:用于理解集中式监控差异,不表示单机版具有 Kubernetes 对象采集能力。