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.jar
a .
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_CONTENT
keresztü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.
{
"connectionString": "..."
}
A kapcsolati sztring a környezeti változóval APPLICATIONINSIGHTS_CONNECTION_STRING
is 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.string
haszná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_NAME
is 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.name
haszná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_INSTANCE
is 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.instance
haszná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_SECOND
is 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_PERCENTAGE
is 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).objectName
A gyűjtendő objektum neveJMX MBean
. A helyettesítő karakterek csillaga (*) támogatott.attribute
a gyűjtendő attribútum neveJMX 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.version
ad 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.example
rö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_LEVEL
is 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 traces
exceptions
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 FileName
ClassName
MethodName
, és LineNumber
rö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:
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>
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");
A számlálóval az alábbi paranccsal rögzíthet metrikákat.
counter.increment();
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 aLog-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énttest_counter
jelenik 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_b
a .
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_d
a .
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_SECONDS
is 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:
- Alapértelmezett teljesítményszámlálók: Például processzor és memória
- Alapértelmezett egyéni metrikák: Például a szemétgyűjtés időzítése
- Konfigurált JMX-metrikák: Lásd a JMX metrikaszakaszt
- Mikrométer-metrikák: Lásd az Autocollected Micrometer metrics szakaszt
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_PROXY
is 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.nonProxyHosts
szü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 azOFF
egyik ,ERROR
,WARN
,INFO
,DEBUG
vagyTRACE
.path
lehet abszolút vagy relatív elérési út. A relatív elérési utak a könyvtárban vannak feloldva, aholapplicationinsights-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_LEVEL
haszná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_PATH
haszná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
}
}
}