使用Azure APIM和Azure功能的应用程序洞察选择日志记录和采样率

问题描述 投票:0回答:1

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

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

似乎Microsoft建议使用针对Azure APIM和函数的Application Insights,即使qazxsw poi。

azure azure-functions azure-api-management azure-log-analytics
1个回答
0
投票

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

您可以通过调整“采样”设置来操纵记录的请求数(请参阅上述步骤)。值100%表示记录所有请求,而0%表示根本没有记录。采样有助于减少遥测量,有效地防止显着的性能下降,同时仍然具有记录的好处。跳过标题和请求和响应主体的日志记录也将对缓解性能问题产生积极影响。

I cannot find any offiical document

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

API Management每分钟都会发出一个指标,让您几乎可以实时了解API的状态和运行状况。以下是一些可用指标的摘要:

  • 容量(预览):帮助您决定升级/降级APIM服务。度量标准每分钟发出一次,反映报告时的网关容量。度量范围从0到100,基于网关资源(如CPU和内存利用率)计算得出。
  • 网关请求总数:该期间的API请求数。
  • 成功的网关请求:接收成功HTTP的API请求数 响应代码包括304,307和任何小于301的任何代码(例如,200)。
  • 失败的网关请求:收到错误HTTP响应代码(包括400)和大于500的任何错误HTTP响应代码的API请求数。
  • 未授权的网关请求:接收HTTP响应代码(包括401,403和429)的API请求数。
  • 其他网关请求:接收不属于任何前述类别的HTTP响应代码的API请求数(例如,418)。

Documentation Reference

希望这可以帮助 !

© www.soinside.com 2019 - 2024. All rights reserved.