您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
逐步了解一个示例场景,该场景演示了如何排查 API 的 5xx 问题。
| # | 步骤 | 说明 |
|---|---|---|
| 1 | 监控近期 API 流量 | 查看过去一小时内有流量的所有 API 代理和目标的近期 API 监控数据。深入了解错误率较高的 API 代理或目标。 |
| 2 | 确定 API 监控数据中的趋势 | 访问过去 3 个月内的 API 监控数据的历史记录视图,以获得更广阔的视角。 |
| 3 | 调查 5xx 问题 | 查看随时间推移相对量最高的故障代码,以进一步调查 5xx 问题的来源。(通常,可以使用一个或多个故障代码对 5xx 状态代码进行分类。) |
| 4 | 设置 5xx 提醒 | 设置提醒,以便在 5xx 状态代码的数量超过特定阈值时收到通知。 |
| 5 | 生成包含客户端详细信息的自定义报告(可选) | (可选)生成自定义报告,以识别触发 5xx 错误的客户端的详细信息。 注意:您必须是组织管理员 才能生成自定义报告。 |
| 6 | 将 API 代理分组到集合中 | 创建一个集合,将 API 代理分组,并为该组的所有成员设置适当的提醒阈值,以便更快地诊断问题。
|
| 7 | 解决 5xx 问题 | 根据您的调查和诊断,采取适当的措施来解决 5xx 问题。 |
第 1 步:监控近期 API 流量
如需查看过去一小时内有流量的 API 代理和目标的 API 监控数据,请执行以下操作:
- 在 Edge 界面中,依次选择分析 > API 监控 > 近期 ,以访问“近期”信息中心。
注意过去一小时内错误率较高的 API 代理和目标。
点击错误率较高的 API 代理或目标,以在右侧窗格中查看详细信息。请注意,在此示例中,5xx 错误 的百分比很高。

如需详细了解此步骤,请参阅监控近期 API 流量。
第 2 步:确定 API 监控数据中的趋势
如需访问过去三个月内有流量的 API 代理和目标的 API 监控数据的历史记录视图,请执行以下操作:
- 在“近期”信息中心的右侧窗格中,依次选择
> 在时间轴中查看 ,以访问“时间轴”信息中心。
或者,您也可以在 Edge 界面中依次点击分析 > API 监控 > 时间轴。

- 查看 API 代理或目标随时间变化的趋势。请注意,过去 7 天的趋势一直保持一致。

如需详细了解此步骤,请参阅确定 API 监控数据中的趋势。
第 3 步:调查 5xx 问题
Apigee 提供了一组 故障代码,可帮助您诊断问题。通常,可以使用一个或多个故障代码对 5xx 状态代码进行分类。
如需调查 5xx 问题,请执行以下操作:
- 在“时间轴”信息中心的右侧窗格中,依次选择
> 在调查中查看 ,以访问“调查”信息中心。
或者,您也可以在 Edge 界面中依次点击分析 > API 监控 > 调查 。

借助“调查”信息中心,您可以比较指标之间的关系活动,例如故障代码与时间。 查看故障代码与时间矩阵 ,以查看过去一小时内的故障代码活动。请注意,根据块的颜色深浅,相对量最高的故障代码。块的颜色越深,相对量越高。
例如,
policies.ratelimit.SpikeArrestViolation和policies.ratelimit.QuotaViolation故障代码在以下矩阵中显示相对量较高:
点击
policies.ratelimit.SpikeArrestViolation行中最深的块(第一个块),以在右侧窗格中查看更多详细信息。

请注意,故障来源是 perfBenchmark_invalid_v1 API 代理,HTTP 状态代码为 500 。500 状态代码是 Spike Arrest 政策违规的常见运行时错误代码。
查看“疑似原因”面板下方的“按开发者应用分发”,以识别错误率最高的开发者应用。

如需详细了解此步骤,请参阅识别问题。
第 4 步:设置 5xx 提醒
根据“调查详细信息”窗格中所选的上下文设置提醒,以便在 5xx 状态代码的数量超过特定阈值时收到通知。
在“调查”信息中心的右侧窗格中,依次选择
> 创建提醒。

填写提醒对话框中的字段。条件字段会预先填充当前上下文中的数据。例如:

点击保存 。
将来,当 perfBenchmark_invalid_v1 API 代理的 5xx 错误率在 5 分钟内超过 5% 时,系统会向指定的电子邮件地址发送通知 ,并在界面中显示视觉提醒 。例如:

如需详细了解此步骤,请参阅设置提醒和通知。
第 5 步:生成包含客户端详细信息的自定义报告(可选)
(可选)生成自定义报告,以识别触发 5xx 错误的客户端的更多详细信息。
在“报告”页面中,根据提醒创建的自定义报告的命名格式为API Monitoring Generated: alert-name。
通过以下方式之一访问在设置提醒时创建的自定义报告:
在左侧导航栏中依次选择分析 > 自定义报告 > 报告 ,以显示“报告”页面。点击列表中的报告名称:API Monitoring Generated: 5xx Alert
在创建提醒时显示的通知中点击。例如:

添加以下维度:
- 开发者应用
- 客户端 ID
- 客户端 IP 地址

如需查看基于错误率较高的特定开发者应用的报告,请添加类似于以下内容的过滤条件:
and (developer_app eq 'perfBenchmarkApp0')注意:在这种情况下,请从维度列表中移除“开发者应用”。
点击保存 。
运行报告,以查看有关触发 5xx 状态代码的开发者应用和客户端的详细信息。
如需详细了解此步骤,请参阅创建自定义报告。
第 6 步:将 API 代理分组到集合中
创建一个集合,将 API 代理分组,并为该组的所有成员设置适当的提醒阈值,以便更快地诊断问题。
- 在 Edge 界面中,依次选择分析 > API 监控 > 集合 ,以显示“集合”信息中心。
- 点击 + 集合。
- 选择代理 。
- 从环境下拉列表中选择 prod 。
- 点击下一步 。
- 填写集合对话框中的字段。

- 点击保存
接下来,您可以设置提醒(与第 4 步类似),并将维度 设置为您在上面定义的集合。

如需详细了解此步骤,请参阅管理集合。
第 7 步:解决 5xx 问题
采取适当的措施来解决 5xx 问题。例如,根据您的诊断,您可能需要执行以下任务之一:
- 使用 Apigee Sense 确定请求激增是否可疑,并决定是否要屏蔽自定义报告中标识的客户端 IP 地址。
- 添加配额政策,以限制开发者应用在特定时间段内可以与 API 代理建立的连接数。
- 对 API 进行创收,以便在开发者调用次数超过一定数量时向其收费。