VersusControl/versus-incident

The self-hosted AI SRE agent. You don't have to monitor your systems alone. Versus Incident will keep track of your services, applications, and systems, detect new or unexpected problems, and provide your team with the evidence needed to investigate.

Versus Incident – AI 驱动的 SRE 助手

它是什么

  • 一个开源服务,位于您的监控堆栈之前,充当虚拟站点可靠性工程师。它可以通过学习日志、指标和追踪的正常形态来自动检测事件,也可以从任何可以 POST webhook 的工具接收警报。

核心能力

  • AI SRE 代理 – 监视配置的日志源,对相似行进行聚类,构建“已知”模式目录,并且仅在出现全新模式时触发事件。三种操作模式让您可以训练模型、预览警报(影子)或上线(检测)。
  • DevOps 聊天 UI – Web 仪表板包含类似聊天的视图,代理在其中总结异常、建议严重性和后续步骤。
  • Kubernetes 集成 – 集群健康、工作负载、Helm 发布和 GitOps 状态的单窗格视图。
  • 多渠道通知 – 事件使用模板(Go 模板)并分发到 Slack、Teams、Telegram、Viber、Email、Lark 等。
  • 值班集成 – 可选的 PagerDuty 或 AWS Incident Manager 挂钩,具有可配置的升级延迟。
  • Webhook 接收 – 任何可以 POST JSON 的系统(Alertmanager、Grafana、Sentry、CloudWatch、FluentBit、自定义脚本)都可以将事件输入到同一管道中。

如何运行

  1. 启动容器(镜像发布在 GitHub Container Registry 上)。您需要一个 Redis 实例用于代理的光标跟踪。
  2. 提供配置 – 一个 config.yaml 用于全局设置,一个 agent_sources.yaml 用于列出日志源(文件或 Elasticsearch)。配置基于 YAML,并支持环境变量插值。
  3. 训练代理 – 使用 AGENT_MODE=training 启动。代理监视您的日志,学习模式,并将它们存储在 data/patterns.json 中。
  4. 验证 – 切换到 shadow 模式以在仪表板中查看“本会警报”条目,而无需发送真实警报。
  5. 上线 – 设置 AGENT_MODE=detect,代理将开始为真正新颖的日志行创建事件。
  6. 可选 webhook – 运行另一个实例(或同一个实例)接受 POST /api/incidents 并转发来自现有工具的通知。

配置要点

  • gateway_secret 保护所有管理端点(/api/admin/*、/api/agent/*)。
  • storage.type 目前仅支持文件后端;未来的后端已预留。
  • agent.regex 允许您使用命名正则表达式规则(例如,OOM、DB-timeout)或捕获所有内容的 default_pattern 预过滤日志。
  • 编辑规则可以在聚类前自动清除密码、令牌、IP 等。
  • 值班设置允许通过查询参数进行每请求覆盖,您可以选择 AWS Incident Manager 或 PagerDuty。

典型用例

  • 已经拥有 Prometheus/Grafana 警报但希望增加一个额外安全网来捕获未知错误模式的团队。
  • 正在迁移到微服务、日志量大且手动维护警报规则成本高昂的组织。
  • 希望使用单一 UI 查看集群健康、近期更改和事件历史的 Kubernetes 操作员。

限制 / 当前状态

  • 模式目录仅存储在本地文件系统上;没有跨多个节点的内置聚类。
  • AI 组件是基于规则的聚类系统(相似性阈值、正则表达式预过滤),而不是大型语言模型 – 它对于日志异常检测效果良好,但不提供深入的根因分析。
  • 仅完全实现了文件存储后端;Redis/数据库后端是占位符。
  • UI 和代理捆绑在同一个容器中;独立扩展它们需要自定义部署。

了解更多

  • 完整文档:https://docs.versusincident.com
  • Helm chart 和 Kubernetes 清单位于 helm/versus-incident 目录中。
  • 示例 Docker 命令和示例配置在 README 中。

Versus Incident 是一个实用的、自托管的工具,为任何 SRE 工作流带来轻量级 AI 驱动的事件检测层,同时仍然支持传统的基于 webhook 的警报和值班升级。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目