Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обычно при обновлении до версии 3.x изменения кода не требуются. Зависимости пакета SDK 3.x — это версии API no-op зависимостей пакета SDK 2.x. Однако при использовании с агентом Java 3.x агент Java 3.x предоставляет для них реализацию. В результате настраиваемое инструментирование сопоставляется со всеми новыми автоматическими средствами, предоставляемыми агентом Java 3.x.
Шаг 1. Обновление зависимостей
| Зависимость 2.x | Действие | Замечания |
|---|---|---|
applicationinsights-core |
Обновление версии до 3.4.3 или более поздней |
|
applicationinsights-web |
Обновите версию до 3.4.3 или более поздней и удалите веб-фильтр Application Insights файла web.xml. |
|
applicationinsights-web-auto |
Замена на 3.4.3 или более позднюю версию applicationinsights-web |
|
applicationinsights-logging-log4j1_2 |
Удалите зависимость и удалите приложение Application Insights из конфигурации Log4j. | Больше не требуется, так как Log4j 1.2 автоматически используется в агенте Java 3.x. |
applicationinsights-logging-log4j2 |
Удалите зависимость и удалите приложение Application Insights из конфигурации Log4j. | Больше не требуется, так как Log4j 2 автоматически используется в агенте Java 3.x. |
applicationinsights-logging-logback |
Удалите зависимость и удалите добавление Application Insights из конфигурации logback. | Больше не требуется, так как функция logback автоматически используется в агенте Java 3.x. |
applicationinsights-spring-boot-starter |
Замена на 3.4.3 или более позднюю версию applicationinsights-web |
Имя облачной роли больше не используется spring.application.nameпо умолчанию. Сведения о настройке имени облачной роли см. в документации по конфигурации 3.x. |
Шаг 2. Добавление агента Java 3.x
Добавьте агент Java 3.x в командную строку Java Virtual Machine (JVM), например:
-javaagent:path/to/applicationinsights-agent-3.7.5.jar
Если вы используете агент Java Application Insights 2.x, просто замените существующий -javaagent:... на предыдущий пример.
Примечание.
Если вы использовали spring-boot-starter, существует альтернатива агента Java. См. 3.x Spring Boot.
Шаг 3. Настройка строки подключения Application Insights
См. сведения о настройке строки подключения.
Другие примечания
В остальной части этого документа описываются ограничения и изменения, которые могут возникнуть при обновлении с версии 2.x до 3.x, а также некоторые обходные пути, которые могут оказаться полезными.
ИнициаторыТелеметрии
2.x TelemetryInitializers не выполняются при использовании агента 3.x.
Многие из вариантов использования, которые ранее требовались написанием TelemetryInitializer , можно решить в Application Insights Java 3.x, настроив пользовательские измерения.
Или использование унаследованных атрибутов.
Обработчики телеметрии
2.x TelemetryProcessors не выполняются при использовании агента 3.x.
Многие из вариантов использования, которые ранее требовались для записи TelemetryProcessor , можно решить в Application Insights Java 3.x, настроив переопределения выборки.
Несколько приложений в одной виртуальной машине Java
Этот вариант использования поддерживается в Application Insights Java 3.x с помощью переопределения имен ролей облака (предварительная версия) и (или)переопределения строк подключения (предварительная версия).
Имена операций
В пакете SDK Для Java 2.x Application Insights в некоторых случаях имена операций содержат полный путь, например:
Имена операций в Application Insights Java 3.x изменились, чтобы обеспечить лучшее агрегированное представление на портале Application Insights U/X, например:
Однако для некоторых приложений можно по-прежнему предпочесть агрегированное представление в U/X, предоставленное предыдущими именами операций. В этом случае можно использовать функцию обработчиков телеметрии (предварительная версия) в 3.x для репликации предыдущего поведения.
Следующий фрагмент кода настраивает три процессора телеметрии, которые объединяются для репликации предыдущего поведения. Обработчики данных телеметрии выполняют следующие действия (по порядку):
Первый обработчик данных телеметрии является обработчиком атрибутов (имеет тип
attribute). Это означает, что он применяется ко всем данным телеметрии, имеющим атрибуты (в настоящее время этоrequestsиdependencies, но вскоре также иtraces).Он соответствует любой телеметрии, которая имеет атрибуты с именем
http.request.methodиurl.path.Затем он извлекает
url.pathатрибут в новый атрибут с именемtempName.Второй обработчик данных телеметрии является обработчиком диапазонов (имеет тип
span). Это означает, что он применяется кrequestsиdependencies.Он соответствует любому диапазону с именем
tempPathатрибута.Затем он обновляет имя диапазона из атрибута
tempPath.Последний обработчик данных телеметрии — это обработчик атрибутов, имеющий тот же тип, что и первый обработчик данных телеметрии.
Он соответствует любой телеметрии с именем
tempPathатрибута.Затем он удаляет именованный
tempPathатрибут, а атрибут отображается как настраиваемое измерение.
{
"preview": {
"processors": [
{
"type": "attribute",
"include": {
"matchType": "strict",
"attributes": [
{ "key": "http.request.method" },
{ "key": "url.path" }
]
},
"actions": [
{
"key": "url.path",
"pattern": "https?://[^/]+(?<tempPath>/[^?]*)",
"action": "extract"
}
]
},
{
"type": "span",
"include": {
"matchType": "strict",
"attributes": [
{ "key": "tempPath" }
]
},
"name": {
"fromAttributes": [ "http.request.method", "tempPath" ],
"separator": " "
}
},
{
"type": "attribute",
"include": {
"matchType": "strict",
"attributes": [
{ "key": "tempPath" }
]
},
"actions": [
{ "key": "tempPath", "action": "delete" }
]
}
]
}
}
Отбор проб и недостающие журналы
По умолчанию в агенте версии 3.4 включена дискретизация с ограничением скорости, что может привести к неожиданному отсутствию журналов.
Пример проекта
Этот проект пакета SDK java 2.x переносится в новый проект с помощью агента Java 3.x.