如何关联 Azure 监视器中的函数应用活动?

问题描述

我想看看我可以在不修改应用程序代码的情况下从 Azure Monitor 中获取多少信息。具体来说,我对属于“分布式跟踪”保护伞的主题感兴趣。更具体地说,如果我能找到无服务器函数调用间的因果关系,我很感兴趣。

我已为 2 个函数应用创建并启用了 Application Insight 实例。每个函数应用程序包含 1 个函数。 App1Function1 (node.js) 将通过 APIM 实例调用 App2Function2 (python)。

我将 App2Function2 设置为失败(引发异常),我的目的是查看 App1Function1 的调用调用了它。

我运行了这个查询,它给了我相关的记录事件:

FunctionAppLogs 
| where Category startswith_cs "Function."

...但我没有看到任何类型的通用 ID,它在所涉及的 2 个函数的日志之间共享,可以帮助我弄清楚其中一个如何调用一个。 我查看了上一个查询中的 FunctionInvocationId 字段。

然后我检查了这个查询

traces 
| where customDimensions .['Category'] startswith_cs "Function."
| extend InvocationId = customDimensions .['InvocationId']
| project-reorder timestamp,InvocationId,operation_Name,operation_Id,operation_ParentId,message,*

同样的故事,没有共同点。我检查了 InvocationIdoperation_idoperation_parentId

那么我可以在不检测代码的情况下将来自一个无服务器功能的请求关联到另一个功能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)