教程:监视已发布的 API
适用于:所有 API 管理层级
通过 Azure Monitor,可直观显示、查询、路由和存档来自 Azure API 管理服务的指标或日志并对其执行操作。
在本教程中,你将了解如何执行以下操作:
- 查看 API 的指标
- 设置警报规则
- 查看活动日志
- 启用和查看资源日志
注意
API 管理支持使用各种附加工具来观察 API,包括内置分析以及与 Application Insights 的集成。 了解详细信息
先决条件
- 了解 Azure API 管理术语。
- 完成以下快速入门:创建一个 Azure API 管理实例。
- 此外,请完成以下教程:导入和发布第一个 API。
查看 API 的指标
API 管理每分钟发出一次指标,几乎可让你实时了解 API 的状态和运行状况。 下面是最常用的指标。 有关所有可用指标的列表,请参阅支持的指标。
容量 - 帮助做出有关升级/降级 API 管理服务的决策。 指标每分钟发出,在报告时反映估计的网关容量。 指标范围为 0-100,是根据 CPU 和内存等网关资源的利用率和其他因素计算的。
请求 - 帮助分析通过 API 管理服务的 API 流量。 指标每分钟发出一次,并报告带有维度的网关请求数。 按响应代码、位置、主机名和错误筛选请求。
重要
已停用以下指标:网关请求总数、成功的网关请求数、未经授权的网关请求数、失败的网关请求数、其他网关请求数。 请迁移到提供等效功能的请求指标。
访问指标:
在 Azure 门户,导航到 API 管理实例。 在“概述”页中的“监视”选项卡上查看 API 的关键指标。
若要详细调查指标,请在左侧菜单中选择“指标”。
从下拉列表中选择所需的指标。 例如,“请求”。
该图显示 API 调用总数。 调整时间范围以重点关注感兴趣的时段。
可以使用请求指标的维度来筛选图表。 例如,依次选择“添加筛选器”和“后端响应代码类别”,然后输入值
500
。 该图表显示 API 后端中失败的请求数。
设置警报规则
可以基于指标和活动日志接收警报。 在 Azure Monitor 中,配置警报规则以便在触发该规则时执行某个操作。 常见操作包括:
- 发送电子邮件通知
- 调用 Webhook
- 调用 Azure 逻辑应用
若要基于请求指标配置示例警报规则,请执行以下操作:
在 Azure 门户,导航到 API 管理实例。
在左侧菜单中选择“警报”。
选择“+ 创建”>“警报规则”。
在“选择信号”窗口中的“条件”选项卡上:
- 在“信号类型”中,选择“指标” 。
- 在“信号名称”中,选择“请求” 。
- 在“警报逻辑”中指定一个阈值,即在发生多少次后应触发警报。
- 在“按维度拆分”的“维度名称”中,选择“网关响应代码类别” 。
- 在“维度值”中,选择“4xx”,表示“请求未经授权”或“请求无效”等客户端错误 。 如果未显示维度值,请选择“添加自定义值”,然后输入 4xx。
- 在“何时评估”中,接受默认设置,或选择其他设置来配置规则的运行频率。 选择“下一步” 。
在“操作”选项卡上,选择或创建一个或多个操作组,以通知用户发生了警报并执行操作。 例如,创建一个新操作组以向
admin@contoso.com
发送通知电子邮件。 有关详细步骤,请参阅在 Azure 门户中创建和管理器操作组。在“创建警报规则”的“详细信息”选项卡上,输入警报规则的名称和说明,然后选择严重性级别。
(可选)配置剩余设置。 然后,在“查看 + 创建”选项卡上选择“创建”。
现在,在没有 API 密钥的情况下调用会议 API 来测试警报规则。 例如:
curl GET https://apim-hello-world.azure-api.cn/conference/speakers HTTP/1.1
根据评估期触发警报,并将电子邮件发送到 admin@contoso.com。
警报还会显示在 API 管理实例的“警报”页。
活动日志
活动日志提供对 API 管理服务上的操作的见解。 通过活动日志,可确定对 API 管理服务执行的任何写入操作 (PUT、POST、DELETE) 的“操作内容、操作人员和操作时间”。
注意
活动日志不包括读取 (GET) 操作或者通过 Azure 门户或原始管理 API 执行的操作。
可在 API 管理服务中访问活动日志,或在 Azure Monitor 中访问所有 Azure 资源的日志。
若要查看活动日志,请执行以下操作:
在 Azure 门户,导航到 API 管理实例。
选择“活动日志”。
选择所需的筛选范围,然后选择“应用”。
资源日志
资源日志(Azure Monitor 日志)提供了大量有关 API 管理操作和错误的信息,这些信息对于审核和故障排除非常重要。 通过诊断设置启用后,日志将收集 API 管理网关接收和处理的有关 API 请求的信息。
注意
消耗层不支持收集资源日志。
若要配置资源日志,请执行以下操作:
在 Azure 门户,导航到 API 管理实例。
选择“诊断设置”。
选择“+ 添加诊断设置”。
选择要收集的日志或指标。
将日志和指标发送到的位置有多个选项。 例如,将资源日志与指标一起存档到存储帐户,将其流式传输到事件中心,或者将其发送到 Log Analytics 工作区。
提示
如果选择 Log Analytics 工作区,则可以选择将数据存储在特定于资源的 ApiManagementGatewayLogs 表中,或存储在常规 AzureDiagnostics 表中。 我们建议使用特定于资源的表作为支持此选项的日志目标。 了解详细信息
配置一个或多个日志目标的详细信息后,选择“保存”。
注意
如果 API 管理服务的 MinApiVersion 属性设置为高于 2022-09-01-preview 的任何 API 版本,则添加诊断设置对象可能会导致失败。
有关详细信息,请参阅创建诊断设置以将平台日志和指标发送到不同的目标。
在 Azure Monitor 中查看诊断数据
如果在 Log Analytics 工作区中启用日志或指标的收集,则数据可能需要经过几分钟才会显示在 Azure Monitor 中。
若要查看数据,请执行以下操作:
在 Azure 门户,导航到 API 管理实例。
在左侧菜单中选择“日志”。
运行查询以查看数据。 可以运行提供的多个示例查询,也可以运行自己的查询。 例如,以下查询检索 ApiManagementGatewayLogs 表中最近 24 小时的数据:
ApiManagementGatewayLogs | where TimeGenerated > ago(1d)
有关使用资源日志进行 API 管理的详细信息,请参阅:
修改 API 日志记录设置
默认情况下,在创建诊断设置以启用资源日志收集时,将为所有 API 启用日志记录并使用默认设置。 可以调整所有 API 的日志记录设置,或者替代单个 API 的设置。 例如,调整采样率或数据详细程度,为标头、请求或响应有效负载启用日志记录,或者为某些 API 禁用日志记录。
有关日志记录设置的详细信息,请参阅诊断日志记录设置参考。
若要为所有 API 配置日志记录设置,请执行以下操作:
- 在 API 管理实例的左侧菜单中,选择“API”>“所有 API”。
- 在顶部栏中选择“设置”选项卡。
- 向下滚动到“诊断日志”部分,然后选择“Azure Monitor”选项卡。
- 查看设置并根据需要进行更改。 选择“保存”。
若要为特定的 API 配置日志记录设置,请执行以下操作:
- 在 API 管理实例的左侧菜单中选择“API”,然后选择 API 的名称。
- 在顶部栏中选择“设置”选项卡。
- 向下滚动到“诊断日志”部分,然后选择“Azure Monitor”选项卡。
- 查看设置并根据需要进行更改。 选择“保存”。
重要
如果启用,则记录的请求或响应有效负载最多可为 8,192 字节。 API 管理还对发送到 Azure Monitor 的诊断日志条目强制实施 32 KB 限制,这包括有效负载和其他属性(如状态代码、标头和时间戳)。 如果属性的组合大小超过 32 KB,API 管理则会删除所有正文和跟踪内容来剪裁条目。
后续步骤
在本教程中,你了解了如何执行以下操作:
- 查看 API 的指标
- 设置警报规则
- 查看活动日志
- 启用和查看资源日志
转到下一教程: