kotlin 未提供连接字符串(Azure Application Insights)

mdfafbf1  于 2023-02-24  发布在  Kotlin
关注(0)|答案(2)|浏览(135)

我是Azure App Insights的新手。我正在尝试在我的Spring Boot + Kotlin应用程序中配置它。到目前为止,在阅读了指南之后。我已经添加了依赖项:

<!-- https://mvnrepository.com/artifact/com.microsoft.azure/applicationinsights-runtime-attach -->
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>applicationinsights-runtime-attach</artifactId>
    <version>3.4.9</version>
</dependency>

在我的application.yaml文件中,我添加了:

applicationinsights:
  runtime-attach:
    configuration:
      classpath:
        file: my_app_insights.json

我的my_app_insights.json(驻留在src/main/resources中)包含:

{
  "connectionString":"A_VERY_LONG_CONNECTION_STRING",
  "sampling":{
    "requestsPerSecond":100
  },
  "instrumentation":{
    "logging":{
      "level":"INFO"
    },
    "jdbc":{
      "masking":{
        "enabled":true
      }
    }
  }
}

在我的Spring Boot主类中,我这样做了:

fun main(args: Array<String>) {

    // Attach Azure Application Insights here.
    ApplicationInsights.attach()

    runApplication<MyDownloadApplication>(*args)
}

但是当我启动我的springboot应用程序时,通常使用mvn spring-boot:run...
出现以下错误:

2023-02-21 18:41:11.152+05:30 ERROR c.m.applicationinsights.agent - 
*************************
Application Insights Java Agent 3.4.9 startup failed (PID 18436)
*************************

Description:
No connection string provided

Action:
Please provide connection string.

18:41:11.582 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@306e2a0a
Feb 21, 2023 6:41:11 PM com.microsoft.applicationinsights.attach.ApplicationInsights attach
WARNING: Application Insights is already attached. It is not attached a second time.

你能告诉我我在这里做错了什么吗?我需要添加任何其他依赖项吗?或者是文件名吗?
任何提示都很有用。

dced5bon

dced5bon1#

applicationinsights.runtime-attach.configuration.classpath.file属性不能在application.propertiesapplication.yaml中定义。而必须使用-D定义,例如-Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.json
另一种选择是不使用-Dapplicationinsights.runtime-attach.configuration.classpath.file。在这种情况下,Application Insights将在类路径(src/main/resourcessrc/test/resources)中搜索applicationinsights.json文件。
Application Insights json文件还存在其他配置选项,此处提供了这些选项。

gorkyyrv

gorkyyrv2#

您必须将-Dspring-boot.run.jvmArgumentsspring-boot:run相加。例如,如果您的类路径(src/main/resourcessrc/test/resources)中有一个applicationinsights-dev.json文件,则必须执行

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Dapplicationinsights.runtime-attach.configuration.classpath.file=applicationinsights-dev.json"

相关问题