针对 Azure APIM 和 Azure 功能的应用程序见解的选定日志记录和采样率



我有一个通过 Azure 函数应用托管的项目,位于 APIM 后面。其中一个要求是记录来自 APIM 和函数的所有成功和失败的登录请求。

应用程序见解似乎是一种选择。但是,它建议不要使用 100% 采样率。如果不使用 100% 采样率,如何记录所有成功和失败的登录请求。

似乎Microsoft推荐适用于Azure APIM和Funtions的应用程序见解,即使我找不到任何官方文档。

在 APIM 中为 API 启用应用程序见解时,记录所有事件可能会对性能产生影响,具体取决于传入请求速率。根据内部负载测试,当请求速率超过每秒 1,000 个请求时,启用此功能会导致吞吐量降低 40%-50%。Azure 应用程序见解旨在使用统计分析来评估应用程序性能。它不打算成为审计系统,也不适合记录高容量 API 的每个单独请求。

您可以通过调整采样设置来控制正在记录的请求数(请参阅上述步骤)。值 100% 表示记录所有请求,而 0% 表示根本不记录。采样有助于减少遥测数据量,有效防止性能显著下降,同时仍具有日志记录的好处。 跳过标头以及请求和响应正文的日志记录也将对缓解性能问题产生积极影响。

文档参考

您还可以通过为 APIM 实例启用诊断日志记录来查看 API 的指标。请查看以下内容是否足以满足您的要求。

API管理每分钟发出一次指标,使你能够近乎实时地了解 API 的状态和运行状况。以下是一些可用指标的摘要:

  • 容量(预览版):帮助你做出有关 升级/降级您的 APIM 服务。指标的发出时间 分钟,反映报告时的网关容量。 指标范围为 0-100,基于网关资源计算 例如 CPU 和内存利用率。
  • 网关请求总数:该时间段内的 API 请求数。
  • 成功的
  • 网关请求数:收到成功的 HTTP 响应代码(
    包括 304、307 和小于 301 的任何代码)的 API 请求数(例如, (第200页)。
  • 失败的网关请求数:收到错误 HTTP 的 API 请求数 响应代码包括 400 和大于 500 的任何内容。
  • 未经授权的网关请求数:收到 HTTP 响应的 API 请求数 代码包括 401、403 和 429。
  • 其他网关请求:收到 HTTP 响应代码的 API 请求数 不属于上述任何一项 类别(例如,418)。

文档参考

希望这有帮助!

最新更新