IT运维团队当前面临双重挑战:既要保证关键系统的稳定运行,又要处理终端用户提交的大量事件。由于人工管理事件依赖于重复性操作、人为判断和潜在的沟通障碍,所以这一方式既耗时又容易出错。而使用生成式AI应用进行IT运维管理,则为IT运维团队提供了一种变革性解决方案,能够自动完成事件检测、诊断和修复工作,从而提高运维效率。
人工智能运维(AIOps)是指利用人工智能与机器学习技术来自动化和提升IT运维水平。AIOps通过实时自动检测、诊断和解决事件,帮助IT团队管理和监控大规模系统。它整合日志、指标和事件等各种来源的数据,来分析系统行为、识别异常,并建议或执行自动化的修复操作。通过减少人工干预,AIOps提高了运维效率,加快了事件解决速度,并最大限度地减少了停机时间。
本文将介绍一个全面的AIOps解决方案,该方案结合了Amazon Bedrock、Amazon Lambda和Amazon CloudWatch等多种亚马逊云科技服务,以创建用于高效事件管理的AI助手。同时该解决方案还利用了Amazon Bedrock知识库和Amazon Bedrock Agents。通过Amazon Bedrock的强大功能,该解决方案能够部署用于监控IT系统、分析日志和指标以及调用自动修复流程的智能Agents。
Amazon Bedrock是一项完全托管服务,可通过单一API提供来自领先AI初创公司和亚马逊云科技的基础模型(FM),让您可以从众多FM中选出最适合您用例的模型。借助Amazon Bedrock serverless体验,您可以快速上手,使用自有数据定制私有FM,并利用亚马逊云科技工具将其集成和部署到应用程序中,而无需管理基础设施。
Amazon Bedrock知识库是一项完全托管功能,具备内置的会话上下文管理和来源归因功能,可帮助您无需构建与数据源的自定义集成并管理数据流,即可实现从数据摄取到检索和提示增强的整个检索增强生成(RAG)工作流。
Amazon Bedrock Agents是一种完全托管功能,可让开发者轻松创建基于生成式AI的应用程序,可应用于各种用例完成复杂任务,并根据专有知识源提供最新答案。
生成式AI正在迅速改变企业格局,为各行各业解锁新的可能性。本文将重点介绍大语言模型(LLM)所带来的变革性影响。生成式AI能够编码人类专业知识并用自然语言进行交流,从而助力提升人类能力,使企业能够大规模地利用知识。
IT运维中使用运行手册面临的挑战
运行手册是详细的分步指南,概述了完成特定操作(通常是在IT和系统管理领域)所需的流程、程序和任务,通常用于记录重复性任务、故障排查步骤和日常维护工作。通过标准化问题应对流程以及确保任务执行的一致性,运行手册有助于团队提高运维效率、简化工作流程。大多数企业都依靠运行手册来简化复杂流程,使团队能够轻松处理日常操作并有效应对系统问题。
但对于企业而言,管理数百个运行手册、监控其状态、跟踪故障和设置适当警报,可能极具挑战性,给IT团队带来了显著难题,特别是当存在多个针对不同流程的运行手册时,管理它们之间的依赖关系和运行顺序会更加复杂繁琐。如何妥善处理故障情况,并确保一切均按照正确顺序运行,成为一大挑战。
以下是大多数企业通过人工进行IT运维中面临的一些挑战:
通过运行日志和指标进行人工诊断。
运行手册的依赖关系和顺序映射。
缺乏自动修复流程。
无法实时查看运行手册的执行进度。
解决方案概览
Amazon Bedrock是该解决方案的基础,它使智能Agents能够监控IT系统、分析数据以及自动修复。该解决方案提供了用于部署该解决方案的Amazon CDK示例代码。AIOps解决方案利用Amazon Bedrock Agents提供AI助手,以协助实现运维自动化和运行手册的执行。
以下架构图说明了该解决方案的整体流程。
该Agent使用Amazon Bedrock上提供的Anthropic的Claude LLM作为FM之一,来分析事件详情,并从知识库(包含运行手册和最佳实践的精选集合)中检索相关信息。这使得Agent具备了业务特定的上下文信息,从而确保响应准确无误,并以Amazon Bedrock知识库中的数据为依据。基于分析结果,Agent可动态生成针对特定事件的运行手册,并调用适当的补救措施,如创建快照、重启实例、扩展资源或运行自定义工作流。
Amazon Bedrock知识库创建了Amazon OpenSearch Serverless向量搜索集合,用于存储和索引事件数据、运行手册和运行日志,从而高效搜索和检索信息。采用Lambda函数来执行发送通知、调用API或触发自动工作流等特定操作。该解决方案还与Amazon SES集成,以便及时向利益相关者发送通知。
该解决方案的工作流程包括以下步骤。
将各种格式(如Word文档、PDF或文本文件)的现有运行手册上传到Amazon S3。
Amazon Bedrock知识库使用选定的嵌入模型将这些文档转换为向量嵌入,嵌入模型将作为知识库设置的一部分进行配置。
向量嵌入存储在Amazon OpenSearch Serverless中,以便高效检索,其同样在知识库设置期间进行配置的。
然后为处理不同用例设置Agent和操作组,并配置所需的API和提示。
OpenAPI规范定义了需要调用的API及其输入参数和预期输出,使Amazon Bedrock Agents能够做出明智决策。
当收到用户提示时,Amazon Bedrock Agents会使用RAG、操作组和OpenAPI规范,来确定适当的API调用。如需更多详细信息,Amazon Bedrock Agents会提示用户提供更多信息。
Amazon Bedrock Agents可根据需要迭代并调用多个函数,直到任务成功完成。
准备条件
要实施此AIOps解决方案,您需要拥有一个有效的亚马逊云科技账户与Amazon CDK,以及以下亚马逊云科技服务的基本知识:
Amazon Bedrock
Amazon CloudWatch
Amazon Lambda
Amazon OpenSearch Serverless
Amazon SES
Amazon S3
此外,您还需要配置所需的基础设施组件,如Amazon EC2实例、Amazon EBS卷,以及根据您的IT运维环境特定需求配置的其他资源。
使用Amazon OpenSearch Serverless
建立RAG管道
该解决方案使用RAG管道从操作运行手册中查找相关内容和最佳实践,以生成响应。RAG方法有助于确保Agent生成的响应基于事实文档,从而避免产生幻觉。知识库中的相关匹配项将为Anthropic的Claude 3 Haiku模型提供指导,使其专注于相关信息。RAG流程由Amazo Bedrock知识库提供支持,该知识库存储了Amazon Bedrock Agents可访问和使用的信息。本例知识库包含企业现有的运行手册,其中提供了解决亚马逊云科技资源上不同运维问题的分步程序。
该管道包括以下关键任务。
将文档摄入到Amazon S3存储桶中。首先需将现有的运行手册摄入到Amazon S3存储桶中,以便在Amazon OpenSearch Serverless的帮助下创建可搜索索引。
使用Amazon CloudWatch监控基础设施健康状况。使用Amazon Bedrock操作组调用Lambda函数,从亚马逊云科技账户获取Amazon EC2实例的Amazon CloudWatch指标和警报。然后将这些特定检查结果作为Anthropic的Claude 3 Haiku模型的输入,以形成账户的健康状况概览。
配置Amazon Bedrock Agents
Amazon Bedrock Agents通过从Amazon Bedrock知识库中获取正确信息来增强用户请求,从而生成准确的响应。本例知识库包含企业现有的运行手册,其中提供了解决亚马逊云科技资源上不同运维问题的分步程序。
通过配置适当的操作组并向知识库填充相关数据,您可以定制Amazon Bedrock Agents,以协助完成特定任务或领域的工作,并在其预期范围内提供准确且有用的响应。
Amazon Bedrock Agents通过API调用和其他外部交互,使Anthropic的Claude 3 Haiku能够使用各种工具,克服LLM的知识截断和虚构内容等局限性,从而提高任务完成度。
该Agent的工作流程是使用API检查资源警报,如果发现警报,则获取并执行相关运行手册的步骤,例如创建快照、重启实例和发送电子邮件。
整个系统能够自动检测和修复亚马逊云科技上的运维问题,同时通过运行手册方法确保所有操作都遵循记录在案的程序。
要使用Amazon Bedrock Agents设置此解决方案,请参考提供以下资源的GitHub代码库。部署代码时,请务必验证Amazon IAM权限并遵循Amazon IAM最佳实践,建议您对Amazon IAM策略应用最小权限原则。
Amazon S3存储桶
Amazon Bedrock Agent
操作组
Amazon Bedrock Agent IAM角色
Amazon Bedrock Agent操作组
Amazon Lambda功能
Amazon Lambda服务策略权限
Amazon Lambda IAM角色
GitHub代码库:
https://github.com/aws-samples/improving-it-operations-efficiency-with-aiops
Amazon IAM:
https://aws.amazon.com/iam/
Amazon IAM最佳实践:
https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
最小权限原则:
https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege
解决方案优势
借助该解决方案,企业可以实现运维自动化,从而节省大量时间,并且与手动执行相比更不易出错。除此之外,该解决方案还提供以下优势。
减少人工干预:通过自动化执行事件检测、诊断和修复,有助于最大限度地减少人工干预,降低人工流程经常出现的错误、延迟和不一致的可能性。
提高运维效率:该解决方案使用生成式AI,可加快事件解决速度,优化运维工作流程。运行手册执行、资源监控和修复等任务的自动化可让IT团队专注于更具战略性的计划。
可扩展性:随着企业发展,人工管理IT运维变得愈发复杂。使用生成式AI实现运维自动化可随业务发展而扩展,管理更多的事件、运行手册和基础设施,而无需按比例增加人员。
清理
为避免产生不必要的费用,建议您在不使用本解决方案时删除实施过程中创建的资源。您可以通过删除作为解决方案一部分部署的Amazon CloudFormation堆栈,以及在亚马逊云科技管理控制台或者使用Amazon CLI手动删除资源。
总结
本文介绍的AIOps流程可帮助IT运维团队简化事件管理流程、减少人工干预并提高运维效率。借助亚马逊云科技服务的强大功能,企业可以实现事件检测、诊断和修复的自动化,从而加快事件解决速度,并最大限度地减少停机时间。
通过集成Amazon Bedrock、Amazon Bedrock上的Anthropic的Claude模型、Amazon Bedrock Agents、Amazon Bedrock知识库以及其他支持服务,该解决方案提供了对事件的实时可见性、自动化的运行手册生成和动态修复操作。此外,该解决方案还为AI Agents与人工操作员之间提供及时通知与无缝协作,从而为IT运维提供更主动更高效的方法。
生成式AI正在迅速改变企业轻松利用云技术的方式,这一基于Amazon Bedrock的解决方案,则展示了生成式AI模型在增强人类能力方面的巨大潜力。通过为开发者提供基于亚马逊云科技最佳实践的专家指导,该AI助手使DevOps团队能够跨亚马逊云科技账户审查和优化云架构。
本篇作者
Upendra V
亚马逊云科技高级解决方案架构师,专注于生成式AI和云解决方案。他帮助企业客户设计和部署生产级的生成式AI工作负载,实施大语言模型(LLM)和Agentic AI系统,并优化云部署。凭借在云应用和机器学习方面的专业知识,他助力企业高效构建和扩展AI驱动的应用程序。
Deepak Dixit
亚马逊云科技解决方案架构师,专注于生成式AI和云解决方案。他帮助企业构建可扩展的人工智能与机器学习工作负载架构,实施大语言模型(LLM)并优化云原生应用程序。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!