如何使用 Application Insights 查询查询多个 Azure API Management API 名称

How to query multiple Azure API Management API names with Application Insights query

你好,我正在努力通过 Azure API 管理获取请求,但是我得到了所有 api 现有的。我只想过滤我需要的 api

这是我所做的:

requests
|summarize totalCount=sum(itemCount) by bin(timestamp,15m),toString(customDimensions.["API Name"])
where (toString(customDimensions.["API Name"]) == "api1" && "api2"
|render timechart

当我测试时它告诉我状态:有些东西坏了,我怎样才能从所有

中过滤我需要的api

要深入了解请求,您需要应用洞察力。你可以linkApplicationInsights到APIM个实例进行监控。

在 Azure 中创建 Application Insights 并复制生成的 Instrumentation key

浏览至 APIM 资源,滚动至 Monitoring 部分至 select Application Insights。使用上面复制的Instrumentation key.

默认情况下,所有传入和传出的监控均未开启。要启用它,请在 APIM 中滚动到 API 部分到 select APIs。在顶部 select 设置并启用 Application Insights。

现在已准备好监控您的 APIs。

将查询更改为

requests
| extend apiName = tostring(customDimensions.["API Name"])
| summarize totalCount=sum(itemCount) by bin(timestamp,15m),apiName
| where apiName in ("api1", "api2")
| render timechart

在 azure 文档中找到解决方案。 该语言称为 kusto 这是文档的 link:Azure Kusto Query language

requests
| extend apiName = tostring(customDimensions.["API Name"])
| summarize totalCount=sum(itemCount) by bin(timestamp,15m),apiName
| where apiName in ("api1", "api2")
| render timechart

配置 Application Insights 诊断日志时,不要忘记将负载字节数设置为足够的值。这将为您提供有关您正在监视的请求和响应的更多信息。