Upgrade ze sady Application Insights Java 2.x SDK
Při upgradu na verzi 3.x obvykle nejsou žádné změny kódu. Závislosti sady SDK 3.x jsou verze rozhraní API bez opu závislostí sady SDK 2.x. Pokud se však používá s agentem Java verze 3.x, poskytuje pro ně agent Java verze 3.x implementaci. Výsledkem je, že vaše vlastní instrumentace koreluje se všemi novými automatickými instalacemi, které poskytuje agent Java verze 3.x.
Krok 1: Aktualizace závislostí
Závislost 2.x | Akce | Poznámky |
---|---|---|
applicationinsights-core |
Aktualizace verze na 3.4.3 nebo novější |
|
applicationinsights-web |
Aktualizujte verzi na 3.4.3 verzi nebo novější a odeberte web Application Insights, který filtruje váš web.xml soubor. |
|
applicationinsights-web-auto |
Nahradit čím nebo novějším 3.4.3 applicationinsights-web |
|
applicationinsights-logging-log4j1_2 |
Odeberte závislost a odeberte přidávací nástroj Application Insights z konfigurace Log4j. | Vzhledem k tomu, že log4j 1.2 je automaticky instruován v agentu Java verze 3.x, už není potřeba. |
applicationinsights-logging-log4j2 |
Odeberte závislost a odeberte přidávací nástroj Application Insights z konfigurace Log4j. | Vzhledem k tomu, že log4j 2 je automaticky instrumentován v agentu Java 3.x, už není potřeba. |
applicationinsights-logging-logback |
Odeberte závislost a odeberte přidávací nástroj Application Insights z konfigurace zpětného protokolování. | Vzhledem k tomu, že se logback automaticky instruuje v agentu Java verze 3.x, už není potřeba. |
applicationinsights-spring-boot-starter |
Nahradit čím nebo novějším 3.4.3 applicationinsights-web |
Název cloudové role se už ve výchozím nastavení spring.application.name nepoužívá . Informace o konfiguraci názvu cloudové role najdete v dokumentaci ke konfiguraci 3.x. |
Krok 2: Přidání agenta Java verze 3.x
Přidejte agenta Java 3.x do příkazového řádku Java Virtual Machine (JVM), například:
-javaagent:path/to/applicationinsights-agent-3.6.2.jar
Pokud používáte agenta Application Insights 2.x Java, stačí nahradit stávající -javaagent:...
verzi předchozím příkladem.
Poznámka:
Pokud jste používali úvodní sadu spring-boot a pokud chcete, existuje alternativa k použití agenta Java. Viz 3.x Spring Boot.
Krok 3: Konfigurace služby Application Insights připojovací řetězec
Viz konfigurace připojovací řetězec.
Další poznámky
Zbytek tohoto dokumentu popisuje omezení a změny, se kterými se můžete setkat při upgradu z verze 2.x na verzi 3.x, a některá alternativní řešení, která můžou být užitečná.
TelemetryInitializers
2.x SDK TelemetryInitializers se nespustí při použití agenta 3.x.
Mnoho případů použití, které dříve vyžadovaly zápis, TelemetryInitializer
je možné vyřešit v Application Insights Java 3.x konfigurací vlastních dimenzí.
Nebo pomocí zděděných atributů.
TelemetryProcessors
2.x SDK TelemetryProcessors se nespustí při použití agenta 3.x.
Mnoho případů použití, které dříve vyžadovaly zápis, TelemetryProcessor
je možné vyřešit v Application Insights Java 3.x konfigurací přepsání vzorkování.
Více aplikací v jednom prostředí JVM
Tento případ použití se podporuje v Application Insights Java 3.x pomocí přepsání názvu cloudové role (Preview) nebo přepsání připojovacího řetězce (Preview).
Názvy operací
V sadě Application Insights Java 2.x SDK v některých případech názvy operací obsahovaly úplnou cestu, například:
Názvy operací v Application Insights Java 3.x se změnily tak, aby obecně poskytovaly lepší agregované zobrazení na portálu Application Insights U/X, například:
U některých aplikací ale můžete stále preferovat agregované zobrazení v U/X, které byly poskytnuty názvy předchozích operací. V tomto případě můžete k replikaci předchozího chování použít funkci procesorů telemetrie (Preview) ve verzi 3.x.
Následující fragment kódu nakonfiguruje tři procesory telemetrie, které kombinují replikaci předchozího chování. Procesory telemetrie provádějí následující akce (v pořadí):
První procesor telemetrie je procesor atributů (má typ
attribute
), což znamená, že se vztahuje na veškerou telemetrii, která má atributy (aktuálněrequests
adependencies
, ale brzy takétraces
).Odpovídá jakékoli telemetrii, která má pojmenované
http.request.method
atributy aurl.path
.Potom extrahuje
url.path
atribut do nového atributu s názvemtempName
.Druhý procesor telemetrie je procesor span (má typ
span
), což znamená, že se vztahuje narequests
adependencies
.Odpovídá libovolnému rozsahu, který má atribut s názvem
tempPath
.Pak aktualizuje název rozsahu z atributu
tempPath
.Poslední procesor telemetrie je procesor atributů, který je stejný jako první procesor telemetrie.
Odpovídá jakékoli telemetrii, která má atribut s názvem
tempPath
.Potom odstraní atribut s názvem
tempPath
a atribut se zobrazí jako vlastní dimenze.
{
"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" }
]
}
]
}
}
Příklad projektu
Tento projekt sady Java 2.x SDK se migruje do nového projektu pomocí agenta Java verze 3.x.