Konfigurációs beállítások: Azure Monitor-alkalmazás Elemzések Java-hoz

Ez a cikk bemutatja, hogyan konfigurálhatja az Azure Monitor-alkalmazás Elemzések Java-hoz.

Csatlakozás ion sztring és szerepkör neve

Csatlakozás ion sztring és szerepkörnév az első lépésekhez szükséges leggyakoribb beállítások:

{
  "connectionString": "...",
  "role": {
    "name": "my cloud role name"
  }
}

Csatlakozás ion sztringre van szükség. A szerepkör neve mindig fontos, amikor különböző alkalmazásokból küld adatokat ugyanarra az alkalmazásra Elemzések erőforrásra.

További információt és konfigurációs beállításokat a következő szakaszokban talál.

Konfigurációs fájl elérési útja

Alapértelmezés szerint az Alkalmazás Elemzések Java 3.x elvárja, hogy a konfigurációs fájl neve el legyen nevezveapplicationinsights.json, és ugyanabban a könyvtárban legyen, mint applicationinsights-agent-3.5.2.jara .

Saját konfigurációs fájl elérési útját az alábbi két lehetőség egyikével adhatja meg:

  • APPLICATIONINSIGHTS_CONFIGURATION_FILE környezeti változó
  • applicationinsights.configuration.file Java rendszertulajdonság

Ha relatív elérési utat ad meg, az a könyvtárhoz képest oldódik fel, ahol applicationinsights-agent-3.5.2.jar található.

Másik lehetőségként konfigurációs fájl használata helyett a környezeti változón APPLICATIONINSIGHTS_CONFIGURATION_CONTENTkeresztül megadhatja a JSON-konfiguráció teljes tartalmát.

Kapcsolati sztring

Csatlakozás ion sztringre van szükség. A kapcsolati sztring az alkalmazás Elemzések erőforrásában találja.

Az alkalmazás Elemzések kapcsolati sztring ábrázoló képernyőkép.

{
  "connectionString": "..."
}

A kapcsolati sztring a környezeti változóval APPLICATIONINSIGHTS_CONNECTION_STRINGis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott kapcsolati sztring.

Vagy beállíthatja a kapcsolati sztring a Java rendszertulajdonság applicationinsights.connection.stringhasználatával. Elsőbbséget élvez a JSON-konfigurációban megadott kapcsolati sztring is.

A kapcsolati sztring úgy is beállíthatja, hogy megadjon egy fájlt, amelyből betölti a kapcsolati sztring.

Ha relatív elérési utat ad meg, az a könyvtárhoz képest oldódik fel, ahol applicationinsights-agent-3.5.2.jar található.

{
  "connectionString": "${file:connection-string-file.txt}"
}

A fájlnak csak a kapcsolati sztring és semmi mást kell tartalmaznia.

Ha nem állítja be a kapcsolati sztring letiltja a Java-ügynököt.

Ha több alkalmazás van üzembe helyezve ugyanabban a Java virtuális gépen (JVM), és azt szeretné, hogy telemetriát küldjenek különböző kapcsolati sztring, tekintse meg a Csatlakozás ion-sztring felülbírálásait (előzetes verzió).

Felhőbeli szerepkör neve

A felhőbeli szerepkör neve az összetevő címkézésére szolgál az alkalmazástérképen.

Ha a felhőbeli szerepkör nevét szeretné beállítani:

{
  "role": {   
    "name": "my cloud role name"
  }
}

Ha a felhőbeli szerepkör neve nincs beállítva, a rendszer az alkalmazástérképen az alkalmazás Elemzések erőforrás nevét használja az összetevő címkézésére.

A felhőbeli szerepkör nevét a környezeti változóval APPLICATIONINSIGHTS_ROLE_NAMEis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott felhőszerepkör-névvel szemben.

Vagy beállíthatja a felhőbeli szerepkör nevét a Java rendszertulajdonság applicationinsights.role.namehasználatával. Elsőbbséget élvez a JSON-konfigurációban megadott felhőbeli szerepkör nevével szemben is.

Ha több alkalmazás van üzembe helyezve ugyanabban a JVM-ben, és azt szeretné, hogy telemetriát küldjenek különböző felhőbeli szerepköröknek, tekintse meg a felhőbeli szerepkörök névfelbírálásait (előzetes verzió).

Felhőalapú szerepkörpéldány

A felhőbeli szerepkörpéldány alapértelmezés szerint a gép neve.

Ha a felhőbeli szerepkörpéldányt a gép neve helyett valami másra szeretné beállítani:

{
  "role": {
    "name": "my cloud role name",
    "instance": "my cloud role instance"
  }
}

A felhőalapú szerepkörpéldányt a környezeti változóval APPLICATIONINSIGHTS_ROLE_INSTANCEis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott felhőbeli szerepkörpéldányéval szemben.

Vagy beállíthatja a felhőbeli szerepkörpéldányt a Java rendszertulajdonság applicationinsights.role.instancehasználatával. Elsőbbséget élvez a JSON-konfigurációban megadott felhőbeli szerepkörpéldányéval szemben is.

Mintavételezés

Feljegyzés

A mintavételezés nagyszerű módszer lehet az alkalmazás Elemzések költségeinek csökkentésére. Győződjön meg arról, hogy a használati esetnek megfelelően állítja be a mintavételezési konfigurációt.

A mintavételezés kérésen alapul, ami azt jelenti, hogy ha egy kérés rögzítve van (mintavételezés), akkor a függőségei, naplói és kivételei is.

A mintavételezés a nyomkövetési azonosítón is alapul, hogy egységes mintavételezési döntéseket biztosítson a különböző szolgáltatásokban.

A mintavételezés csak a kérésen belüli naplókra vonatkozik. A kérésben nem található naplókat (például indítási naplókat) a rendszer alapértelmezés szerint mindig összegyűjti. Ha mintát szeretne venni ezekből a naplókból, használhat mintavételezési felülbírálásokat.

Sebességkorlátos mintavételezés

A 3.4.0-tól kezdődően a sebességkorlátos mintavételezés jelenleg az alapértelmezett.

Ha nincs mintavételezés konfigurálva, akkor az alapértelmezett érték korlátozott mintavételezés, amely legfeljebb (körülbelül) másodpercenként öt kérés rögzítésére van konfigurálva, az összes függőséggel és naplóval együtt.

Ez a konfiguráció felülírja a korábbi alapértelmezett beállítást, amely az összes kérés rögzítését jelentette. Ha továbbra is rögzíteni szeretné az összes kérést, használjon rögzített százalékos mintavételezést , és állítsa a mintavételezési százalékot 100-ra.

Feljegyzés

A sebességkorlátos mintavételezés hozzávetőleges, mivel belsőleg egy "rögzített" mintavételi százalékot kell módosítania az idő függvényében, hogy pontos tételszámokat adjon ki az egyes telemetriarekordokon. Belsőleg a sebességkorlátozott mintavételezés úgy van hangolva, hogy gyorsan (0,1 másodperc) alkalmazkodjon az új alkalmazásbetöltésekhez. Ezért nem szabad azt látnia, hogy az jelentősen vagy nagyon hosszú ideig meghaladja a konfigurált arányt.

Ez a példa bemutatja, hogyan állíthatja be a mintavételezést másodpercenként legfeljebb (körülbelül) egy kérés rögzítésére:

{
  "sampling": {
    "requestsPerSecond": 1.0
  }
}

Ez requestsPerSecond lehet decimális, így konfigurálhatja úgy, hogy másodpercenként egynél kevesebb kérést rögzítsen, ha szeretné. Egy érték 0.5 például legfeljebb 2 másodpercenként rögzít egy kérést.

A mintavételi százalékot a környezeti változóval APPLICATIONINSIGHTS_SAMPLING_REQUESTS_PER_SECONDis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott sebességkorlátnál.

Rögzített százalékos mintavételezés

Ez a példa bemutatja, hogyan állíthatja be a mintavételezést az összes kérelem körülbelül egyharmadának rögzítésére:

{
  "sampling": {
    "percentage": 33.333
  }
}

A mintavételi százalékot a környezeti változóval APPLICATIONINSIGHTS_SAMPLING_PERCENTAGEis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott mintavételezési százalékkal szemben.

Feljegyzés

A mintavételi százalékértékhez válasszon egy 100/N-hez közeli százalékot, ahol az N egész szám. A mintavételezés jelenleg nem támogat más értékeket.

Mintavételezési felülbírálások

A mintavételezési felülbírálások lehetővé teszik az alapértelmezett mintavételezési százalék felülbírálását. Lehetőség van például a következőkre:

  • Állítsa a mintavételi százalékot 0-ra vagy kis értékre a zajos állapot-ellenőrzésekhez.
  • A zajos függőségi hívásokhoz állítsa a mintavételezési százalékot 0-ra vagy kis értékre.
  • Egy fontos kéréstípus esetében állítsa a mintavételezési százalékot 100-ra. Használhatja például annak ellenére is, /login hogy az alapértelmezett mintavételezés alacsonyabbra van konfigurálva.

További információ: Mintavételezés felülbírálások dokumentációja .

Java Management Extensions-metrikák

Ha más Java Management Extensions (JMX) metrikákat szeretne gyűjteni:

{
  "jmxMetrics": [
    {
      "name": "JVM uptime (millis)",
      "objectName": "java.lang:type=Runtime",
      "attribute": "Uptime"
    },
    {
      "name": "MetaSpace Used",
      "objectName": "java.lang:type=MemoryPool,name=Metaspace",
      "attribute": "Usage.used"
    }
  ]
}

Az előző konfigurációs példában:

  • name A JMX-metrika metrikájához rendelt metrikanév (bármi lehet).
  • objectNameA gyűjtendő objektum neveJMX MBean. A helyettesítő karakterek csillaga (*) támogatott.
  • attribute a gyűjtendő attribútum neve JMX MBean .

A numerikus és logikai JMX metrikaértékek támogatottak. A logikai JMX-metrikák hamisra és 1 igazra vannak leképezve0.

További információkért tekintse meg a JMX-metrikák dokumentációját .

Egyéni dimenziók

Ha egyéni dimenziókat szeretne hozzáadni az összes telemetriához:

{
  "customDimensions": {
    "mytag": "my value",
    "anothertag": "${ANOTHER_VALUE}"
  }
}

A megadott környezeti változó értékét az indításkor beolvashatja ${...} .

Feljegyzés

A 3.0.2-es verziótól kezdve, ha egyéni dimenziót service.versionad hozzá, az értéket az Alkalmazás Elemzések Naplók tábla oszlopában application_Version tárolja a rendszer, nem pedig egyéni dimenzióként.

Örökölt attribútum (előzetes verzió)

A 3.2.0-s verziótól kezdve programozott módon állíthat be egyéni dimenziót a kéréstelemetria alapján. Függőségek és naplótelemetria alapján biztosítja az öröklést. A rendszer mindet a kérés kontextusában rögzíti.

{
  "preview": {
    "inheritedAttributes": [
      {
        "key": "mycustomer",
        "type": "string"
      }
    ]
  }
}

Ezután az egyes kérések elején hívja meg a következőt:

Span.current().setAttribute("mycustomer", "xyz");

Lásd még: Egyéni tulajdonság hozzáadása spanhoz.

Csatlakozás ion sztring felülbírálása (előzetes verzió)

Ez a funkció előzetes verzióban érhető el, a 3.4.0-s verziótól kezdve.

Csatlakozás ion sztringek felülbírálása lehetővé teszi az alapértelmezett kapcsolati sztring felülbírálását. Lehetőség van például a következőkre:

  • Állítson be egy kapcsolati sztring egy HTTP-elérési út előtaghoz/myapp1.
  • Állítson be egy másik kapcsolati sztring egy másik HTTP-elérési út előtaghoz/myapp2/.
{
  "preview": {
    "connectionStringOverrides": [
      {
        "httpPathPrefix": "/myapp1",
        "connectionString": "..."
      },
      {
        "httpPathPrefix": "/myapp2",
        "connectionString": "..."
      }
    ]
  }
}

Felhőbeli szerepkörnevek felülbírálása (előzetes verzió)

Ez a funkció előzetes verzióban érhető el, a 3.3.0-tól kezdve.

A felhőbeli szerepkörnevek felülbírálása lehetővé teszi az alapértelmezett felhőszerepkör-név felülbírálását. Lehetőség van például a következőkre:

  • Egyetlen felhőbeli szerepkör nevének beállítása egy HTTP-elérési út előtaghoz /myapp1.
  • Másik felhőbeli szerepkör nevének beállítása egy másik HTTP-elérési út előtaghoz /myapp2/.
{
  "preview": {
    "roleNameOverrides": [
      {
        "httpPathPrefix": "/myapp1",
        "roleName": "Role A"
      },
      {
        "httpPathPrefix": "/myapp2",
        "roleName": "Role B"
      }
    ]
  }
}

futtatókörnyezetben konfigurált Csatlakozás ion-sztring

A 3.4.8-tól kezdődően, ha futásidőben szeretné konfigurálni a kapcsolati sztring, adja hozzá ezt a tulajdonságot a json-konfigurációhoz:

{
  "connectionStringConfiguredAtRuntime": true
}

Hozzáadás applicationinsights-core az alkalmazáshoz:

<dependency>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>applicationinsights-core</artifactId>
  <version>3.5.2</version>
</dependency>

Használja a statikus configure(String) metódust az osztályban com.microsoft.applicationinsights.connectionstring.ConnectionString.

Feljegyzés

A kapcsolati sztring konfigurálása előtt rögzített telemetriai adatok elvesznek, ezért a legjobb, ha a lehető leghamarabb konfigurálja azt az alkalmazás indításakor.

InProc-függőségek automatikuscollect (előzetes verzió)

A 3.2.0-s verziótól kezdve, ha az "InProc" vezérlő függőségeit szeretné rögzíteni, használja a következő konfigurációt:

{
  "preview": {
    "captureControllerSpans": true
  }
}

Böngésző SDK Loader (előzetes verzió)

Ez a funkció automatikusan injektálja a Browser SDK Loadert az alkalmazás HTML-lapjaiba, beleértve a megfelelő Csatlakozás ion-sztring konfigurálását is.

Ha például a Java-alkalmazás a következőhöz hasonló választ ad vissza:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Title</title>
  </head>
  <body>
  </body>
</html>

Automatikusan módosítja a visszatérést:

<!DOCTYPE html>
<html lang="en">
  <head>
    <script type="text/javascript">
    !function(v,y,T){var S=v.location,k="script"
    <!-- Removed for brevity -->
    connectionString: "YOUR_CONNECTION_STRING"
    <!-- Removed for brevity --> }});
    </script>
    <title>Title</title>
  </head>
  <body>
  </body>
</html>

A szkript célja, hogy segítse az ügyfeleket a webes felhasználói adatok nyomon követésében, és a kiszolgálóoldali telemetria gyűjtését visszaküldeni a felhasználók Azure Portalra. A részletek az Application Elemzések-JS webhelyen találhatók.

Ha engedélyezni szeretné ezt a funkciót, adja hozzá az alábbi konfigurációs beállítást:

{
  "preview": {
    "browserSdkLoader": {
      "enabled": true
    }
  }
}

Telemetriai processzorok (előzetes verzió)

A telemetriai processzorokkal konfigurálhatja a kérelmekre, függőségekre és nyomkövetési telemetria-adatokra alkalmazott szabályokat. Lehetőség van például a következőkre:

  • Bizalmas adatok maszkolása.
  • Feltételesen adjon hozzá egyéni dimenziókat.
  • Frissítse a span nevet, amely az Azure Portal hasonló telemetriai adatainak összesítésére szolgál.
  • Adott span attribútumok elvetése a betöltési költségek szabályozásához.

További információkért tekintse meg a telemetriai processzor dokumentációját.

Feljegyzés

Ha konkrét (egész) időtartamokat szeretne elvetni a betöltési költségek szabályozásához, tekintse meg a mintavételezési felülbírálásokat.

Egyéni rendszerállapot (előzetes verzió)

A 3.3.1-től kezdve rögzítheti az alkalmazás egy metódusának spanjait:

{
  "preview": {
    "customInstrumentation": [
      {
        "className": "my.package.MyClass",
        "methodName": "myMethod"
      }
    ]
  }
}

Automatikus naplózás

A Log4j, a Logback, a JBoss Logging és a java.util.logging automatikusan be van valasztva. Az ezeken a naplózási keretrendszereken keresztül végzett naplózás automatikusan ki lesz válogatva.

A naplózás csak akkor lesz rögzítve, ha:

  • Megfelel a naplózási keretrendszer konfigurált szintjének.
  • Emellett megfelel az Alkalmazás Elemzések konfigurált szintjének is.

Ha például a naplózási keretrendszer úgy van konfigurálva, hogy naplózza WARN (és a korábban leírtak szerint konfigurálta), com.exampleés az Alkalmazás Elemzések úgy van konfigurálva, hogy rögzítse INFO (és a leírtak szerint konfigurálja), az alkalmazás Elemzések csak a csomagból com.examplerögzíti WARN (és súlyosabb).

Az alkalmazás Elemzések alapértelmezett szintje a következőINFO. Ha módosítani szeretné ezt a szintet:

{
  "instrumentation": {
    "logging": {
      "level": "WARN"
    }
  }
}

A szintet a környezeti változóval APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVELis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott szinttel szemben.

Ezeket az érvényes level értékeket használhatja a fájlban való applicationinsights.json megadásához. A táblázat bemutatja, hogyan felelnek meg a különböző naplózási keretrendszerek naplózási szintjeinek.

Level Log4j Visszavétel JBoss JÚLIUS
KI KI KI KI KI
VÉGZETES VÉGZETES Hiba VÉGZETES Standard kiadás VERE
HIBA (vagy Standard kiadás VERE) Hiba Hiba Hiba Standard kiadás VERE
WARN (vagy WARNING) FIGYELMEZTET FIGYELMEZTET FIGYELMEZTET FIGYELMEZTETÉS
INFO INFO INFO INFO INFO
CONFIG HIBAKERESÉS HIBAKERESÉS HIBAKERESÉS CONFIG
HIBAKERESÉS (vagy FINOM) HIBAKERESÉS HIBAKERESÉS HIBAKERESÉS FINOM
FINOMABB HIBAKERESÉS HIBAKERESÉS HIBAKERESÉS FINOMABB
TRACE (vagy FINEST) NYOMKÖVETÉSI NYOMKÖVETÉSI NYOMKÖVETÉSI LEGJOBB
ALL (összes) ALL (összes) ALL (összes) ALL (összes) ALL (összes)

Feljegyzés

Ha egy kivételobjektumot ad át a naplózónak, a naplóüzenet (és a kivételobjektum részletei) a tábla helyett az exceptions Azure Portalon jelennek meg.traces Ha a naplóüzeneteket mind a táblákban, mind a tracesexceptions táblákban meg szeretné jeleníteni, egy Naplók (Kusto) lekérdezést is írhat, hogy egyesíteni tudja őket. Példa:

union traces, (exceptions | extend message = outerMessage)
| project timestamp, message, itemType

Naplójelölők (előzetes verzió)

A 3.4.2-től kezdve rögzítheti a Logback és a Log4j 2 naplójelölőit:

{
  "preview": {
    "captureLogbackMarker":  true,
    "captureLog4jMarker":  true
  }
}

A logback egyéb naplóattribútumai (előzetes verzió)

A 3.4.3-tól kezdődően rögzítheti FileNameClassNameMethodName, és LineNumberrögzítheti a bejelentkezést:

{
  "preview": {
    "captureLogbackCodeAttributes": true
  }
}

Figyelmeztetés

A kódattribútumok rögzítése teljesítménybeli többletterhelést eredményezhet.

Naplózási szint egyéni dimenzióként

A 3.3.0-s verziótól kezdve alapértelmezés szerint nem lesz rögzítve a Traces egyéni dimenzió részeként, LoggingLevel mert az adatok már rögzítve lesznek a SeverityLevel mezőben.

Szükség esetén ideiglenesen újra engedélyezheti az előző viselkedést:

{
  "preview": {
    "captureLoggingLevelAsCustomDimension": true
  }
}

Autocollected Micrometer metrics (beleértve a Spring Boot Actuator metrikákat)

Ha az alkalmazás Micrometert használ, a Micrometer globális beállításjegyzékbe küldött metrikák automatikusan lesznek felvéve.

Ha az alkalmazás Spring Boot Actuatort használ, a Spring Boot Actuator által konfigurált metrikák is automatikusan lesznek felvéve.

Egyéni metrikák küldése mikrométerrel:

  1. Adja hozzá a Micrometert az alkalmazáshoz az alábbi példában látható módon.

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
      <version>1.6.1</version>
    </dependency>
    
  2. A Micrometer globális beállításjegyzékével hozzon létre egy mérőt az alábbi példában látható módon.

    static final Counter counter = Metrics.counter("test.counter");
    
  3. A számlálóval az alábbi paranccsal rögzíthet metrikákat.

    counter.increment();
    
  4. A metrikák a customMetrics táblába kerülnek, az oszlopban customDimensions rögzített címkékkel. A metrikákat a metrikák kezelőjében is megtekintheti a Log-based metrics metrikanévtér alatt.

    Feljegyzés

    Az alkalmazás Elemzések Java a Micrometer-metrika nevének összes nem alfanumerikus karakterét (a kötőjelek kivételével) aláhúzásjelekre cseréli. Ennek eredményeként az előző test.counter metrika a következőként test_counterjelenik meg: .

A Micrometer-metrikák és a Spring Boot Actuator-metrikák automatikuscollectionének letiltása:

Feljegyzés

Az egyéni metrikák számlázása külön-külön lehetséges, és többletköltségeket eredményezhet. Ellenőrizze a díjszabással kapcsolatos információkat. A Micrometer és a Spring Boot Actuator metrikák letiltásához adja hozzá a következő konfigurációt a konfigurációs fájlhoz.

{
  "instrumentation": {
    "micrometer": {
      "enabled": false
    }
  }
}

Java Database Csatlakozás ivity query masking

A Java Database Csatlakozás ivity (JDBC) lekérdezések konstans értékei alapértelmezés szerint maszkolással vannak elfedve a bizalmas adatok véletlen rögzítésének elkerülése érdekében.

A 3.4.0-tól kezdődően ez a viselkedés letiltható. Példa:

{
  "instrumentation": {
    "jdbc": {
      "masking": {
        "enabled": false
      }
    }
  }
}

Mongo-lekérdezések maszkolása

A Mongo-lekérdezésekben a literális értékek alapértelmezés szerint maszkolással vannak elfedve a bizalmas adatok véletlen rögzítésének elkerülése érdekében.

A 3.4.0-tól kezdődően ez a viselkedés letiltható. Példa:

{
  "instrumentation": {
    "mongo": {
      "masking": {
        "enabled": false
      }
    }
  }
}

HTTP-fejlécek

A 3.3.0-s verziótól kezdve rögzítheti a kérés- és válaszfejléceket a kiszolgáló (kérés) telemetrián:

{
  "preview": {
    "captureHttpServerHeaders": {
      "requestHeaders": [
        "My-Header-A"
      ],
      "responseHeaders": [
        "My-Header-B"
      ]
    }
  }
}

A fejlécnevek nem érzéketlenek a kis- és nagybetűk között.

Az előző példákat a tulajdonságnevek http.request.header.my_header_a és http.response.header.my_header_ba .

Hasonlóképpen rögzítheti a kérés- és válaszfejléceket az ügyfél -(függőségi) telemetrián:

{
  "preview": {
    "captureHttpClientHeaders": {
      "requestHeaders": [
        "My-Header-C"
      ],
      "responseHeaders": [
        "My-Header-D"
      ]
    }
  }
}

A fejlécnevek ismét érzéketlenek a kis- és nagybetűk számára. Az előző példákat a tulajdonságnevek http.request.header.my_header_c és http.response.header.my_header_da .

HTTP-kiszolgáló 4xx válaszkódjai

Alapértelmezés szerint a 4xx válaszkódokat eredményező HTTP-kiszolgálókérések hibaként lesznek rögzítve.

A 3.3.0-s verziótól kezdve módosíthatja ezt a viselkedést, hogy sikeresként rögzítse őket:

{
  "preview": {
    "captureHttpServer4xxAsError": false
  }
}

Adott autocollected telemetria letiltása

A 3.0.3-s verziótól kezdődően az automatikusan észlelt telemetria az alábbi konfigurációs beállítások használatával tiltható le:

{
  "instrumentation": {
    "azureSdk": {
      "enabled": false
    },
    "cassandra": {
      "enabled": false
    },
    "jdbc": {
      "enabled": false
    },
    "jms": {
      "enabled": false
    },
    "kafka": {
      "enabled": false
    },
    "micrometer": {
      "enabled": false
    },
    "mongo": {
      "enabled": false
    },
    "quartz": {
      "enabled": false
    },
    "rabbitmq": {
      "enabled": false
    },
    "redis": {
      "enabled": false
    },
    "springScheduling": {
      "enabled": false
    }
  }
}

Ezeket a rendszerállapotokat úgy is letilthatja, hogy a környezeti változókat a következőre falseállítja:

  • APPLICATIONINSIGHTS_INSTRUMENTATION_AZURE_SDK_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_CASSANDRA_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_JDBC_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_JMS_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_KAFKA_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_MICROMETER_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_MONGO_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_RABBITMQ_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_REDIS_ENABLED
  • APPLICATIONINSIGHTS_INSTRUMENTATION_SPRING_SCHEDULING_ENABLED

Ezek a változók elsőbbséget élveznek a JSON-konfigurációban megadott engedélyezett változókkal szemben.

Feljegyzés

Ha részletesebb vezérlést szeretne, például néhány Redis-hívás letiltásához, de nem minden Redis-híváshoz, olvassa el a Mintavételezési felülbírálások című témakört.

Előzetes verziójú rendszerállapotok

A 3.2.0-s verziótól kezdve a következő előzetes verziójú rendszerállapotokat engedélyezheti:

{
  "preview": {
    "instrumentation": {
      "akka": {
        "enabled": true
      },
      "apacheCamel": {
        "enabled": true
      },
      "grizzly": {
        "enabled": true
      },
      "ktor": {
        "enabled": true
      },
      "play": {
        "enabled": true
      },
      "r2dbc": {
        "enabled": true
      },
      "springIntegration": {
        "enabled": true
      },
      "vertx": {
        "enabled": true
      }
    }
  }
}

Feljegyzés

Az Akka-rendszerállapot a 3.2.2-es verziótól érhető el. A Vertx HTTP-kódtár rendszerállapota a 3.3.0-s verziótól érhető el.

Metrikaintervallum

A metrikákat alapértelmezés szerint 60 másodpercenként rögzíti a rendszer.

A 3.0.3-tól kezdődően módosíthatja ezt az időközt:

{
  "metricIntervalSeconds": 300
}

A 3.4.9 GA-tól kezdődően a környezeti változóval APPLICATIONINSIGHTS_METRIC_INTERVAL_SECONDSis beállíthatja aztmetricIntervalSeconds. Ezután elsőbbséget élvez a metricIntervalSeconds JSON-konfigurációban megadottaknál.

A beállítás a következő metrikákra vonatkozik:

Szívverés

Alapértelmezés szerint az Alkalmazás Elemzések Java 3.x 15 percenként küld szívverési metrikát. Ha a szívverési metrikát használja a riasztások aktiválásához, növelheti a szívverés gyakoriságát:

{
  "heartbeat": {
    "intervalSeconds": 60
  }
}

Feljegyzés

Az időköz nem növelhető 15 percnél hosszabbra, mert a szívverési adatok az alkalmazás Elemzések használatának nyomon követésére is szolgálnak.

Hitelesítés

Feljegyzés

A hitelesítési funkció a 3.4.17-es verzió óta ga.

Hitelesítés használatával konfigurálhatja az ügynököt a Microsoft Entra-hitelesítéshez szükséges jogkivonat-hitelesítő adatok létrehozásához. További információkért tekintse meg a hitelesítési dokumentációt.

HTTP-proxy

Ha az alkalmazás tűzfal mögött található, és nem tud közvetlenül csatlakozni az Alkalmazás Elemzések, tekintse meg az Alkalmazás Elemzések által használt IP-címeket.

A probléma megoldásához konfigurálhatja a Java 3.x alkalmazás Elemzések HTTP-proxy használatára.

{
  "proxy": {
    "host": "myproxy",
    "port": 8080
  }
}

A http-proxyt a formátumot https://<host>:<port>használó környezeti változóval APPLICATIONINSIGHTS_PROXYis beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott proxyval szemben.

Az alkalmazás Elemzések Java 3.x a globális https.proxyHost és https.proxyPort a rendszertulajdonságokat is tiszteletben tartja, ha be vannak állítva, és http.nonProxyHostsszükség esetén.

Helyreállítás betöltési hibákból

Ha nem sikerül telemetriát küldeni az Alkalmazás Elemzések szolgáltatásnak, az alkalmazás Elemzések Java 3.x tárolja a telemetriát a lemezen, és folytatja az újrapróbálkozást a lemezről.

A lemezmegőrzés alapértelmezett korlátja 50 Mb. Ha nagy telemetriai kötete van, vagy hosszabb hálózati vagy betöltési szolgáltatáskimaradásokból szeretne helyreállni, a 3.3.0-s verziótól kezdve növelheti ezt a korlátot:

{
  "preview": {
    "diskPersistenceMaxSizeMb": 50
  }
}

Öndiagnosztika

Az "öndiagnosztika" a Java 3.x alkalmazásból Elemzések belső naplózást jelenti. Ez a funkció hasznos lehet az alkalmazás Elemzések problémáinak felderítéséhez és diagnosztizálásához.

Alapértelmezés szerint az alkalmazás Elemzések a Java 3.x-naplókat a fájl applicationinsights.log és a konzol szintjén INFO is, a konfigurációnak megfelelően:

{
  "selfDiagnostics": {
    "destination": "file+console",
    "level": "INFO",
    "file": {
      "path": "applicationinsights.log",
      "maxSizeMb": 5,
      "maxHistory": 1
    }
  }
}

Az előző konfigurációs példában:

  • level lehet az OFFegyik , ERROR, WARN, INFO, DEBUGvagy TRACE.
  • path lehet abszolút vagy relatív elérési út. A relatív elérési utak a könyvtárban vannak feloldva, ahol applicationinsights-agent-3.5.2.jar található.

A 3.0.2-es verziótól kezdve az öndiagnosztikát level a környezeti változó APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVELhasználatával is beállíthatja. Ezután elsőbbséget élvez a JSON-konfigurációban megadott öndiagnosztikai szinttel szemben.

A 3.0.3-tól kezdődően az öndiagnosztikai fájl helyét is beállíthatja a környezeti változó APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_FILE_PATHhasználatával. Ezután elsőbbséget élvez a JSON-konfigurációban megadott öndiagnosztikai fájl elérési útjának.

Példa

Ez a példa bemutatja, hogyan néz ki egy konfigurációs fájl több összetevővel. Az igényeinek megfelelően konfiguráljon bizonyos beállításokat.

{
  "connectionString": "...",
  "role": {
    "name": "my cloud role name"
  },
  "sampling": {
    "percentage": 100
  },
  "jmxMetrics": [
  ],
  "customDimensions": {
  },
  "instrumentation": {
    "logging": {
      "level": "INFO"
    },
    "micrometer": {
      "enabled": true
    }
  },
  "proxy": {
  },
  "preview": {
    "processors": [
    ]
  },
  "selfDiagnostics": {
    "destination": "file+console",
    "level": "INFO",
    "file": {
      "path": "applicationinsights.log",
      "maxSizeMb": 5,
      "maxHistory": 1
    }
  }
}