azure 如何在功能应用向外扩展时监控其示例数?

ar5n3qh5  于 2023-01-21  发布在  其他
关注(0)|答案(4)|浏览(126)

我正在Azure门户中查看我的函数应用程序的“指标”选项卡(平台功能-〉指标)。我可以看到CPU时间、请求计数等有趣的指标,但没有显示应用程序已扩展到的示例数的指标。

是否有办法获得应用程序在一段时间内的示例数?

wecizke3

wecizke31#

一种方法是使用App Insights查询,这将为您提供过去24小时内每30秒运行的不同示例的数量。
您可以根据自己的选择编辑粒度和时间跨度,但请记住,粒度越大,查询的准确性就越低,因为示例可以在任何时候加速和减速。

let grainTime = 30sec;

traces
| where timestamp >= ago(24h)
| summarize ['rate/minute'] = dcount(cloud_RoleInstance) by bin(timestamp, grainTime)
| render timechart

然后您可以将其固定到您的 Jmeter 板!

m4pnthwp

m4pnthwp2#

从给定的选项中选择任何指标后,我们可以添加另一个过滤器。如下所示。

然后我们可以添加“Instance”属性,并为函数app选择当前运行的所有示例,如下图所示。

taor4pac

taor4pac3#

作为一个预览功能,现在我们可以让秤控制器发出日志,并给出推理,以帮助理解为什么以及如何在不同的点上进行秤。你必须添加一个函数配置为SCALE_CONTROLLER_LOGGING_ENABLED=AppInsights:Verbose。然后你可以查询秤控制器日志,以了解原因和示例计数,就像在这份microsoft docs中一样。
我修改了链接文档中的kusto查询,使其具有过去24小时的函数缩放图

traces 
| where customDimensions.Category == "ScaleControllerLogs"
| where customDimensions.Action == "ScaleResult"
| where customDimensions.AppName == "my-function-app-name"
| extend currentInstanceCount = toint(customDimensions.CurrentInstanceCount)
| make-series rawInstanceCounts = max(currentInstanceCount) default=-1 on timestamp in range(ago(24h), now(), 5m)
| extend instanceCountsForwardFilled = series_fill_forward(rawInstanceCounts, -1)
| project timestamp, instanceCountsForwardFilled
| render timechart

您还可以向Blob存储发送缩放控制器日志。在上面的示例中,我选择了AppInsights进行快速查询。此外,为了避免应用洞察定价影响,请考虑在了解缩放行为后禁用配置参数。

ffscu2ro

ffscu2ro4#

我刚刚发现使用这个门户非常简单。你可以切换本地时间和UTC时间的视图。它会告诉你在特定时间有多少个示例在运行你的函数应用程序。试试这个。

相关问题