你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:所有 API 管理层级
可观测性是指通过系统产生的数据了解系统内部状态的能力,以及探索这些数据以回答有关发生了什么事件及其原因的问题的能力。
Azure API 管理可以帮助组织集中管理所有 API。 由于它是所有API流量的单一入口点,因此是观察API的理想场所。
概述
利用 Azure API 管理,可以选择以自行部署的方式或通过使用 Azure Arc 扩展的方式来使用托管网关或自承载网关。
下表总结了 API 管理支持的用于操作 API 的所有可观测性功能,以及这些功能支持哪些部署模型。 API 发布者和其他有权操作或管理 API 管理实例的人可以使用这些功能。
Application Insights还为支持的策略执行提供外部依赖遥测。 欲了解更多信息,请参见“将 Azure API 管理 与 Application Insights 集成”。
注意
对于使用开发人员门户的 API 使用者,可以使用内置 API 报表。 报表仅在前 90 天内提供有关其单个 API 使用情况的信息。 目前,v2 服务层级的开发人员门户中不提供内置 API 报表。
| 工具 | 适用于 | 数据滞后4 | 保留 | 采样 | 数据类型 | 支持的部署模型 |
|---|---|---|---|---|---|---|
| 请求跟踪 (API 检查器) | 测试和调试 | 即时 | 最后 100 个跟踪 | 已按请求启用 | 请求追踪 | 托管、自托管、Azure Arc、工作区 |
| 内置分析 | 报告和监视 | 分钟 | 生存期 | 100% | 报表和日志 | 托管 |
| Azure Monitor 指标 | 报告和监视 | 分钟 | 90 天(升级后可延期) | 100% | 指标 | 托管、自承载2、Azure Arc |
| Azure Monitor 日志 | 报告、监视和调试 | 分钟 | 31 天/5GB(升级后可延期) | 100%(可调整) | 日志 | 托管1、自托管3、Azure Arc3 |
| Azure 应用程序见解 | 报告、监视和调试 | 秒 | 90 天/5GB(升级后可延期) | 自定义 | 日志、指标 | 托管1、自托管1、Azure Arc1、工作区1 |
| 通过 Azure 事件中心登录 | 自定义场景 | 秒 | 由用户管理 | 自定义 | 自定义 | 托管1、自托管1、Azure Arc1 |
| OpenTelemetry | 监控 | 分钟 | 由用户管理 | 100% | 指标 | 自托管2 |
1 可选,具体取决于 Azure API 管理中的功能配置。
2 可选,具体取决于网关的配置。
3自承载网关 当前不会将诊断日志发送到 Azure Monitor。 但是,可以在部署了自承载网关的本地环境中配置并持久保存日志。 有关详细信息,请参阅 配置自承载网关的本地指标和日志。
4 除了请求跟踪之外,API 管理中的所有日志记录都以异步方式进行。
最佳做法
以下做法可以增强 API 可观测性:
- 细粒度监控:启用按方法划分的指标,以深入了解响应时间和错误率。
- 尾延迟监控:针对每个方法配置尾延迟警报(例如,第 90、95 或 99 百分位数),因为平均延迟可能具有误导性。 若要实现此功能,请使用 Kusto 查询语言(KQL)将日志转发到Log Analytics工作区。
- 主动警报:为错误率和低成功 率 建立每种方法警报,使用速率而不是计数来确保准确性。
- 分布式跟踪:启用 跟踪 以识别性能瓶颈并解决问题。
- 资源标记:将 标记应用于 API ,以便进行准确的成本跟踪和分配。
相关内容
- 开始使用用于 API 管理的 Azure Monitor
- 了解如何使用 Application Insights 记录请求
- 了解如何通过事件中心记录事件
- 了解如何使用 Azure 托管 Grafana 可视化 Azure Monitor 数据