微软等开源AIOpsLab,可构建自主云AI Agent

专注AIGC领域的专业社区,关注微软&OpenAI、百度文心一言、讯飞星火等大语言模型(LLM)的发展和应用落地,聚焦LLM的市场研究和AIGC开发者生态,欢迎关注!

微软、加州大学伯克利分校、伊利诺伊大学等研究人员联合开源了,一个专用于云自动化运维的AI Agents——AIOpsLab。

AIOpsLab能模拟真实云服务环境中的复杂操作任务,实现故障的自动化检测、定位和解决问题。还具备高度的可观测性,能够收集和分析关键的遥测数据,确保对系统状态和应用环境的深入洞察。

同时支持人类、数字和AI Agents的不同类型的协作模式,并通过模块化设计易于扩展新应用程序、工作负载和故障场景。

开源地址:https://github.com/microsoft/AIOpsLab/?tab=readme-ov-file

AIOpsLab的架构一共包含五个关键部分,协调器、服务、工作负载生成器、故障生成器以及可观测性。

协调器的主要任务是与智能体建立会话,共享有关基准测试问题的信息,包括问题描述、响应格式指南以及智能体可以调用的API。这些API是一组文档化的工具,例如获取日志、获取指标和执行shell命令,它们被设计来帮助智能体解决任务。

协调器对智能体的实现没有任何限制,提出问题并轮询智能体以获取基于先前结果要执行的下一个动作。每个动作都必须是有效的API调用,协调器会验证并执行这些调用。

此外,协调器拥有对部署的特权访问权,可以代表智能体采取任意行动,例如扩展、重新部署等,以解决智能体面临的问题。最后,协调器还负责调用工作负载和故障生成器,以创建服务中断,这些中断作为实时基准测试问题,为智能体提供了实际操作的环境。

服务模块可以帮助AIOpsLab适应不同的真实云服务环境,包括微服务、无服务器和单体服务等。AIOpsLab还利用开源应用套件DeathStarBench提供了源代码、提交历史和运行时遥测,使得研究人员能够在一个受控的环境中复现和研究生产事件。通过添加Blueprint这样的工具,AIOpsLab可以扩展到其他学术和生产服务,并无缝部署这些服务的新变体。

工作负载生成器在AIOpsLab中扮演着重要角色,主要负责创建正常和故障场景的模拟,以测试代理在不同条件下的性能。工作负载生成器根据协调器的规范接收任务,例如任务、期望效果、规模和持续时间,并利用基于真实生产痕迹训练的模型生成符合这些规范的工作负载。

在故障场景中,工作负载生成器可以模拟资源耗尽、利用边缘情况或触发级联故障等条件,这些都是受到真实事件启发的。正常场景则模仿典型的生产模式,例如,日常活动周期和多用户交互。

当不同的特征例如,服务调用、用户分布、到达时间可能导致期望效果时,多个工作负载可以存储在问题缓存中供协调器使用。

故障生成器是AIOpsLab的一个创新功能,主要用于跨各种通用云场景。包括细粒度的故障注入,能够模拟由生产事件启发的复杂故障全流程展示。故障注入器还可以在不同系统级别注入故障,暴露根本原因,同时保持语义完整性,并考虑云微服务之间的相互依赖性,使用户能够对AIOps能力进行全面的测试和评估。

可观测性则可以提升AIOpsLab的全面监控能力,包括Jaeger的追踪、Filebeat和Logstash格式化记录的应用日志,以及Prometheus监控的系统指标。AIOpsLab还捕获了较低级别的系统信息,如系统调用日志和集群信息。为了处理潜在的数据过载问题,AIOpsLab通过API允许用户选择他们需要的特定信息,确保量身定制和全面的可观测性。

(文:AIGC开放社区)

欢迎分享

发表评论