当前位置: 首页 > news >正文

OpenSRE:开源框架集成 40 多种工具,助力 AI SRE 智能体应对生产事件

OpenSRE:开源框架打造 AI SRE 智能体,集成 40 多种工具助力生产事件响应

OpenSRE 是一个用于 AI SRE 智能体的开源框架,同时也提供了提升智能体性能所需的训练和评估环境。你可以将现有的 60 多种工具连接起来,定义自己的工作流程,并在自有基础设施上开展事件调查。

[快速开始](链接待补充) · [文档](链接待补充) · [常见问题解答](链接待补充) · [安全说明](链接待补充)

🚧 公开测试版:核心工作流程已可用于早期探索,但尚未完全稳定。项目正在积极开发中,API 和集成方式可能会有所变化。

为何选 OpenSRE?

生产环境故障时,相关证据分散在日志、指标、追踪数据、操作手册和 Slack 线程中。OpenSRE 作为解决生产事件的 AI SRE 智能体开源框架,能在你自己的基础设施上运行。此前,SWE - bench1 为编码智能体提供了可扩展训练数据和明确反馈,但生产事件响应领域缺类似资源。分布式故障比本地代码任务难处理,处理速度慢、干扰因素多,且难模拟和评估,这也是 AI SRE 及更广泛的生产调试 AI 未有效解决的原因。OpenSRE 正在构建缺失的一层:用于智能基础设施事件响应的开放式强化学习环境,具备端到端测试和针对实际生产故障的合成事件模拟功能。

通过以下方式实现目标:

  • 构建易部署、可定制的 AI SRE 智能体,用于生产事件调查和响应。
  • 运行带评分的合成根本原因分析(RCA)套件,检查根本原因准确性、所需证据以及对抗性干扰因素(测试/合成)。
  • 在包括 Kubernetes、EC2、CloudWatch、Lambda、ECS Fargate 和 Flink 等云场景中运行真实的端到端测试(测试/端到端)。
  • 采用语义化的测试目录命名方式,使端到端测试与合成测试、本地测试与云测试的边界清晰可见(测试/README.md)。

使命是在此基础上构建 AI SRE 智能体,扩展到数千种实际的基础设施故障场景,将 OpenSRE 打造成 AI SRE 的基准和训练平台。[1](https://arxiv.org/abs/2310.06770)

安装

curl -fsSL https://raw.githubusercontent.com/Tracer - Cloud/opensre/main/install.sh | bash
brew install Tracer-Cloud/opensre/opensre
irm https://raw.githubusercontent.com/Tracer-Cloud/opensre/main/install.ps1 | iex

快速开始

opensre onboard
opensre investigate -i tests/e2e/kubernetes/fixtures/datadog_k8s_alert.json
opensre update

Railway 部署

运行 `opensre deploy railway` 前,要确保目标 Railway 项目有 Postgres 和 Redis 服务,并将 OpenSRE 服务的 `DATABASE_URI` 和 `REDIS_URI` 设置为相应连接字符串。没有这些后端服务,容器化的 LangGraph 运行时无法启动。

# 先创建/链接 Railway 的 Postgres 和 Redis,然后设置 DATABASE_URI 和 REDIS_URI
opensre deploy railway --project <project> --service <service> --yes

若部署启动但服务无法正常运行,需验证 Railway 服务中是否有 `DATABASE_URI` 和 `REDIS_URI`,并确保它们指向项目的 Postgres 和 Redis 实例。

远程托管操作

部署托管服务后,可通过命令行界面执行部署后操作:

# 检查服务状态、URL 和部署元数据
opensre remote ops --provider railway --project <project> --service <service> status
# 查看最近的日志
opensre remote ops --provider railway --project <project> --service <service> logs --lines 200
# 实时流式查看日志
opensre remote ops --provider railway --project <project> --service <service> logs --follow
# 触发重启/重新部署
opensre remote ops --provider railway --project <project> --service <service> restart --yes

OpenSRE 会保存你上次使用的提供商、项目和服务信息,所以可直接运行以下命令:

opensre remote ops status
opensre remote ops logs --follow

开发

若你是 OpenSRE 新手,可参考 `SETUP.md` 获取详细的特定平台设置说明,包括 Windows 系统设置、环境配置等内容。

git clone https://github.com/Tracer-Cloud/opensre
cd opensre
make install
# 运行 opensre onboard 配置本地大语言模型(LLM)提供商
# 并可选择验证/保存 Grafana、Datadog、Honeycomb、Coralogix、Slack、AWS、GitHub MCP 和 Sentry 集成
opensre onboard
opensre investigate -i tests/e2e/kubernetes/fixtures/datadog_k8s_alert.json

OpenSRE 工作原理

调查工作流程

警报触发时,OpenSRE 自动执行以下操作:

  • 获取警报上下文以及相关的日志、指标和追踪数据。
  • 在你连接的系统中进行推理,识别异常情况。
  • 生成包含可能根本原因的结构化调查报表。
  • 建议下一步操作,并可选择执行修复措施。
  • 直接将摘要发布到 Slack 或 PagerDuty,无需切换上下文。
基准测试
make benchmark

功能特性

  • 🔍 结构化事件调查:对所有信号进行关联根本原因分析。
  • 📋 支持操作手册推理:OpenSRE 会读取你的操作手册并自动应用。
  • 🔮 预测性故障检测:在问题影响到你之前发现潜在问题。
  • 🔗 基于证据的根本原因:每个结论都与背后的数据关联。
  • 🤖 全 LLM 灵活性:可使用你自己的模型,如 Anthropic、OpenAI、Ollama、Gemini、OpenRouter、NVIDIA NIM。

集成

OpenSRE 可连接现代云栈中的 40 多种工具和服务,涵盖 LLM 提供商、可观测性平台、基础设施、数据库和事件管理等领域。

类别集成项
AI / LLM 提供商Anthropic、OpenAI、Ollama、Google Gemini、OpenRouter、NVIDIA NIM、Bedrock
可观测性Grafana(Loki、Mimir、Tempo)、Datadog、Honeycomb、Coralogix、CloudWatch、Sentry、Elasticsearch、Splunk、New Relic、Victoria Logs
基础设施Kubernetes、AWS(S3、Lambda、EKS、EC2、Bedrock)、GCP、Azure、Helm、ArgoCD
数据库MongoDB、ClickHouse、PostgreSQL、MySQL、MariaDB、MongoDB Atlas、Azure SQL、RDS、Snowflake
数据平台Apache Airflow、Apache Kafka、Apache Spark、Prefect、RabbitMQ
开发工具GitHub、GitHub MCP、Bitbucket、GitLab
事件管理PagerDuty、Opsgenie、Jira、ServiceNow、incident.io、Alertmanager、Linear、Trello
通信工具Slack、Google Docs、Discord、Teams、WhatsApp、Confluence、Notion
智能体部署Vercel、LangSmith、EC2、ECS、Railway
协议MCP、ACP、OpenClaw

贡献

OpenSRE 由社区共同构建。每一次集成、改进和 bug 修复都将使数千名工程师受益。积极审查拉取请求(PR),欢迎各经验水平的贡献者参与。标记为 `good first issue` 的任务适合新手。

贡献方式如下:

  • 🐛 报告 bug 或未覆盖的边缘情况。
  • 🔌 添加新的工具集成。
  • 📖 改进文档或操作手册示例。
  • ⭐ 给仓库加星,帮助其他工程师发现 OpenSRE。

完整指南请参考 `CONTRIBUTING.md`。感谢以下贡献者:davincios、VaibhavUpreti、aliya - tracer、arnetracer、kylie - tracer、paultracer、zeel2104、iamkalio、w3joe、yeoreums、anandgupta1202、rrajan94、vrk7、cerencamkiran、edgarmb14、lukegimza、ebrahim - sameh、shoaib050326、venturevd、shriyashsoni、Devesh36、KindaJayant、overcastbulb、Yashkapure06、Davda - James、Abhinnavverma、devankitjuneja、ramandagar、mvanhorn、abhishek - marathe04、yashksaini - coder、haliaeetusvocifer、Bahtya、mayankbharati - ops、harshareddy832、sundaram2021、micheal000010000 - hub、ljivesh、gautamjain1503、mudittt、hamzzaaamalik、octo - patch、fuleinist、yas789、aniruddhaadak80

安全

OpenSRE 在设计时充分考虑了生产环境的需求:

  • 调查会话结束后,不存储原始日志数据。
  • 所有 LLM 调用使用结构化、可审计的提示。
  • 日志转录数据本地保存,默认情况下不会外部传输。

有关负责任披露的详细信息,请参阅 `SECURITY.md`。

遥测

OpenSRE 使用 Posthog 收集匿名使用统计数据,以帮助了解项目的采用情况,并向资助项目的赞助商和投资者展示项目的发展态势。收集的信息包括:命令名称、执行结果(成功/失败)、大致运行时间、CLI 版本、Python 版本、操作系统类型、机器架构,以及少量特定命令的元数据,如运行的子命令。对于 `opensre onboard` 和 `opensre investigate` 命令,可能还会收集所选模型/提供商以及命令是否使用了 `--interactive` 或 `--input` 等标志。首次运行时会生成一个随机的匿名 ID,并存储在 `~/.config/opensre/` 中。绝不会收集警报内容、文件内容、主机名、凭证或任何个人身份信息。

在 GitHub Actions 和 pytest 运行中,遥测功能会自动禁用。若要在本地禁用遥测功能,请在运行前设置环境变量:

export OPENSRE_NO_TELEMETRY=1

旧的别名 `OPENSRE_ANALYTICS_DISABLED=1` 仍然有效。若要在本地查看遥测数据负载而不发送任何内容,请使用:

export OPENSRE_TELEMETRY_DEBUG=1

许可证

采用 Apache 2.0 许可证,详情请参阅 `LICENSE`。

引用

[1](https://arxiv.org/abs/2310.06770) 相关论文链接。

http://www.jsqmd.com/news/661935/

相关文章:

  • QuickRecorder:免费macOS录屏神器的终极完整指南
  • 告别RTOS:用时间片轮询在裸机上实现“伪多任务”
  • 2026年当下温州梦幻婚礼酒店测评:瑞锦大酒店一站式服务深度解析 - 2026年企业推荐榜
  • 【限时解禁】SITS2026白皮书技术附录首曝:7类AGI基准测试用例、37项性能指标定义及实测误差边界
  • 一文搞懂BBU:从原理到运维的实战指南
  • SQL优化SQL关联查询中的排序字段_减少临时空间占用与内存开销
  • 浏览器音乐解锁神器:3分钟搞定所有加密音乐格式
  • AGI透明度革命(2024全球仅7家机构验证通过的XAI评估协议)
  • 暗黑破坏神2存档编辑器:5步轻松修改角色属性和物品的终极指南
  • 5G NR上行控制信息复用:PUSCH信道上的UCI资源映射实战解析
  • 【2026年最新600套毕设项目分享】网络小说微信小程序(30095)
  • 宏基AS6530笔记本时序解析:从G3到S0的硬件启动密码
  • 避开C++位运算的坑:我用bitset重构PRESENT加密算法的密钥扩展与P置换
  • STM32CubeIDE实战:用HAL库搞定DS18B20和DHT11温湿度采集(附完整工程)
  • 深入对比Vivado FFT IP核的流水线与Burst IO架构:如何根据你的采样率做选择?
  • 体系结构论文(115,上):Characterizing Mobile SoC for Accelerating Heterogeneous LLM Inference
  • C#怎么实现CefSharp嵌入浏览器 C#如何用CefSharp在WinForms中嵌入Chrome浏览器内核【工具】
  • Java JDBC 封装:从原生写法到工具类封装 + 增删改查
  • 如何快速掌握免费开源动画工具:MTB Nodes终极指南
  • 2026年天津遗产继承律所权威测评!千案经验+透明收费,破解继承纠纷难题 - 速递信息
  • G-Helper终极指南:如何快速解决华硕ROG笔记本性能与显示问题
  • 别再傻傻地手动算时间了!C++11 std::chrono::duration_cast 保姆级使用指南(附完整代码)
  • 3分钟掌握ChampR:英雄联盟电竞助手的终极配置方案
  • C++枚举类型最佳实践
  • SAP ECC6 EC-CS 标准报表项目(FS Item)× SAP 标准总账科目对照版
  • 2026年植草砖及PC砖厂家推荐:透水PC砖/导水槽/护坡砖/路面砖专业供应商选型指南 - 品牌推荐官
  • SITS2026现场直击:AGI如何在37分钟内重构量子化学模拟流程(附可复现代码路径)
  • 如何高效获取B站完整评论数据:BilibiliCommentScraper终极指南
  • Vivado综合实战:从代码风格到资源映射,精准控制BRAM与LUTRAM
  • 电商价格系统怎么设计?一次讲清一口价、活动价、券后价、价格快照与改价留痕