Как отслеживать зависимости RestTemplate и JDBC с помощью Application Insights, используя Spring Boot? - PullRequest
0 голосов
/ 16 января 2019

Согласно документации, вызовы RestTemplate и JDBC, сделанные в моем приложении Spring Boot, должны «автоматически» отслеживаться с настроенным Application Insights. Я вижу свои логи в AI, но не ожидаемые зависимости.

Я выполнил шаги для azure-application-insights-spring-boot-starter .

В разделе «Миграция из конфигурации на основе XML» он предписывает вам следовать официальной документации , но в этом случае упоминается только использование конфигураций XML.

Здесь также упоминается RestTemplate, и вызовы JDBC должны автоматически отслеживаться «без каких-либо изменений кода», но я этого не вижу.

Запуск в службе приложений Windows.

<dependency>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>applicationinsights-spring-boot-starter</artifactId>
  <version>1.1.1</version>
</dependency>
<dependency>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>applicationinsights-logging-logback</artifactId>
  <version>[2.0,)</version>
</dependency>

azure:
  application-insights:
    enabled: true
    instrumentation-key: <mykey>
    web:
      enabled: true
      w3c: true
    logger:
      type: console
      level: info
    default-modules:
      ProcessPerformanceCountersModule:
        enabled: true
      JvmPerformanceCountersModule:
        enabled: true
      WebRequestTrackingTelemetryModule:
        enabled: true
      WebSessionTrackingTelemetryModule:
        enabled: true
      WebUserTrackingTelemetryModule:
        enabled: true
      WebPerformanceCounterModule:
        enabled: true
      WebOperationIdTelemetryInitializer:
        enabled: true
      WebOperationNameTelemetryInitializer:
        enabled: true
      WebSessionTelemetryInitializer:
        enabled: true
      WebUserTelemetryInitializer:
        enabled: true
      WebUserAgentTelemetryInitializer:
        enabled: true

Не уверен, что это уместно, но я запускаю его локально и подключаюсь к своему экземпляру приложения, чтобы проверить ведение журнала. При запуске я вижу следующее:

AI: ИНФОРМАЦИЯ 16-01-2019 14: 28: 38.268 + 0000, 18 (localhost-startStop-1): указанный класс com.microsoft.applicationinsights.agent.internal.coresync.AgentNotificationsHandler отсутствует в пути к классам AI: ИНФОРМАЦИЯ 16-01-2019 14: 28: 38.268 + 0000, 18 (localhost-startStop-1): агент не найден. Пропуск регистрации агента в 0.412мс

1 Ответ

0 голосов
/ 17 января 2019

Это не ошибка, а просто указание на то, что в основном вам также нужно использовать ApplicationInsightsJava Agent для сбора зависимостей. Соответствующие документы для добавления агента: https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-agent. Я также ответил на этот вопрос по проблеме Github, которую вы создали здесь. https://github.com/Microsoft/ApplicationInsights-Java/issues/566#issuecomment-454973299

...