Поделиться через


Устранение неполадок автоинструментации Application Insights

Эта статья поможет устранить неполадки, влияющие на автоинструментацию в Application Insights.

Примечание.

Автоинструментация была известна как подключение без кода до октября 2021 года.

Данные телеметрии не передаются после включения автоинструментации

Если вы включили автоматическое управление Application Insights для службы приложений, но не видите данные телеметрии, ознакомьтесь с общими сценариями в следующих разделах.

Пакет SDK для Application Insights был ранее установлен

Автоинструментация не выполняется, если в приложениях .NET и .NET Core уже установлен пакеты SDK Application Insights.

Чтобы иметь возможность включить автоматическую инструментализацию вашего приложения, удалите пакет SDK Application Insights.

Приложение было опубликовано с помощью неподдерживаемой версии .NET или .NET Core

Убедитесь, что поддерживаемая версия .NET или .NET Core использовалась для создания и публикации приложений.

Чтобы определить, поддерживается ли ваша версия, ознакомьтесь со следующей документацией по .NET или .NET Core:

Обнаружена библиотека диагностики

Автоинструментация дает сбой, если обнаруживает следующие библиотеки:

  • System.Diagnostics.DiagnosticSource
  • Microsoft.AspNet.TelemetryCorrelation
  • Microsoft.ApplicationInsights

Для успешной работы автоинструментации эти библиотеки должны быть удалены.

После включения автоматической инструментализации возникают проблемы с SDK.

Если возникают проблемы, вызванные самим пакетом SDK Application Insights после включения автоинструментации, соберите журналы самостоятельной диагностики для диагностики проблем. Дополнительные сведения см. в статье о сборе журналов самостоятельной диагностики для пакетов SDK Application Insights.

Проблемы с развертыванием расширения агента мониторинга Application Insights для виртуальных машин и масштабируемых наборов виртуальных машин

Примечание.

Эти советы по устранению неполадок применяются к приложениям .NET.

Если у вас возникли проблемы с развертыванием расширения, просмотрите выходные данные выполнения, которые журналы расширений записываются в файлы в следующих каталогах:

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\

Если расширение успешно развернуто, но не удается просмотреть данные телеметрии, это может быть одна из следующих проблем, связанных с устранением неполадок агента:

  • Конфликтующие библиотеки динамических ссылок (DLL) в каталоге корзин приложения.
  • Конфликт с общей конфигурацией IIS.

Проблемы с приложением Java, запущенным в Функциях Azure

Медленное время запуска

Если вы приняли эту функцию до февраля 2023 года, функции Java могут иметь медленное время запуска. В области обзора приложения-функции перейдите к разделу "Конфигурация " в меню навигации. Затем выберите параметры приложения и выполните следующие действия, чтобы устранить проблему.

  1. Проверьте, существуют ли следующие параметры и удалите их:

    XDT_MicrosoftApplicationInsights_Java -> 1
    ApplicationInsightsAgent_EXTENSION_VERSION -> ~2
    
  2. Включите последнюю версию, добавив этот параметр:

    APPLICATIONINSIGHTS_ENABLE_AGENT: true
    

Повторяющиеся журналы

Если вы используете log4j или logback для регистрации в консоли, распределенная трассировка для функций Java создает дублирующиеся журналы. Затем эти повторяющиеся журналы отправляются в Application Insights. Чтобы избежать этого поведения, используйте следующие обходные пути.

Log4j

Добавьте следующий фильтр в log4j.xml:

<Filters>
  <ThresholdFilter level="ALL" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
      <Filters>
        <ThresholdFilter level="ALL" onMatch="DENY" onMismatch="NEUTRAL"/>
      </Filters>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

Обратный вход

Добавьте следующий фильтр в logback.xml:

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
  <level>OFF</level>
</filter>  

Пример:

<configuration debug="true">
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are  by default assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>OFF</level>
      </filter>  
    </encoder>
  </appender>
  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

Дополнительные сведения

Если у вас есть дополнительные вопросы об автоинструментации Application Insights, их можно опубликовать на нашей странице вопросов Microsoft Q&A.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.

Отказ от ответственности за контакт с третьими лицами

Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти контактные данные могут изменяться без уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.