逐步演示示例场景

您正在查看 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 监控数据,请执行以下操作:

  1. 在 Edge 界面中依次选择分析 > API 监控 > 近期,以访问“近期”信息中心。
  2. 请注意过去一小时内错误百分比率较高的 API 代理和目标。

  3. 点击错误百分比率较高的 API 代理或目标,即可在右侧窗格中查看详细信息。请注意,此示例中的 5xx 错误占比很高。

如需详细了解此步骤,请参阅监控近期 API 流量

第 2 步:确定 API 监控数据中的趋势

如需查看过去 3 个月内有流量的 API 代理和目标的 API 监控数据历史记录,请执行以下操作:

  1. 在“最近”信息中心的右侧窗格中,依次选择 更多菜单 > View in Timeline 即可访问“时间轴”信息中心。 或者,您也可以在 Edge 界面中依次点击分析 > API 监控 > 时间轴
  2. 查看 API 代理或目标随时间推移的趋势。请注意,过去 7 天内的趋势一直保持稳定。

如需详细了解此步骤,请参阅确定 API 监控数据中的趋势

第 3 步:调查 5xx 问题

Apigee 提供了一组故障代码,可帮助您诊断问题。通常,5xx 状态代码可以使用一个或多个故障代码进行分类。

如需调查 5xx 问题,请执行以下操作:

  1. 在“时间轴”信息中心的右侧窗格中,依次选择 更多菜单 > 在“调查”中查看,以访问“调查”信息中心。 或者,您也可以在 Edge 界面中依次点击分析 > API 监控 > 调查

    借助“调查”信息中心,您可以比较指标之间的关系活动,例如故障代码与时间。
  2. 查看故障代码与时间矩阵,以查看过去一小时内的故障代码活动。根据块的颜色深浅,注意相对量最高的故障代码。块的颜色越深,相对量越高。

    例如,在以下矩阵中,policies.ratelimit.SpikeArrestViolationpolicies.ratelimit.QuotaViolation 故障代码显示的相对数量较高:故障代码

  3. 点击 policies.ratelimit.SpikeArrestViolation 行中最深色的块(第一个块),即可在右侧窗格中查看更多详细信息。

  4. 请注意,故障来源是 perfBenchmark_invalid_v1 API 代理,HTTP 状态代码为 500500 状态代码是违反 Spike Arrest 政策的常见运行时错误代码。

  5. 查看“涉嫌原因”面板下方的“按开发者应用划分的分配情况”,找出错误率最高的开发者应用。

如需详细了解此步骤,请参阅找出问题

第 4 步:设置 5xx 提醒

在“调查详情”窗格中根据所选上下文设置提醒,以便在 5xx 状态代码数量超过特定阈值时收到通知。

  1. 在“Investigate”信息中心的右侧窗格中,依次选择 更多菜单 > Create Alert

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

  3. 点击保存

今后,如果 perfBenchmark_invalid_v1 API 代理的 5xx 错误率持续 5 分钟超过 5%,系统会向指定的电子邮件地址发送通知,并在界面中显示视觉提醒。例如:

如需详细了解此步骤,请参阅设置提醒和通知

第 5 步:生成包含客户详细信息的自定义报告(可选)

(可选)生成自定义报告,以详细了解触发 5xx 错误的客户端。

“报告”页面中,基于提醒创建的自定义报告命名格式为 API Monitoring Generated: alert-name

  1. 您可以通过以下任一方式访问在设置提醒时创建的自定义报告:

    • 在左侧导航栏中依次选择分析 > 自定义报告 > 报告,以显示“报告”页面。点击列表中的报告名称:API 监控生成的 5xx 提醒

    • 点击创建提醒时显示的通知。例如:

  2. 添加以下维度:

    • 开发者应用
    • 客户端 ID
    • 客户端 IP 地址

  3. 如需查看特定开发者应用的报告(错误率较高),请添加类似以下的过滤条件:

    and (developer_app eq 'perfBenchmarkApp0')

    注意:在这种情况下,请从维度列表中移除“开发者应用”。

  4. 点击保存

  5. 运行报告,查看触发 5xx 状态代码的开发者应用和客户端的详细信息。

如需详细了解此步骤,请参阅创建自定义报告

第 6 步:将 API 代理分组到集合中

创建一个集合来对 API 代理进行分组,并为该组的所有成员设置适当的提醒阈值,以便更快地诊断问题。

  1. 在 Edge 界面中依次选择分析 > API 监控 > 集合,以显示“集合”信息中心。
  2. 点击 + 合集
  3. 选择代理
  4. 从环境下拉菜单中选择 prod
  5. 点击下一步
  6. 填写“合集”对话框中的字段。
  7. 点击保存

接下来,您可以设置提醒(类似于第 4 步),并将维度设置为您上面定义的集合。

如需详细了解此步骤,请参阅管理合集

第 7 步:解决 5xx 问题

采取适当的措施来解决 5xx 问题。例如,根据您的诊断结果,您可以执行以下任一任务:

  • 使用 Apigee Sense 确定请求激增是否可疑,并决定是否要屏蔽自定义报告中标识的客户端 IP 地址。
  • 添加配额政策,以限制开发者应用在特定时间段内可以与您的 API 代理建立的连接数。
  • 通过 API 创收,针对超出一定调用次数的使用情况向开发者收费。