监视Azure功能的成功计数

时间:2017-02-02 14:02:01

标签: azure azure-functions

我们正在使用Azure函数与Node.js.

在Azure门户网站UI中,在每个函数调用日志列表旁边(在“监视器”选项卡中),我们看到两个计数器:“最近成功计数”和“最近错误计数”,是否有任何编程方式(或API)监控这些柜台?

enter image description here

此外,我无法找到在函数调用成功或失败时配置警报的方法。

我将不胜感激任何帮助。

4 个答案:

答案 0 :(得分:3)

通过连接到与您的Function App关联的存储帐户以编程方式访问原始日志记录数据的选项。

连接到该帐户后,您将看到名为“AzureWebJobsHostLogYYYMM”的存储表,其中包含所有日志数据。

关于警报,目前,该功能不具备Azure功能的开箱即用功能,并且需要在Application Insights之上使用自定义解决方案。您可以看到示例here

答案 1 :(得分:2)

如果您愿意使用不受支持的api,您可以从以下位置获取此数据: <sitename>.scm.azurewebsites.net/azurejobs/api/functions/definitions?host=<sitename>&limit=11

这是Monitor选项卡用于检索数据的调用: https://github.com/projectkudu/AzureFunctionsPortal/blob/1bfec15511a55df1599fcb839b989b8760985d4f/AzureFunctions.Client/app/services/function-monitor.service.ts#L41

目前没有办法提醒调用成功或失败,最好的方法是通过功能代码本身(在以某种方式退出功能日志状态之前)。函数正在添加Application Insights集成,它应该改进可用的监视数据,并且可以在调用挂钩之前/之后添加。

可以在https://github.com/Azure/azure-webjobs-sdk-script/issues

添加任何功能请求

答案 2 :(得分:1)

我将建议使用应用程序Insight,构建您自己的查询并将结果固定在仪表板上。您可以针对相同的查询结果设置警报。

enter image description here

答案 3 :(得分:0)

要监视Azure Function的成功计数,可以选择以下其中一项

  1. 来自调用日志
  2. 指标api

获取调用日志的两种方法:

方法1:可以从与Azure Function应用程序关联的存储帐户中检索Azure Function的调用日志。每个月的调用日志将在单独的表存储中提供。我面临的挑战是无法对记录应用过滤器,在大量日志的情况下响应速度很慢。此链接可能有帮助, https://gist.github.com/syron/c190638dd77b54adcfb4b9406ed88652

方法2:正如Matt Mason所述,

<sitename>.scm.azurewebsites.net/azurejobs/api/functions/definitions?host=<sitename>&limit=<count>. 

此处可以限制记录数。响应性相对更好。结束于此解决方案,以监视我的自定义应用程序中的Azure功能并按预期工作

指标API: 有一个公开的Rest API可用于获取Azure Function应用程序的指标。

API: https://management.azure.com/subscriptions/ / resourceGroups // providers / microsoft.web / sites // providers / microsoft.insights / metricdefinitions?api-version = 2018-01-01

Azure Function指标的整个列表中,可以使用“ FunctionExecutionCount”和“ Http5xx”来计算Azure函数的成功计数。 度量值的不同,“ FunctionExecutionCount”和“ Http5xx”将获得天蓝色函数的成功计数。

有关公开的REST API,请参考以下链接以获取Azure Function指标: https://docs.microsoft.com/en-us/rest/api/monitor/metricdefinitions/list

有关指标的更多详细信息,请参见以下链接: https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/monitoring-supported-metrics