Olvasás angol nyelven

Megosztás a következőn keresztül:


Frissítés az Application Insights Java 2.x SDK-ról

A 3.x-re való frissítéskor általában nincsenek kódmódosítások. A 3.x SDK-függőségek a 2.x SDK-függőségek nem op api-verziói. A 3.x Java-ügynökkel való használat esetén azonban a 3.x Java-ügynök biztosítja a megvalósítást. Ennek eredményeképpen az egyéni rendszerállapot korrelál a 3.x Java-ügynök által biztosított új autoinstrumentációval.

1. lépés: Függőségek frissítése

2.x függőség Művelet Megjegyzések
applicationinsights-core A verzió frissítése vagy újabb verziója 3.4.3
applicationinsights-web Frissítse a verziót vagy újabb verziót 3.4.3 , és távolítsa el az Application Insights webszűrőt a fájlból web.xml .
applicationinsights-web-auto Cserélje le a 3.4.3applicationinsights-web
applicationinsights-logging-log4j1_2 Távolítsa el a függőséget, és távolítsa el az Application Insights-hozzáfűzőt a Log4j-konfigurációból. Már nincs rá szükség, mivel a Log4j 1.2 automatikusan be van adva a 3.x Java-ügynökbe.
applicationinsights-logging-log4j2 Távolítsa el a függőséget, és távolítsa el az Application Insights-hozzáfűzőt a Log4j-konfigurációból. Már nincs rá szükség, mivel a Log4j 2 automatikusan be van adva a 3.x Java-ügynökbe.
applicationinsights-logging-logback Távolítsa el a függőséget, és távolítsa el az Application Insights-hozzáfűzőt a bejelentkezési konfigurációból. Már nincs rá szükség, mivel a bejelentkezés automatikusan be van adva a 3.x Java-ügynökben.
applicationinsights-spring-boot-starter Cserélje le a 3.4.3applicationinsights-web A felhőbeli szerepkör neve már nem alapértelmezett.spring.application.name A felhőbeli szerepkör nevének konfigurálásáról a 3.x konfigurációs dokumentációban olvashat.

2. lépés: A 3.x Java-ügynök hozzáadása

Adja hozzá a 3.x Java-ügynököt a Java-alapú virtuális gép (JVM) parancssori argjeihez, például:

-javaagent:path/to/applicationinsights-agent-3.6.2.jar

Ha az Application Insights 2.x Java-ügynököt használja, cserélje le a meglévőt -javaagent:... az előző példára.

Megjegyzés

Ha a spring-boot-startert használta, és ha szeretné, van alternatíva a Java-ügynök használatára. Lásd: 3.x Spring Boot.

3. lépés: Az Application Insights kapcsolati sztring konfigurálása

Lásd a kapcsolati sztring konfigurálását.

Egyéb megjegyzések

A dokumentum többi része a 2.x-ről 3.x-re való frissítéskor előforduló korlátozásokat és módosításokat, valamint néhány hasznos kerülő megoldást ismertet.

TelemetryInitializers

A 2.x SDK TelemetryInitializers nem fut a 3.x ügynök használatakor. A korábban szükséges TelemetryInitializer használati esetek nagy része megoldható az Application Insights Java 3.x-ben egyéni dimenziók konfigurálásával. Vagy öröklött attribútumok használata.

TelemetryProcessors

A 2.x SDK TelemetryProcessors nem fut a 3.x ügynök használatakor. A korábban szükséges TelemetryProcessor használati esetek nagy része megoldható az Application Insights Java 3.x-ben a mintavételezési felülbírálások konfigurálásával.

Több alkalmazás egyetlen JVM-ben

Ez a használati eset az Application Insights Java 3.x-ben támogatott felhőbeli szerepkörnév-felülbírálások (előzetes verzió) és/vagy kapcsolati sztringek felülbírálása (előzetes verzió) használatával.

Műveletnevek

Az Application Insights Java 2.x SDK-ban bizonyos esetekben a műveletnevek a teljes elérési utat tartalmazzák, például:

Képernyőkép a műveletnevekről teljes elérési úttal

Az Application Insights Java 3.x-ben a műveletnevek úgy módosultak, hogy általában jobb összesített nézetet biztosítsanak az Application Insights Portál U/X-ben, például:

Képernyőkép a paraméteres műveletnevekről

Egyes alkalmazások esetében azonban továbbra is előnyben részesítheti az előző műveletnevek által biztosított összesített nézetet az U/X-ben. Ebben az esetben a 3.x telemetriai processzorok (előzetes verzió) funkciójával replikálhatja az előző viselkedést.

Az alábbi kódrészlet három olyan telemetriai processzort konfigurál, amelyek kombinálva replikálják az előző viselkedést. A telemetriai processzorok a következő műveleteket hajtják végre (sorrendben):

  1. Az első telemetriai processzor egy attribútumfeldolgozó (típussal attributerendelkezik), ami azt jelenti, hogy minden olyan telemetriára vonatkozik, amely attribútumokkal rendelkezik (jelenleg requests és dependencieshamarosan is traces).

    Megfelel minden olyan telemetriának, amelynek attribútumai el vannak nevezve http.request.method és url.path.

    Ezután kinyeri az attribútumot url.path egy új, névvel ellátott tempNameattribútumba.

  2. A második telemetriai processzor egy span processzor (típus span), ami azt jelenti, hogy vonatkozik és requests dependencies.

    Megfelel minden olyan tartománynak, amelynek egy attribútuma van.tempPath

    Ezután frissíti a span nevet az attribútumból tempPath.

  3. Az utolsó telemetriai processzor egy attribútumfeldolgozó, amely megegyezik az első telemetriai processzor típusával.

    Megfelel minden olyan telemetriának, amely rendelkezik egy attribútummal.tempPath

    Ezután törli a névvel ellátott tempPathattribútumot, és az attribútum egyéni dimenzióként jelenik meg.

{
  "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élda projektre

Ezt a Java 2.x SDK-projektet a rendszer a 3.x Java-ügynök használatával migrálja egy új projektbe.