如何正确启用Azure Function上的Application Insight跟踪?

问题描述 投票:0回答:1

不幸的是,我无法使用 Application Insight 正确跟踪我的应用程序。

我的 Spring Boot 项目通过 spring-cloud-function-adapter-azure 库公开了一系列 @HttpTriggers 和 @ServiceBusTriggers,下面我将向您展示其中两个触发器的示例(但是应用程序洞察相关性的问题存在于所有触发器上)其中):HelloWorldProducerTriggerFooProducerTrigger

首先,我在项目的依赖项和 maven-dependency-plugin 配置中导入了 applicationinsights-agent 库,定义如下:

https://github.com/Azure-Samples/ApplicationInsights-Java-Samples/blob/main/maven/pom.xml

随后在配置部分的函数属性中插入了 APPLICATIONINSIGHTS_CONNECTION_STRING 属性。

部署该函数后,我尝试调用我的 HelloWorldProducerTrigger api (/api/v2/hello-world),它又通过 POST 调用 FooProducerTrigger api (api/v2/foo),但在我的应用程序洞察的端到端仪表板中请求彼此不相关: enter image description here enter image description here

分析我的请求的标头,我注意到 Azure 将 W3C TraceContext“traceparent”属性注入到标准中定义的每个请求的标头中https://learn.microsoft.com/en-us/azure/azure-monitor /app/distributed-trace-data,但是我们可以在下面看到HelloWorldProducerTrigger的traceparent:

“traceparent”:“00-6d2fe7dfd8e3458b4baf94eb9825cd3d-cdd14db2bf0f112f-00” 操作 ID:6d2fe7dfd8e3458b4baf94eb9825cd3d 父 ID:cdd14db2bf0f112f

和 FooProducerTrigger 有不同的操作Id(所以我认为相关问题就是这样)

“追踪父”:“00-5104fa229a07a7b3eeda5129ca1b7c66-4e4cb97be05bb545-00” 操作 ID:5104fa229a07a7b3eeda5129ca1b7c66 父 ID:4e4cb97be05bb545

我应该怎样做才能正确地自我检测我的 Spring Boot 项目?

根据以下指南,我预计一旦导入 applicationinsights-agent 库,我的应用程序将进行自我检测,因此我将在 App Insight 上看到正确的相关调用。

https://learn.microsoft.com/it-it/azure/azure-monitor/app/opentelemetry-enable?tabs=java

谢谢!

azure azure-functions azure-application-insights
1个回答
0
投票

谢谢@paizo,我同意他的观点,并且根据我遵循的 MS 文档,您可以在下面查看。

我应该怎样做才能正确地自我检测我的 Spring Boot 项目?

您需要检查

traceparent
标头是否在应用程序组件中正确且一致地传播。在您的情况下,您看到不同请求的不同
OperationId
值意味着相关性可能未正确设置。

根据以下指南,我预计一旦导入 applicationinsights-agent 库,我的应用程序将进行自我检测,因此我将在 App Insight 上看到正确的相关调用。

是的,即使在我的情况下,我在我的环境中创建了相同的场景,也是如此,并且它也有效。

enter image description here

  • 这是 Application Insights 检测的依赖项,它涉及将
    applicationinsights-agent
    依赖项添加到您的
    pom.xml
    文件中。

Microsoft Application Insights Java 代理:

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-core</artifactId>
    <version>3.4.19</version>
</dependency>

HttpTrigger:

enter image description here

服务总线队列触发器:

enter image description here

参考:

© www.soinside.com 2019 - 2024. All rights reserved.