0

您好,我正在努力通过 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

4

4 回答 4

1

将查询更改为

requests
| extend apiName = tostring(customDimensions.["API Name"])
| summarize totalCount=sum(itemCount) by bin(timestamp,15m),apiName
| where apiName in ("api1", "api2")
| render timechart
于 2021-03-03T07:55:09.117 回答
0

要深入了解请求,您需要了解应用程序。您可以将 ApplicationInsights 链接到 APIM 实例以进行监视。

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

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

默认情况下,所有传入和传出的监控均未开启。要启用它,在 APIM 中滚动到 API 部分以选择APIs。在顶部选择设置并启用 Application Insights。 在此处输入图像描述

现在一切就绪,可以监控您的 API。

于 2021-03-02T14:37:02.203 回答
0

在 azure 文档中找到了解决方案。该语言称为kusto ,这里是文档的链接:Azure Kusto Query 语言

requests
| extend apiName = tostring(customDimensions.["API Name"])
| summarize totalCount=sum(itemCount) by bin(timestamp,15m),apiName
| where apiName in ("api1", "api2")
| render timechart
于 2021-03-04T13:52:21.353 回答
0

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

在此处输入图像描述

于 2021-03-11T14:18:49.290 回答