站点可靠性工程(SRE)侧重于通过自动化和主动管理创建可靠、可缩放的系统。 Azure SRE 代理通过向应用环境提供 AI 支持的监视、故障排除和修正功能,将这些原则引入 Azure 托管应用程序。 代理可自动执行日常作任务,并提供推理见解来帮助维护应用程序可靠性,同时减少手动干预。 作为聊天界面提供,可以提出问题并提供自然语言命令来维护应用程序和服务。 为了确保准确性和控制,代表你执行的任何代理作都需要你的批准。
代理有权访问与代理关联的资源组中的每个资源。 因此,代理:
持续评估资源活动并监视活动资源
发送有关不正常或不稳定应用的主动通知
提供用于发出命令的自然语言界面
SRE 代理还与 PagerDuty 集成以支持高级通知解决方案。
注释
SRE 代理功能处于有限预览状态。 若要注册访问权限,请填写 SRE 代理应用程序。
通过使用 SRE 代理,你同意 特定于产品的 Azure 预览版补充使用条款。
主要功能
SRE 代理提供几个关键功能,可增强 Azure 资源的可靠性和性能:
主动监视:持续 24x7 资源监视,并实时警报潜在问题和每日资源报告。
自动缓解: 自动检测和缓解常见问题,减少停机时间并提高资源运行状况。 当代理尝试代表你工作时,所有自动化都需要你的批准。
基础结构最佳做法:识别不遵循安全最佳做法的资源并进行修正,同时协助完成更新。
自动执行事件响应: 使用初始分析自动响应 Azure Monitor 警报或 PagerDuty 事件。
加速根本原因分析: 通过分析指标和日志并建议缓解来诊断应用问题的根本原因。
资源可视化:资源依赖项和健康状况的全面视图。
SRE 代理可用于主动监视和维护 Azure 服务。 代理每天创建每日资源报告,以便深入了解应用程序的运行状况和状态。
这些报告包括:
事件摘要: 生成有关 SRE 代理在前一天引发的事件的信息。 类别包括:活动、缓解或已解决。
应用程序组性能和运行状况: 每个应用程序组用于评估系统稳定性和性能的关键指标。 指标包括:可用性、CPU 使用率和内存使用情况。
作摘要: 有关 Azure 资源的运行状况和维护的重要详细信息和见解的摘要。
情境
情景 | 可能的原因 | 代理缓解措施 |
---|---|---|
应用程序故障 | ▪ 应用程序代码问题:应用程序代码中的 Bug 或错误可能导致崩溃或无响应。 ▪ 错误部署:配置不正确或部署失败可能会导致应用程序关闭。 ▪ CPU、内存或线程使用率高的问题:由于 CPU、内存或线程使用率高而导致的资源耗尽可能会影响应用程序性能。 |
SRE代理可以检测这些问题并提供可操作的见解或解决方案。 例如,它可以识别与最近的槽位交换相吻合的 Web 应用可用性的下降,并建议换回槽位作为缓解措施的第一步。 |
虚拟机 RDP 问题 | ▪ NSG 规则:NIC 或子网上配置错误的 NSG 规则可能会阻止 RDP 访问。 | SRE 代理可以检测阻止 RDP 访问的 NSG 规则配置错误。 代理还可以应用正确的 NSG 规则来还原访问权限。 |
容器映像拉取失败 | ▪ 映像可用性:请求的映像可能不可用或可能缺失。 ▪ 网络连接:网络问题可能会中断到容器应用的连接。 ▪ 注册表连接问题:连接到容器注册表时出现问题可能会阻止映像拉取。 |
SRE 代理可以检测容器映像拉取失败并提供详细的诊断。 它可以建议解决方案,例如回滚到最后一个已知的正常修订并更新映像引用。 |
代理可以提供有关应用和资源的不同方面的详细信息。 以下示例展示了您可以向您的代理提出的问题类型:
- 你能帮我什么?
- 为什么我的应用程序无法正常工作?
- 我的资源连接到哪些服务?
- 是否可以为我的资源提供最佳做法?
- 应用的 CPU 和内存利用率是多少?
预览版访问权限
对 SRE 代理的访问权限仅可用作有限预览版。 若要注册访问权限,请填写 SRE 代理应用程序。
常见问题
什么是 Azure SRE 代理,可以做什么,以及其预期用途是什么?
Azure SRE 代理是一个系统,旨在帮助站点可靠性工程师(SRE)管理其 Azure 资源。 代理执行监视、诊断和缓解问题等任务。
系统接收您关于它管理的资源、特定资源的运行状况或状态以及这些资源的任何问题的输入。
代理的输出包括:
- 有关资源的信息
- 问题的缓解和解决方案
- 最佳做法建议
- 解决问题或实施最佳做法的操作(需获得用户批准)
Azure SRE 代理提供的功能可帮助 SRE 管理 Azure 资源。 代理监视系统指标和日志,以尽早检测问题、诊断问题的根本原因,并实施修复和预防措施,以避免将来发生事件。 代理可以处理的任务示例包括:
- 诊断和排查“应用程序故障”的情况
- 获取资源可用性信息
- 确保 Azure 资源遵循最佳做法。
代理在获得相应的审批与权限后代表用户执行操作,确保人类始终掌握控制权。
SRE 代理的预期用途是帮助你监视、诊断问题和维护 Azure 资源。 代理旨在通过处理诸如以下任务来提高软件系统的可靠性和效率:
- 读取客户资源指标和日志
- 提供缓解措施或建议
- 在获得正确的审批和权限后,代替客户执行操作。
该工具旨在通过自动化常规任务并提供洞察和建议,来减少 SRE 工程师的繁琐工作,以及提高系统的可靠性。
如何评估 SRE 代理? 哪些指标用于度量性能?
SRE 代理通过各种评估活动进行评估,包括用户验证、度量和缓解措施。 用于衡量性能的指标包括诊断的准确性、缓解的有效性以及有关代理建议的用户反馈。
评估过程涉及在不同方案中测试代理的功能,例如应用可用性和事件响应,以确保其可靠性和有效性。 结果在不属于初始评估的用例中可通用化。 代理的设计使它能够适应不同的情况并提供一致的性能。
SRE 代理的限制是什么? 如何减小 SRE 代理限制的影响?
SRE代理的已知限制包括它依赖用户批准来执行操作,这可能会在关键情况下降低响应速度。 此外,代理可能无法解决所有问题,或者由于知识库中的限制而生成不准确的建议。
你可以通过提供详细的准确输入、定期更新代理的配置并密切监视其作来最大程度地减少这些限制的影响。 确保人工 SRE 评审并验证代理的建议也有助于缓解潜在的错误。
哪些作因素和设置允许有效和负责任的使用 SRE 代理?
进行有效且负责任的使用 SRE 代理需要配置系统来管理相应的资源,并设置权限和审批流程。 确保代理在定义的参数内运行,并定期查看其作有助于维护可靠性和安全性。
如何提供反馈?
Azure SRE 代理的当前反馈系统包括大拇指和向下拇指按钮,可让你对代理响应的质量进行评分。
选择竖起大拇指或向下拇指按钮时,同一视图中会显示一个小弹出窗口,其中包含用于自由格式文本反馈的文本框。 可以在此处输入提交批注,以帮助开发确定改进领域。