

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 按需 DevOps 任务
<a name="working-with-devops-agent-on-demand-devops-tasks"></a>

AWS DevOps Agent On Demand Tasks 是一款生成式人工智能 (AI) 驱动的对话助手，使运营团队能够使用自然语言查询其应用程序架构、分析系统运行状况和访问调查见解。您可以询问有关您的 AWS 资源、系统指标、警报状态、部署历史和事件模式的问题。聊天可根据您的实际基础设施和运营数据提供即时答案，无需在多个 AWS 控制台或监控工具之间切换。

聊天集成在 A DevOps gent Space Web 应用程序中，可根据您正在查看的页面提供上下文感知响应。该界面保留对话历史记录，使您能够继续之前的讨论，并在之前的查询基础上再接再厉。

## 任务能力
<a name="tasks-capabilities"></a>

AWS DevOps Agent On Demand Tasks 提供全面的功能来帮助您管理和了解您的基础架构：

**资源查询** — 询问代理空间中的 AWS 资源，包括 Lambda 函数、DynamoDB 表、EKS 部署、证书和基础设施配置。聊天可以根据运行时版本、容量设置或部署状态等属性筛选和分析资源。例如，问 “有多少 Lambda 在使用 Python 3.8？” 或 “我有即将过期的证书吗？”

**系统运行状况分析**-查询当前和历史系统运行状况指标，包括警报状态、错误率、CPU 利用率和服务可用性。聊天可以生成涵盖特定时间段的健康摘要，并识别系统行为的趋势。问诸如 “过去 24 小时内触发了哪些警报？” 之类的问题 或 “过去一小时内有 5xx 错误吗？”

**调查见解**-访问已完成和正在进行的调查的信息，包括根本原因分析、探讨的假设、审查的日志和解决方案模式。聊天可以识别常见的事件原因，并根据历史数据提供建议。查询 “上个月最常见的事件原因是什么？” 或 “完成调查的平均解决时间是多少？”

**调查指导**-在查看调查详情页面时，通过指示代理关注特定日志、探索特定的假设或更新根本原因分析来指导调查。提供指导输入，例如 “关注支付服务的日志并更新您的 RCA” 或 “探索 DynamoDB 限制导致问题的假设”。

**聊天对象**-生成结构化报告和文档，例如运行状况摘要、错误报告和事件分析。构件显示在专用面板中，并支持在对话中进行版本化编辑。

**文件附件**-将图像、文档和代码文件附加到您的消息中，这样 Chat 就可以根据上下文对其进行分析。例如，附上警报仪表板、YAML 配置文件或运行手册 PDF 的屏幕截图，然后询问 Chat 下一步该怎么做。有关详细信息，请参阅[发送文件附件](#sending-file-attachments)。

**建议筛选**-使用特定标准（例如与特定服务或运营问题相关的建议）查询事件预防建议。Chat 解释了每项建议的影响和实施注意事项。例如，“向我展示可以防止涉及 DynamoDB 的事件的建议” 或 “哪些建议可以帮助我更快地检测请求延迟问题？”

## 访问聊天
<a name="accessing-chat"></a>

聊天作为永久面板位于 A DevOps gent Space 网络应用程序的左侧。左侧边栏包括 “**\+ New” 聊天**按钮、用于导航到 “事件”、“改进” 和 “拓扑” 的 “**页面**” 部分，以及一个显示您最近对话的 “**聊天**” 部分。选择 “**查看全部**” 以查看您的完整对话历史记录。

Chat 会根据您的访问位置提供情境感知响应：

**拓扑** — 询问有关您的 Agent Space 资源、架构和运行状况的一般问题。聊天功能可以全面了解所有关联的账户和服务。在此上下文中，您可以查询资源配置、部署历史记录、拓扑信息和可观测性工具集成。

**事件响应**-查看事件响应页面时，询问有关代理空间中的调查趋势、解决时间和事件模式的问题。Chat 可以分析历史调查数据，找出常见原因和改进机会。

**调查详情**-在查看特定调查时，Chat 会提供有关该调查的上下文感知回复。询问已审查的日志、探讨的假设、根本原因结论和缓解计划。您还可以提供指导性输入来指导调查重点。

**预防**-在预防页面上，使用过滤器查询建议，了解提出建议的原因，并探索实施方法。聊天可帮助您确定事件预防建议的优先顺序并了解其影响。

当您在页面之间切换时，聊天界面仍然可用，但是上下文会发生变化，以提供当前视图的相关信息。当你开始新的对话时，它是在没有先前背景的情况下开始的。当您继续进行现有对话时，Chat 会保留完整的对话历史记录，供后续问题使用。

## Context-aware 回应
<a name="context-aware-responses"></a>

聊天会根据你在 A DevOps gent Space 网络应用程序中查看的页面来调整其响应。这种情境感知可确保您无需指定要询问的调查或资源范围即可获得相关信息。

查看调查详情页面时，Chat 会自动了解到您询问的是该特定调查。诸如 “你看了什么日志？” 之类的问题 或者 “你探索了哪些假设？” 请参阅当前显示的调查。当您提供指导输入时，Chat 会将其应用于正在进行的调查，并在适当的情况下创建新的根本原因版本。

在 “预防” 页面上，Chat 了解到您对事件预防建议感兴趣。查询会自动筛选和分析您的 Agent Space 上下文中的推荐。系统会识别您询问的是一般性建议还是具体的建议细节。

从 “拓扑” 页面访问 “聊天” 时，聊天可让您广泛了解座席空间中的所有资源、指标和历史数据。您可以询问任何资源、服务或运营问题，而无需指定调查或建议背景。

这种情境感知使您无需反复指定您所引用的调查、建议或资源范围，从而创建更自然的对话流程。

## 管理对话
<a name="managing-conversations"></a>

聊天保留对话历史记录，使您可以继续之前的讨论并参考之前的查询。

**创建新对话**-单击聊天面板中的 “新会话” 按钮，无需事先提供上下文即可开始新的对话。新的对话不会延续以前聊天中的信息，因此您可以毫不费力地提出不相关的问题。

**访问对话历史记录**-单击 “历史记录” 可查看代理空间中之前的所有对话。对话按时间顺序排列，带有时间戳和预览文本。对话历史记录会保留 90 天，并且对您在代理空间中的用户帐户不公开。

**继续对话**-从历史记录中选择任何对话以从上次中断的地方继续。聊天保留了之前消息的完整上下文，使您能够提出引用对话早期部分的后续问题。当您在查看对话时切换页面时，对话上下文会保留，但特定页面的上下文会根据您的当前位置进行更新。

请注意，对话历史记录在每个代理空间中是隔离的。一个座席空间中的对话不可见，也无法从其他座席空间访问。这种隔离可确保根据您的组织界限对敏感信息进行隔离。

## 生成工件
<a name="generating-artifacts"></a>

AWS DevOps 代理支持聊天构件，即代理在对话期间生成的结构化版本化文档。Artifacts 在聊天界面中提供了一个专用的交互式面板，用于查看和编辑 AI-generated 内容，例如操作报告、错误摘要和运行状况评估。

您可以从 A DevOps gent Space Web 应用程序中的任何页面请求构件。Chat 使用当前页面上下文来确定构件内容的范围。

### 工件的工作原理
<a name="how-artifacts-work"></a>

当你让 Chat 创建或更新内容时，Chat 会生成一个构件（通常是格式化的文档），并将其显示在对话旁边的构件面板中。

**生成**-发送自然语言请求以创建报告或文档。例如，询问 “为我的 Agent Space 生成每周运行状况报告” 或 “向我出示上周 4xx 错误的报告”。

**查看** — 文物出现在对话旁边的专用面板中。您可以在继续与 Chat 互动的同时查看完整内容。

**编辑**-通过 “聊天” 请求对工件进行更改。例如，询问 “添加有关 Lambda 冷启动的部分” 或 “更新报告以包含上个月的数据”。Chat 会根据您请求的更改创建工件的新版本。

## 发送文件附件
<a name="sending-file-attachments"></a>

您可以将文件附加到聊天消息中，这样 Chat 就可以将这些文件与您的问题一起阅读。使用附件分享您正在查看的内容（仪表板或警报的屏幕截图、配置文件、源代码、操作手册），并要求代理直接推理。

文件仅限于您的座席空间——它们在其他座席空间中不可见，并且访问权限受与聊天其余部分相同的 IAM 权限限制。附加文件后，会立即上传到托管代理空间存储空间。

### 如何附加文件
<a name="how-to-attach-files"></a>

您可以通过三种方式向消息中添加文件：
+ 在聊天输入工具栏中选择上传图标，然后从设备中选择一个或多个文件。
+ 将一个或多个文件拖放到聊天输入区域。
+ 直接从剪贴板粘贴图像，例如在截屏之后。

您附加的每个文件都以筹码形式出现在聊天输入中，并带有上传进度指示器。要预览文件，请选择其芯片。要删除文件，请选择芯片上的 X。当任何附加文件仍在上传时，“发送” 按钮将保持禁用状态。

### 支持的文件类型
<a name="supported-file-types"></a>

聊天接受以下三类文件：
+ **图片** — `png`、`jpeg`、`jpg`、`gif`、`webp`
+ **文档** — `pdf`、`csv`、`doc`、`docx`、`xls`、`xlsx`、`html`、`txt`、`md`
+ **文本和代码文件** — `json`、、`yaml`、`yml`、`xml`、`js`、、`ts`、`py`、`java`、`rb`、`go`、`rs`、`sh`、`bash`、、`log`、`cfg`、`ini`、`toml`

这些类别之外的文件在上传前会被拒绝。

### 限制
<a name="limits"></a>

以下限制适用于每封邮件：


| 限制 | 值 | 
| --- | --- | 
| 最大文件大小 | 3.75 MB | 
| 每封邮件的附件（任意类型组合） | 20 | 
| 其中，二进制文档（PDF、DOC、DOCX、XLS、XLSX） | 最多 5 | 

此外，您的消息文本和附件内容必须符合模型的每封邮件上下文窗口。如果消息及其附件太大，Chat 会拒绝该消息，并要求您在发送之前缩小附件的大小或数量。

### 使用案例
<a name="use-cases"></a>

在 DevOps 代理中使用文件附件的常用方法：
+ 附上警报或错误仪表板的屏幕截图，让 Chat 解释失败的原因以及下一步要去哪里。
+ 附上服务源代码，让 Chat 查看更改、提出修复建议或解释其行为。
+ 附加配置文件（例如 YAML、JSON 或 TOML 配置），并让 Chat 排除部署、警报或集成行为不端的原因。
+ 附上操作手册或事后报告 PDF，然后让 Chat 将其转换为技能 — 代理提取程序并将其保存到您的代理空间，以便未来的调查可以自动应用它。

## 查询示例
<a name="sample-queries"></a>

以下示例演示了您可以向 Chat 提问的问题类型。这些示例按用例和上下文进行组织。

### Artifact 生成查询
<a name="artifact-generation-queries"></a>

在 DevOps Agent Space 网络应用程序的任何页面上：
+ 为我的特工空间生成每周运行状况摘要
+ 创建上周所有 4xx 错误的报告
+ 生成过去 30 天的事件摘要报告
+ 创建本周支付服务的警报活动摘要
+ 生成最近 7 天的部署历史报告
+ 将所有未解决的建议汇总到一份报告中

### 资源信息查询
<a name="resource-information-queries"></a>

在 DevOps Agent Space 网络应用程序的任何页面上：
+ 有多少 Lambda 函数在使用 Python 3.8？
+ 我有即将过期的证书吗？
+ 列出所有包含按需计费的 DynamoDB 表
+ 向我展示生产中的 EKS 集群
+ 在过去 90 天内未部署哪些 Lambda 函数？
+ 列出未启用版本控制的 S3 存储桶
+ 哪些 RDS 实例正在运行数据库版本 X？

### 系统运行状况查询
<a name="system-health-queries"></a>

从 “拓扑” 或 “事件响应” 页面：
+ 过去 24 小时内触发了哪些警报？
+ 过去一小时内有 5xx 错误吗？
+ 向我展示支付服务的 Lambda 错误趋势
+ 我的 ECS 集群的 CPU 使用率是多少？
+ 我的负载均衡器中是否有不健康的目标？
+ 给我看昨天的 API Gateway 限制事件
+ 上周哪些服务的错误率最高？
+ 给我一份涵盖过去 24 小时的总体健康报告

### 可观测性工具查询
<a name="observability-tool-queries"></a>

来自拓扑：
+ 列出 Splunk 日志组
+ 向我展示 Prometheus 指标及其警报阈值
+ 为该服务配置了哪些 Datadog 监视器？
+ 列出新的 Relic 警报策略
+ 给我看 Dynatrace 仪表板配置

### 调查见解查询
<a name="investigation-insights-queries"></a>

从 “事件响应” 页面：
+ 上个月最常见的事件原因是什么？
+ 完成调查的平均解决时间是多少？
+ 总结上周的调查及其风险评估
+ 有多少事件是由于 DynamoDB 限制引起的？
+ 向我展示过去一个季度的调查趋势
+ 哪些服务发生的事件最频繁？

### 调查详情查询
<a name="investigation-detail-queries"></a>

从调查详情页面：
+ 你看了什么日志？
+ 你探讨了哪些假设？
+ 你提议的缓解措施有多危险？
+ 这起事件中发生的事件的时间表是什么？
+ 你为什么得出结论，这是根本原因？
+ 哪些证据支持您的根本原因分析？
+ 在你的调查期间，谁提供了指导？
+ 给我一份事件调查的摘要

### 调查指导查询
<a name="investigation-steering-queries"></a>

从调查详情页面：
+ 关注世界标准时间 14:00-15:00 之间的支付服务日志，并更新您的 RCA
+ 探索 DynamoDB 限流导致问题的假设
+ 检查 ECS 集群配置以查看警报是否由此引起
+ 只查看最近 2 小时的日志，而不是整天的日志
+ 调查下午 3 点的错误激增情况
+ 查看 API Gateway 日志而不是 Lambda 日志

### 预防建议查询
<a name="prevention-recommendation-queries"></a>

来自 “预防” 页面：
+ 我的三大事件预防建议是什么？
+ 向我展示可以防止涉及 DynamoDB 的事件的建议
+ 哪些建议可以帮助我更快地检测请求延迟问题？
+ 列出可以防止类似事件的可观测性改进
+ 向我展示支付服务的基础设施建议
+ 哪些建议对系统弹性的影响最大？

## 在特工空间中启用 “聊天”
<a name="enabling-chat-in-your-agent-space"></a>

聊天功能可在所有 DevOps Agent Space 网络应用程序中使用。设置过程取决于您的座席空间是新的还是现有的座席空间。

### 新特工空间
<a name="new-agent-spaces"></a>

当您创建新的代理空间时，聊天**功能会自动启用**。无需进行其他配置或 IAM 权限设置。配置 A DevOps gent Space Web 应用程序后，聊天将立即作为永久面板显示在任何页面的左侧。

### 现有代理空间
<a name="existing-agent-spaces"></a>

如果您在 Chat 发布之前创建了代理空间，则必须启用所需的 IAM 权限。你有两个选择：

**选项 1：撤销并重新启用操作员应用程序访问权限**

导航到 AWS DevOps 代理管理员控制台，找到右上角的操作下拉列表，然后禁用当前的操作员访问配置。

![“操作” 下拉菜单突出显示了包括 “禁用操作员访问权限” 在内的选项。](http://docs.aws.amazon.com/zh_cn/devopsagent/latest/userguide/images/6f3b13aeccc7.png)


然后启用自动创建选项以供操作员访问。

![操作员访问部分已选择 Auto-create 新的 AWS DevOps 代理角色选项。](http://docs.aws.amazon.com/zh_cn/devopsagent/latest/userguide/images/1446286ed5e6.png)


这将自动应用聊天所需的 IAM 权限以及所有其他当前操作员权限。

**选项 2：手动添加 IAM 权限**

将以下 IAM 权限添加到您现有的操作员访问角色中：
+ `aidevops:ListChats`— 查看聊天对话记录
+ `aidevops:CreateChat`— 创建新的聊天对话
+ `aidevops:SendMessage`— 发送消息并接收回复

导航到 AWS IAM 控制台，找到您的 DevOps 代理操作员角色，然后将这些权限添加到角色策略中。添加权限后，聊天将立即可用。

完成任一选项后，刷新您的 A DevOps gent Space Web 应用程序，聊天面板将出现在任何页面的左侧。