您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
逐步演示一个示例场景,该场景演示了如何排查 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 监控数据中的趋势
如需查看过去 3 个月内有流量的 API 代理和目标的 API 监控数据历史记录,请执行以下操作:
- 在“最近”信息中心的右侧窗格中,依次选择 > View in Timeline 即可访问“时间轴”信息中心。
或者,您也可以在 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 状态代码数量超过特定阈值时收到通知。
在“Investigate”信息中心的右侧窗格中,依次选择 > Create Alert。
填写提醒对话框中的字段。条件字段会预先填充当前上下文中的数据。例如:
点击保存。
今后,如果 perfBenchmark_invalid_v1 API 代理的 5xx 错误率持续 5 分钟超过 5%,系统会向指定的电子邮件地址发送通知,并在界面中显示视觉提醒。例如:
如需详细了解此步骤,请参阅设置提醒和通知。
第 5 步:生成包含客户详细信息的自定义报告(可选)
(可选)生成自定义报告,以详细了解触发 5xx 错误的客户端。
在“报告”页面中,基于提醒创建的自定义报告命名格式为 API Monitoring Generated: alert-name
。
您可以通过以下任一方式访问在设置提醒时创建的自定义报告:
在左侧导航栏中依次选择分析 > 自定义报告 > 报告,以显示“报告”页面。点击列表中的报告名称:API 监控生成的 5xx 提醒
点击创建提醒时显示的通知。例如:
添加以下维度:
- 开发者应用
- 客户端 ID
- 客户端 IP 地址
如需查看特定开发者应用的报告(错误率较高),请添加类似以下的过滤条件:
and (developer_app eq 'perfBenchmarkApp0')
注意:在这种情况下,请从维度列表中移除“开发者应用”。
点击保存。
运行报告,查看触发 5xx 状态代码的开发者应用和客户端的详细信息。
如需详细了解此步骤,请参阅创建自定义报告。
第 6 步:将 API 代理分组到集合中
创建一个集合来对 API 代理进行分组,并为该组的所有成员设置适当的提醒阈值,以便更快地诊断问题。
- 在 Edge 界面中依次选择分析 > API 监控 > 集合,以显示“集合”信息中心。
- 点击 + 合集。
- 选择代理。
- 从环境下拉菜单中选择 prod。
- 点击下一步。
- 填写“合集”对话框中的字段。
- 点击保存
接下来,您可以设置提醒(类似于第 4 步),并将维度设置为您上面定义的集合。
如需详细了解此步骤,请参阅管理合集。
第 7 步:解决 5xx 问题
采取适当的措施来解决 5xx 问题。例如,根据您的诊断结果,您可以执行以下任一任务:
- 使用 Apigee Sense 确定请求激增是否可疑,并决定是否要屏蔽自定义报告中标识的客户端 IP 地址。
- 添加配额政策,以限制开发者应用在特定时间段内可以与您的 API 代理建立的连接数。
- 通过 API 创收,针对超出一定调用次数的使用情况向开发者收费。