17 Commits
Author SHA1 Message Date
dushixiang 0fa920e972 refactor: 重构 WebSocket 可靠投递会话模型 2026-08-31 21:52:03 +08:00
dushixiang 787fa6918d feat: WebSocket 消息可靠投递(纯内存事件队列)
- agent 数据写入增加 10s 超时,写失败立即断连重连,消除无超时写卡死期间快照被覆盖的静默丢失
- 事件类消息(SSH登录/防篡改/指令响应/监控检测)改走内存 outbox:seq + 服务端累计 ack + 断线重放,上限 1024 条溢出丢最旧,重启清空(可接受)
- 注册请求携带 BootID 会话标识:探针重启后 seq 从 1 重新分配,服务端据此重置确认位点,避免新消息被旧位点误判为重复而丢弃
- server 读循环与处理解耦(per-agent 有序队列 + 串行 worker),慢处理不再阻塞 TCP 读取,队列满断连由探针重放兜底
- 修复探针快速重连时旧连接误注销新连接的竞态(此前会闪断新连接)
- IsAgentEnabled 加 3s TTL 缓存,禁用立即失效;pong 在线状态写库去抖(首次 + 5 分钟心跳刷新)
- VM 写超时默认 30s -> 10s,快速失败配合重放兜底

新旧版本双向兼容:注册响应 Reliable 字段协商,旧 server 下探针自动降级直发
2026-08-30 22:30:41 +08:00
dushixiang 14a48f81a4 feat: support disabling agents 2026-08-26 20:24:17 +08:00
dushixiang 6c8d2f13d3 feat: 告警规则实体化与服务监控按标签选探针
- 告警规则:独立实体(alert_rules 表),按优先级命中第一条生效;支持三种主机目标(全部/按主机/按标签)、7 类阈值、事件通知开关、IP 打码、推送渠道选择;未命中规则的主机不产生告警;列表支持外置启停
- 服务监控:新增按标签选择探针,与指定探针取并集,均为空时全部探针执行
- 公网 IP 采集:范围支持全部探针/按探针/按标签,兼容历史 custom 取值
- 告警历史:新增规则归属列;评估链路(指标/证书/服务下线/探针离线/到期提醒/事件通知)全部按主机命中规则驱动
- 设置页:左侧菜单改为浅色卡片容器并优化对比度,通知渠道移至公网 IP 采集之后;主菜单宽度调整为 240px
2026-08-23 19:53:35 +08:00
dushixiang a4f7c82de6 更新包路径 2026-08-12 18:59:29 +08:00
dushixiang 60678ea1bc chore: upgrade dependencies 2026-07-08 21:56:14 +08:00
dushixiang e115d828ab 重构数据采集打包,修改为统一打包发送 2026-05-05 17:46:32 +08:00
yumusb 35becefe1e Support metric bundles and enable WS compression
Add support for bundling metrics and enable WebSocket compression. Introduces protocol.BundlePayload and MessageTypeBundle, and handles bundled messages on the server side (handleBundleMessage) by iterating items and forwarding each to metricService.HandleMetricData. On the agent side, add bundleWriter to collect outgoing MetricsPayloads, switch collectors to write into the bundle writer, and send a single bundle message when items exist. Also enable compression on the WebSocket upgrader and create a custom websocket.Dialer (with Proxy, HandshakeTimeout and EnableCompression). Minor logging/messages and import adjustments included.
2026-04-08 11:26:00 +08:00
dushixiang 1a64b27af6 移除原心跳配置和业务,改为使用 WebSocket Ping Pong 实现,并增加超时逻辑 2026-02-25 14:11:22 +08:00
dushixiang be54ef2d31 增加公网 IP 采集和网卡 IP 展示 2026-01-17 16:24:59 +08:00
dushixiang 8904d39872 在探针注册后服务端主动下发SSH登录监控配置 2026-01-11 10:22:36 +08:00
dushixiang 5359ee89d4 在探针注册后服务端主动下发SSH登录监控配置 2026-01-11 10:20:38 +08:00
dushixiang 1ffa20045c 增加 agent 数据缓存功能,避免长时间连不上服务端导致数据丢失。 2026-01-09 22:28:56 +08:00
dushixiang 3cf4d7e5a9 优化目录保护 2026-01-09 21:53:44 +08:00
dushixiang f43a856add 优化 SSH 登录配置 2026-01-09 21:15:09 +08:00
dushixiang c522b86b9b 优化目录保护配置 2026-01-09 20:42:18 +08:00
dushixiang 0aab4dc25a 拆分文件,降低 agent_handler.go 复杂度 2026-01-08 18:58:24 +08:00