Azure Spring 启动应用程序洞察心跳遥测

Azure Spring Boot application insights heartbeat telemetry

对于我的 spring 引导应用程序,我启用了以下 Maven 依赖项:

    <dependency>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>applicationinsights-spring-boot-starter</artifactId>
        <version>${appinsight.version}</version>
    </dependency>

我希望与 Azure Application Insight 集成以监控我的 spring 启动应用程序。

我在 application.properties 中启用了以下属性:

spring.application.name=test
azure.application-insights.instrumentation-key=test_id
azure.application-insights.heart-beat.heart-beat-interval=60
azure.application-insights.heart-beat.enabled=true

有了这些,我的应用程序就会显示在 Azure App Insight 仪表板的 Application Map 中。 我可以在我的服务上看到 Http 请求,例如/health 端点由 kubelet 使用 livenessProbe.

调用

我无法理解心跳。我已启用上述属性,但我不知道在 azure app insight 中在哪里可以找到此心跳信息。 运行 的哪些查询验证我的 spring 启动应用程序是否确实在发送检测信号遥测数据。

我没有编写任何代码来发送心跳遥测数据,只是启用了属性,因为我假设您可以通过入门工具包获得它。

我可以在哪里以及如何确认 App Insights 或 Log Anaytics 中的心跳信息?

心跳数据存储在customMetrics的table中,名称为HeartbeatState,所以可以使用下面的查询:

customMetrics | where name == "HeartbeatState"