你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:监视已发布的 API

适用于:所有 API 管理层级

通过 Azure Monitor,可直观显示、查询、路由和存档来自 Azure API 管理服务的指标或日志并对其执行操作。 有关用于 API 管理的 Azure Monitor 的概述,请参阅监视 API 管理

提示

API 团队可以在工作区中使用此功能。 工作区提供对 API 及其自己的 API 运行时环境的隔离管理访问权限。

本教程介绍如何执行下列操作:

  • 查看 API 的指标
  • 设置警报规则
  • 查看活动日志
  • 启用和查看资源日志

注意

API 管理支持使用各种附加工具来观察 API,包括内置分析以及与 Application Insights 的集成。 了解详细信息

先决条件

查看 API 的指标

API 管理每分钟发出一次指标,几乎可让你实时了解 API 的状态和运行状况。 下面是最常用的指标。 有关所有可用指标的列表,请参阅指标

  • 容量 - 帮助做出有关升级/降级 API 管理服务的决策。 指标每分钟发出,在报告时反映估计的网关容量。 指标范围为 0-100,是根据 CPU 和内存等网关资源的利用率和其他因素计算的。

    提示

    v2 服务层级工作区网关中,API 管理已将网关容量指标替换为单独的 CPU 和内存利用率指标。 这些指标还可用于缩放决策和故障排除。 了解详细信息

  • 请求 - 帮助分析通过 API 管理服务的 API 流量。 指标每分钟发出一次,并报告带有维度的网关请求数。 按响应代码、位置、主机名和错误筛选请求。

注意

“请求”指标在工作区中不可用。

重要

已停用以下指标:网关请求总数、成功的网关请求数、未经授权的网关请求数、失败的网关请求数、其他网关请求数。 请迁移到提供非常相似功能的请求指标。

API 管理概述中“指标”的屏幕截图

访问指标:

  1. Azure 门户,导航到 API 管理实例。 在“概述”页中的“监视”选项卡上查看 API 的关键指标。

  2. 要详细调查指标,请从左侧菜单中选择“监控”>“指标”。

    门户上“监视”菜单中的“指标”项的屏幕截图。

    提示

    在工作区中,可以查看限定为工作区网关的容量指标。 导航到工作区网关的左侧菜单中的监控>指标

  3. 从下拉列表中选择所需的指标。 例如,“请求”。

  4. 该图显示 API 调用总数。 调整时间范围以重点关注感兴趣的时段。

  5. 可以使用请求指标的维度来筛选图表。 例如,依次选择“添加筛选器”和“后端响应代码类别”,然后输入值 。 该图表显示 API 后端中失败的请求数。

设置警报规则

可以基于指标和活动日志接收警报。 在 Azure Monitor 中,配置警报规则以便在触发该规则时执行某个操作。 常见操作包括:

  • 发送电子邮件通知
  • 调用 Webhook
  • 调用 Azure 逻辑应用

若要基于请求指标配置示例警报规则,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。

  2. 从左侧菜单中选择“监控”>“警报”。

    门户上“监视”菜单中的“警报”选项的屏幕截图。

  3. 选择“+ 创建”“警报规则”。

  4. 在“条件”选项卡上

    1. 在“信号名称”中,选择“请求” 。
    2. 在“警报逻辑”中,查看或修改警报的默认值。 例如,更新静态阈值,即触发警报的发生次数
    3. 在“按维度拆分”的“维度名称”中,选择“网关响应代码类别” 。
    4. 在“维度值”中,选择“4xx”,表示“请求未经授权”或“请求无效”等客户端错误 。 如果未显示维度值,请选择“添加自定义值”,然后输入 4xx。
    5. 在“何时评估”中,接受默认设置,或选择其他设置来配置规则的运行频率。 选择“下一步” 。

    在门户中配置警报逻辑的屏幕截图。

  5. 在“操作”选项卡上,选择或创建一个或多个操作组,以通知用户发生了警报并执行操作。 例如,创建一个新操作组以向 admin@contoso.com 发送通知电子邮件。 有关详细步骤,请参阅在 Azure 门户中创建和管理器操作组

    在门户中为新操作组配置通知的屏幕截图。

  6. 在“创建警报规则”的“详细信息”选项卡上,输入警报规则的名称和说明,然后选择严重性级别。

  7. (可选)配置剩余设置。 然后,在“查看 + 创建”选项卡上选择“创建”。

  8. (可选)使用 HTTP 客户端模拟触发警报的请求来测试警报规则。 例如,在终端中运行以下命令,将 API 管理主机名替换为 API 管理实例的主机名:

    curl GET https://contoso.azure-api.net/non-existent-endpoint HTTP/1.1 
    

    根据评估期触发警报,并将电子邮件发送到 admin@contoso.com。

    警报还会显示在 API 管理实例的“警报”页。

    门户中的警报的屏幕截图。

活动日志

活动日志提供对 API 管理服务上的操作的见解。 通过活动日志,可确定对 API 管理服务执行的任何写入操作 (PUT、POST、DELETE) 的“操作内容、操作人员和操作时间”。

注意

活动日志不包括读取 (GET) 操作或在 Azure 门户中执行的操作。

可在 API 管理服务中访问活动日志,或在 Azure Monitor 中访问所有 Azure 资源的日志。

门户中的活动日志的屏幕截图。

若要查看活动日志,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。

  2. 选择“活动日志”。

    门户上“监视”菜单中的“活动日志”项的屏幕截图。

  3. 选择所需的筛选范围,然后选择“应用”。

资源日志

资源日志(Azure Monitor 日志)提供了大量有关 API 管理操作和错误的信息,这些信息对于审核和故障排除非常重要。 通过诊断设置启用后,日志将收集 API 管理网关接收和处理的有关 API 请求的信息。

注意

消耗层不支持收集资源日志。

提示

在具有 工作区的 API 管理实例中,API 平台团队可以访问 API 管理服务中的联合日志以进行集中式 API 监视,而工作区团队可以访问特定于工作区 API 的日志。 详细了解如何使用工作区进行 Azure Monitor 日志记录

若要配置资源日志的收集诊断设置,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。

  2. 在左侧菜单中的“监视”下,选择“诊断设置”“+ 添加诊断设置”。>

    在门户中添加诊断设置的屏幕截图。

  3. 在“诊断设置”页面上,输入或选择设置的详细信息

    1. 诊断设置名称:输入一个描述性名称
    2. 类别组:(可选)根据方案进行选择
    3. 类别下:选择一个或多个类别。 例如,选择 与 ApiManagement Gateway 相关的日志 ,为 API 管理网关的大多数请求收集日志。
    4. 在“目标详细信息”下,选择一个或多个选项并指定目标的详细信息。 例如,将日志发送到 Azure Log Analytics 工作区,将日志存档到存储帐户,或将其流式传输到事件中心。 有关详细信息,请参阅 Azure Monitor 中的诊断设置
    5. 选择“保存”。

    提示

    如果选择 Log Analytics 工作区,可以选择将数据存储在资源特定的表中(例如 ApiManagementGatewayLogs 表)或存储在常规 AzureDiagnostics 表中。 我们建议使用特定于资源的表作为支持此选项的日志目标。 了解详细信息

  4. 配置一个或多个日志目标的详细信息后,选择“保存”。

注意

如果 API 管理服务的 MinApiVersion 属性设置为高于 2022-09-01-preview 的任何 API 版本,则添加诊断设置对象可能会导致失败。

注意

若要为 API 管理工作区启用诊断设置,请参阅 “创建和管理工作区”。

在 Azure Log Analytics 中查看日志和指标

如果在 Log Analytics 工作区中启用日志或指标的收集,则数据可能需要经过几分钟才会显示在 Azure Monitor 中。

若要查看数据,请执行以下操作:

  1. Azure 门户,导航到 API 管理实例。

  2. 在左侧菜单中的 “监视”下,选择“ 日志”。

  3. 运行查询以查看数据。 可以运行提供的多个示例查询,也可以运行自己的查询。 例如,以下查询检索 ApiManagementGatewayLogs 表中最近 24 小时的数据:

    ApiManagementGatewayLogs
    | where TimeGenerated > ago(1d) 
    

    在门户中查询 ApiManagementGatewayLogs 表的屏幕截图。

有关使用资源日志进行 API 管理的详细信息,请参阅:

修改 API 日志记录设置

使用门户创建诊断设置以启用 API 管理网关或生成式 AI 网关(LLM)日志的收集时,将使用默认设置启用日志记录。 默认设置不包括请求或响应的详细信息,例如请求或响应正文。 可以调整所有 API 的日志记录设置,或者替代单个 API 的设置。 例如,调整网关日志数据的采样率或详细程度,启用 LLM 请求或响应消息的日志记录,或禁用某些 API 的日志记录。

有关日志记录设置的详细信息,请参阅 诊断 - 创建或更新API 诊断 - 创建或更新 REST API 参考页。

若要为所有 API 配置日志记录设置,请执行以下操作:

  1. 在 API 管理实例的左侧菜单中,选择“API”>“API”>“所有 API”。
  2. 在顶部栏中选择“设置”选项卡。
  3. 向下滚动到“诊断日志”部分,然后选择“Azure Monitor”选项卡。
  4. 查看设置并根据需要进行更改。 选择“保存”。

若要为特定的 API 配置日志记录设置,请执行以下操作:

  1. 在 API 管理实例的左侧菜单中选择“API”>“API”,然后选择 API 的名称。
  2. 在顶部栏中选择“设置”选项卡。
  3. 向下滚动到“诊断日志”部分,然后选择“Azure Monitor”选项卡。
  4. 查看设置并根据需要进行更改。 选择“保存”。

重要

API 管理对发送到 Azure Monitor 的日志条目的大小强制实施 32 KB 的限制。 日志条目超出限制时的行为取决于日志类别和记录的数据属性:

  • API 管理网关日志 - 日志条目中记录的请求或响应有效负载(如果已收集)最多可为 8,192 字节。 如果条目中属性的组合大小超过 32 KB,API 管理会删除所有正文和跟踪内容来剪裁条目。
  • 生成式 AI 网关日志 - 如果已收集 LLM 请求或响应消息,且大小不超过 32 KB,则这些消息在单个条目中发送。 大于 32 KB 的消息被拆分并记录在 32 KB 区块中,其中包含用于以后重建的序列号。 请求消息和响应消息不能超过 2 MB。

后续步骤

在本教程中,你了解了如何执行以下操作:

  • 查看 API 的指标
  • 设置警报规则
  • 查看活动日志
  • 启用和查看资源日志

转到下一教程: