我们正在使用Azure函数与Node.js.
在Azure门户网站UI中,在每个函数调用日志列表旁边(在“监视器”选项卡中),我们看到两个计数器:“最近成功计数”和“最近错误计数”,是否有任何编程方式(或API)监控这些柜台?
此外,我无法找到在函数调用成功或失败时配置警报的方法。
我将不胜感激任何帮助。
答案 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集成,它应该改进可用的监视数据,并且可以在调用挂钩之前/之后添加。
添加任何功能请求答案 2 :(得分:1)
答案 3 :(得分:0)
要监视Azure Function的成功计数,可以选择以下其中一项
获取调用日志的两种方法:
方法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