Sdílet prostřednictvím


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.3applicationinsights-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.3applicationinsights-web Název cloudové role se už ve výchozím nastavení spring.application.namenepouží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.5.3.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:

Snímek obrazovky zobrazující názvy operací s úplnou cestou

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:

Snímek obrazovky znázorňující parametrizované názvy operací

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í):

  1. První procesor telemetrie je procesor atributů (má typ attribute), což znamená, že se vztahuje na veškerou telemetrii, která má atributy (aktuálně requests a dependencies, ale brzy také traces).

    Odpovídá jakékoli telemetrii, která má pojmenované http.request.method atributy a url.path.

    Potom extrahuje url.path atribut do nového atributu s názvem tempName.

  2. Druhý procesor telemetrie je procesor span (má typ span), což znamená, že se vztahuje na requests a dependencies.

    Odpovídá libovolnému rozsahu, který má atribut s názvem tempPath.

    Pak aktualizuje název rozsahu z atributu tempPath.

  3. 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 tempPatha 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.