Telemetrieprozessoren (Vorschau): Azure Monitor Application Insights für Java
Hinweis
Das Feature „Telemetrieprozessoren“ ist als Vorschau gekennzeichnet, da wir aufgrund des experimentellen Status der Semantikkonventionen für Attribute keine Abwärtskompatibilität zwischen den Versionen garantieren können. Das Feature wurde jedoch getestet und wird in der Produktion unterstützt.
Application Insights Java 3.x kann Telemetriedaten verarbeiten, bevor die Daten exportiert werden.
Einige Anwendungsfälle:
- Maskieren vertraulicher Daten
- Bedingtes Hinzufügen benutzerdefinierter Dimensionen
- Aktualisieren des Namens des span-Elements, das zum Aggregieren ähnlicher Telemetriedaten im Azure-Portal verwendet wird
- Verwerfen bestimmter span-Attribute zur Senkung von Erfassungskosten
- Herausfiltern einiger Metriken zur Steuerung der Erfassungskosten
Hinweis
Wenn Sie bestimmte (ganze) Span-Elemente zur Senkung von Erfassungskosten verwerfen möchten, finden Sie Informationen dazu unter Stichprobenüberschreibungen.
Begriff
Bevor Sie mehr über Telemetrieprozessoren erfahren, müssen Sie wissen, was genau die Begriffe span und log bedeuten.
Als span bezeichnete Telemetriedaten stehen für Folgendes:
- Eine eingehende Anforderung
- Eine ausgehende Abhängigkeit (z. B. ein Remoteaufruf eines anderen Diensts)
- Eine In-Process-Abhängigkeit (z. B. Vorgänge, die von Unterkomponenten des Diensts durchgeführt werden)
Als log bezeichnete Telemetriedaten stehen für Folgendes:
- Von Log4j, Logback und java.util.logging erfasste Protokolldaten
Bei Telemetrieprozessoren sind die folgenden span/log-Komponenten wichtig:
- Name
- Text
- Attribute
Der span-Name ist das primäre Anzeigeelement für Anforderungen und Abhängigkeiten im Azure-Portal. Die span-Attribute repräsentieren sowohl standardmäßige als auch benutzerdefinierte Eigenschaften einer bestimmten Anforderung oder Abhängigkeit.
Die Ablaufverfolgungsmeldung oder der Ablaufverfolgungstext ist die primäre Anzeige für Protokolle im Azure-Portal. Die log-Attribute stellen sowohl standardmäßige als auch benutzerdefinierte Eigenschaften eines bestimmten Protokolls dar.
Arten von Telemetrieprozessoren
Derzeit gibt es die folgenden vier Arten von Telemetrieprozessoren:
- Attributprozessoren
- Span-Prozessoren
- Protokollprozessoren
- Filter für Metriken
Mit einem attribute-Prozessor können Attribute von Telemetrieelementen (span
oder log
) eingefügt, aktualisiert, gelöscht oder mit einem Hash versehen werden.
Darüber hinaus können mithilfe eines regulären Ausdrucks ein oder mehrere Attribute aus einem vorhandenen Attribut extrahiert werden.
Mit einem span-Prozessor kann der Telemetriename von Anforderungen und Abhängigkeiten aktualisiert werden. Außerdem können mithilfe eines regulären Ausdrucks ein oder mehrere Attribute aus dem span-Namen extrahiert werden.
Mit einem log-Prozessor kann der Name eines Telemetrieelements aktualisiert werden. Außerdem können mithilfe eines regulären Ausdrucks ein oder mehrere Attribute aus dem log-Namen extrahiert werden.
Mit einem Metrikfilter können Metriken herausgefiltert werden, die dazu beitragen, die Erfassungskosten zu steuern.
Hinweis
Derzeit verarbeiten Telemetrieprozessoren nur Attribute des Typs „string“. Boolesche oder Zahlenattribute werden nicht verarbeitet.
Erste Schritte
Zunächst erstellen Sie eine Konfigurationsdatei namens applicationinsights.json. Speichern Sie diese im gleichen Verzeichnis, in dem sich auch applicationinsights-agent-*.jar befindet. Verwenden Sie hierfür die folgende Vorlage.
{
"connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000",
"preview": {
"processors": [
{
"type": "attribute",
...
},
{
"type": "attribute",
...
},
{
"type": "span",
...
},
{
"type": "log",
...
},
{
"type": "metric-filter",
...
}
]
}
}
Attributprozessor
Vom attribute-Prozessor werden span
- oder log
-Attribute geändert. Er kann die Fähigkeit unterstützen, span
-Elemente oder log
-Elemente ein- oder auszuschließen. Er akzeptiert eine Liste von Aktionen, die in der Reihenfolge ausgeführt werden, die in der Konfigurationsdatei angegeben ist. Der Prozessor unterstützt die folgenden Aktionen:
insert
update
delete
hash
extract
mask
insert
Mit der insert
-Aktion wird ein neues Attribut in Telemetrieelemente eingefügt, in denen der key
noch nicht vorhanden ist.
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attribute1",
"value": "value1",
"action": "insert"
}
]
}
]
Die insert
-Aktion erfordert die folgenden Einstellungen:
key
- Entweder
value
oderfromAttribute
action
:insert
update
Mit der update
-Aktion wird ein Attribut im Telemetrieelement aktualisiert, in dem der key
bereits vorhanden ist.
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attribute1",
"value": "newValue",
"action": "update"
}
]
}
]
Die update
-Aktion erfordert die folgenden Einstellungen:
key
- Entweder
value
oderfromAttribute
action
:update
delete
Mit der delete
-Aktion wird ein Attribut aus einem Telemetrieelement gelöscht.
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attribute1",
"action": "delete"
}
]
}
]
Die delete
-Aktion erfordert die folgenden Einstellungen:
key
action
:delete
hash
Die hash
-Aktion versieht einen vorhandenen Attributwert mit einem Hash (SHA1).
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attribute1",
"action": "hash"
}
]
}
]
Die hash
-Aktion erfordert die folgenden Einstellungen:
key
action
:hash
extract
Hinweis
Das extract
-Feature ist erst ab Version 3.0.2 verfügbar.
Die extract
-Aktion extrahiert Werte mithilfe einer RegEx-Regel aus dem Eingabeschlüssel in die in der Regel angegebenen Zielschlüssel. Wenn bereits ein Zielschlüssel vorhanden ist, setzt die extract
-Aktion den Zielschlüssel außer Kraft. Diese Aktion verhält sich wie die toAttributes
-Einstellung span-Prozessor, wobei das vorhandene Attribut die Quelle ist.
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attribute1",
"pattern": "<regular pattern with named matchers>",
"action": "extract"
}
]
}
]
Die extract
-Aktion erfordert die folgenden Einstellungen:
key
pattern
action
:extract
mask
Hinweis
Das mask
-Feature ist erst ab Version 3.2.5 verfügbar.
Die Aktion mask
maskiert Attributwerte mithilfe einer Regel für reguläre Ausdrücke, die in pattern
und replace
angegeben ist.
"processors": [
{
"type": "attribute",
"actions": [
{
"key": "attributeName",
"pattern": "<regular expression pattern>",
"replace": "<replacement value>",
"action": "mask"
}
]
}
]
Die mask
-Aktion erfordert die folgenden Einstellungen:
key
pattern
replace
action
:mask
pattern
kann eine benannte Gruppe enthalten, die zwischen ?<
und >:
platziert wird. Beispiel: (?<userGroupName>[a-zA-Z.:\/]+)\d+
? Die Gruppe ist (?<userGroupName>[a-zA-Z.:\/]+)
und userGroupName
ist der Name der Gruppe. pattern
kann dann dieselbe benannte Gruppe enthalten, die zwischen ${
und }
gefolgt von der Maske platziert wird. Beispiel für die Maske **: ${userGroupName}**
.
Beispiele zum Maskieren finden Sie unter Beispiele für Telemetrieprozessor.
Einschluss- und Ausschlusskriterien (include und exclude)
Attribute-Prozessoren unterstützen optionale include
- und exclude
-Kriterien.
Ein attribute-Prozessor wird nur auf Telemetrieelemente angewendet, die mit den include
-Kriterien (sofern verfügbar) und nicht mit den exclude
-Kriterien übereinstimmen (sofern verfügbar).
Zum Konfigurieren dieser Option geben Sie unter include
oder exclude
(oder beidem) mindestens einen matchType
sowie entweder spanNames
oder attributes
an.
Die include
- oder exclude
-Konfiguration ermöglicht mehr als eine angegebene Bedingung.
Alle angegebenen Bedingungen müssen als TRUE ausgewertet werden, damit eine Übereinstimmung erzielt wird.
Pflichtfelder:
matchType
steuert, wie Elemente inspanNames
-Arrays undattributes
-Arrays interpretiert werden. Mögliche Werte sindregexp
undstrict
. Übereinstimmungen bei regulären Ausdrücken werden für den gesamten Attributwert ausgeführt. Wenn Sie also einen Wert abgleichen möchten, der an einer beliebigen Stelleabc
enthält, müssen Sie.*abc.*
verwenden.
Optionale Felder:
spanNames
muss mindestens einem der Elemente entsprechen.attributes
gibt die Liste der Attribute an, für die eine Übereinstimmung erzielt werden muss. All diese Attribute müssen exakt übereinstimmen.
Hinweis
Wenn sowohl include
als auch exclude
angegeben ist, werden die include
-Eigenschaften vor den exclude
-Eigenschaften geprüft.
Hinweis
Wenn für die include
- oder exclude
-Konfiguration keine spanNames
festgelegt wurden, werden die Abgleichskriterien sowohl auf spans
als auch auf logs
angewendet.
Beispielverwendung
"processors": [
{
"type": "attribute",
"include": {
"matchType": "strict",
"spanNames": [
"spanA",
"spanB"
]
},
"exclude": {
"matchType": "strict",
"attributes": [
{
"key": "redact_trace",
"value": "false"
}
]
},
"actions": [
{
"key": "credit_card",
"action": "delete"
},
{
"key": "duplicate_key",
"action": "delete"
}
]
}
]
Weitere Informationen finden Sie unter Beispiele für Telemetrieprozessoren.
span-Prozessor
Der Span-Prozessor ändert entweder den Span-Namen oder die Attribute einer Span basierend auf dem Span-Namen. Er kann die Fähigkeit unterstützen, span-Elemente ein- oder auszuschließen.
Name einer Span
Der name
-Abschnitt erfordert die Einstellung fromAttributes
. Die Werte dieser Attribute werden verwendet, um einen neuen Namen zu erstellen, verkettet in der Reihenfolge, die in der Konfiguration angegeben ist. Der Prozessor ändert den Namen des span-Elements nur, wenn all diese Attribute im span-Element vorhanden sind.
Die Einstellung separator
ist optional. Diese Einstellung ist eine Zeichenfolge, und Sie können geteilte Werte verwenden.
Hinweis
Wenn es zum Umbenennen von Attributen erforderlich ist, dass die Attribute durch den Attributprozessor geändert werden, stellen Sie sicher, dass der span-Prozessor in der Pipelinespezifikation nach dem Attributprozessor angegeben wird.
"processors": [
{
"type": "span",
"name": {
"fromAttributes": [
"attributeKey1",
"attributeKey2",
],
"separator": "::"
}
}
]
Extrahieren von Attributen aus dem Namen des span-Elements
Im Abschnitt toAttributes
sind die regulären Ausdrücke aufgeführt, mit denen der Name des span-Elements abgeglichen werden soll. Attribute werden basierend auf Teilausdrücken extrahiert.
Die Einstellung rules
ist erforderlich. Diese Einstellung führt die Regeln auf, die zum Extrahieren von Attributwerten aus dem Namen des span-Elements verwendet werden.
Extrahierte Attributnamen ersetzen die Werte im span-Namen. Jede Regel in der Liste ist eine Musterzeichenfolge eines regulären Ausdrucks (RegEx).
So ersetzen extrahierte Attributnamen Werte:
- Der Name des span-Elements wird anhand des regulären Ausdrucks überprüft.
- Alle benannten Teilausdrücke des regulären Ausdrucks werden als Attribute extrahiert, wenn der reguläre Ausdruck übereinstimmt.
- Die extrahierten Attribute werden dem span-Element hinzugefügt.
- Jeder Teilausdruckname wird zu einem Attributnamen.
- Der übereinstimmende Teil des Teilausdrucks wird zum Attributwert.
- Der extrahierte Attributname ersetzt den übereinstimmenden Teil im span-Namen. Wenn die Attribute im span-Element bereits vorhanden sind, werden sie überschrieben.
Der Prozess wird für alle Regeln in der Reihenfolge wiederholt, in der sie angegeben sind. Jede nachfolgende Regel wird auf den Namen des span-Elements angewendet, der die Ausgabe der vorherigen Regelverarbeitung ist.
"processors": [
{
"type": "span",
"name": {
"toAttributes": {
"rules": [
"rule1",
"rule2",
"rule3"
]
}
}
}
]
Gängige span-Attribute
In diesem Abschnitt werden einige gängige span-Attribute aufgelistet, die von Telemetrieprozessoren verwendet werden können.
HTTP-span-Elemente
attribute | type | Beschreibung |
---|---|---|
http.request.method (war früher http.method ) |
Zeichenfolge | HTTP-Anforderungsmethode. |
url.full (Clientspanne) oder url.path (Serverspanne) (war früher http.url ) |
Zeichenfolge | Vollständige Anforderungs-URL in HTTP in Form von scheme://host[:port]/path?query[#fragment] . Das Fragment wird in der Regel nicht über HTTP übertragen. Wenn das Fragment jedoch bekannt ist, sollte es eingeschlossen werden. |
http.response.status_code (war früher http.status_code ) |
Zahl | HTTP-Antwortstatuscode. |
network.protocol.version (war früher http.flavor ) |
Zeichenfolge | Der Typ des HTTP-Protokolls. |
user_agent.original (war früher http.user_agent ) |
Zeichenfolge | Der Wert des vom Client gesendeten HTTP User-Agent-Headers. |
JDBC-span-Elemente (Java Database Connectivity)
In der folgenden Tabelle werden Attribute beschrieben, die Sie in JDBC-span-Elementen (Java Database Connectivity) verwenden können:
attribute | type | Beschreibung |
---|---|---|
db.system |
Zeichenfolge | Der Bezeichner für das verwendete DBMS-Produkt (Datenbank-Managementsystem). Weitere Informationen finden Sie unter Semantikkonventionen für Datenbankvorgänge. |
db.connection_string |
Zeichenfolge | Verbindungszeichenfolge, mit der die Verbindung zur Datenbank hergestellt wird. Es wird empfohlen, eingebettete Anmeldeinformationen zu entfernen. |
db.user |
Zeichenfolge | Der Benutzername für den Zugriff auf die Datenbank. |
db.name |
Zeichenfolge | Die Zeichenfolge, die den Namen der Datenbank angibt, auf die zugegriffen wird. Bei Befehlen für einen Datenbankwechsel sollte dieses Attribut auf die Zieldatenbank festgelegt werden, auch wenn der Befehl nicht erfolgreich ausgeführt wird. |
db.statement |
Zeichenfolge | Die Datenbankanweisung, die ausgeführt wird. |
Einschluss- und Ausschlusskriterien (include und exclude)
Span-Prozessoren unterstützen optionale include
- und exclude
-Kriterien.
Ein span-Prozessor wird nur auf Telemetrieelemente angewendet, die mit den include
-Kriterien (sofern verfügbar) und nicht mit den exclude
-Kriterien übereinstimmen (sofern verfügbar).
Zum Konfigurieren dieser Option geben Sie unter include
oder exclude
(oder beiden) mindestens einen matchType
sowie entweder spanNames
oder attributes
an.
Die include
- oder exclude
-Konfiguration ermöglicht mehr als eine angegebene Bedingung.
Alle angegebenen Bedingungen müssen als TRUE ausgewertet werden, damit eine Übereinstimmung erzielt wird.
Pflichtfelder:
matchType
steuert, wie Elemente inspanNames
-Arrays undattributes
-Arrays interpretiert werden. Mögliche Werte sindregexp
undstrict
. Übereinstimmungen bei regulären Ausdrücken werden für den gesamten Attributwert ausgeführt. Wenn Sie also einen Wert abgleichen möchten, der an einer beliebigen Stelleabc
enthält, müssen Sie.*abc.*
verwenden.
Optionale Felder:
spanNames
muss mindestens einem der Elemente entsprechen.attributes
gibt die Liste der Attribute an, für die eine Übereinstimmung erzielt werden muss. All diese Attribute müssen exakt übereinstimmen.
Hinweis
Wenn sowohl include
als auch exclude
angegeben ist, werden die include
-Eigenschaften vor den exclude
-Eigenschaften geprüft.
Beispielverwendung
"processors": [
{
"type": "span",
"include": {
"matchType": "strict",
"spanNames": [
"spanA",
"spanB"
]
},
"exclude": {
"matchType": "strict",
"attributes": [
{
"key": "attribute1",
"value": "attributeValue1"
}
]
},
"name": {
"toAttributes": {
"rules": [
"rule1",
"rule2",
"rule3"
]
}
}
}
]
Weitere Informationen finden Sie unter Beispiele für Telemetrieprozessoren.
Log-Prozessor
Hinweis
Log-Prozessoren sind ab Version 3.1.1 verfügbar.
Vom log-Prozessor werden entweder die Meldungstexte von log-Elementen oder die Attribute eines log-Elements basierend auf dem Meldungstext des log-Elements geändert. Er kann die Fähigkeit unterstützen, log-Elemente ein- oder auszuschließen.
Aktualisieren des Meldungstexts von log-Elementen
Der body
-Abschnitt erfordert die Einstellung fromAttributes
. Die Werte dieser Attribute werden dazu verwendet, neuen Text zu erstellen, verkettet in der Reihenfolge, die in der Konfiguration angegeben ist. Vom Prozessor wird der log-Elementtext nur geändert, wenn alle diese Attribute im log-Element vorhanden sind.
Die Einstellung separator
ist optional. Diese Einstellung ist eine Zeichenfolge. Sie können sie angeben, um Werte zu teilen.
Hinweis
Wenn es zum Umbenennen von Attributen erforderlich ist, dass die Attribute durch den attribute-Prozessor geändert werden, stellen Sie sicher, dass der log-Prozessor in der Pipelinespezifikation nach dem attribute-Prozessor angegeben wird.
"processors": [
{
"type": "log",
"body": {
"fromAttributes": [
"attributeKey1",
"attributeKey2",
],
"separator": "::"
}
}
]
Extrahieren von Attributen aus dem Meldungstext von log-Elementen
Im Abschnitt toAttributes
sind die regulären Ausdrücke aufgeführt, mit denen der Meldungstext des log-Elements abgeglichen werden soll. Attribute werden basierend auf Teilausdrücken extrahiert.
Die Einstellung rules
ist erforderlich. In dieser Einstellung werden die Regeln aufgeführt, die zum Extrahieren von Attributwerten aus dem Text verwendet werden.
Extrahierte Attributnamen ersetzen die Werte im Meldungstext des log-Elements. Jede Regel in der Liste ist eine Musterzeichenfolge eines regulären Ausdrucks (RegEx).
So ersetzen extrahierte Attributnamen Werte:
- Der Meldungstext des log-Elements wird anhand des regulären Ausdrucks überprüft.
- Alle benannten Teilausdrücke des regulären Ausdrucks werden als Attribute extrahiert, wenn der reguläre Ausdruck übereinstimmt.
- Die extrahierten Attribute werden dem log-Element hinzugefügt.
- Jeder Teilausdruckname wird zu einem Attributnamen.
- Der übereinstimmende Teil des Teilausdrucks wird zum Attributwert.
- Der extrahierte Attributname ersetzt den übereinstimmenden Teil im log-Namen. Wenn die Attribute im log-Element bereits vorhanden sind, werden sie überschrieben.
Der Prozess wird für alle Regeln in der Reihenfolge wiederholt, in der sie angegeben sind. Jede nachfolgende Regel wird auf den Namen des log-Elements angewendet, der die Ausgabe der vorherigen Regelverarbeitung ist.
"processors": [
{
"type": "log",
"body": {
"toAttributes": {
"rules": [
"rule1",
"rule2",
"rule3"
]
}
}
}
]
Einschluss- und Ausschlusskriterien (include und exclude)
Log-Prozessoren unterstützen optionale include
- und exclude
-Kriterien.
Ein log-Prozessor wird nur auf Telemetrieelemente angewendet, die mit den include
-Kriterien (sofern verfügbar) und nicht mit den exclude
-Kriterien übereinstimmen (sofern verfügbar).
Geben Sie zum Konfigurieren dieser Option unter include
oder exclude
(oder beiden) den matchType
und die attributes
an.
Die include
- oder exclude
-Konfiguration ermöglicht mehr als eine angegebene Bedingung.
Alle angegebenen Bedingungen müssen als TRUE ausgewertet werden, damit eine Übereinstimmung erzielt wird.
- Pflichtfeld:
matchType
steuert, wie Elemente in denattributes
-Arrays interpretiert werden. Mögliche Werte sindregexp
undstrict
. Übereinstimmungen bei regulären Ausdrücken werden für den gesamten Attributwert ausgeführt. Wenn Sie also einen Wert abgleichen möchten, der an einer beliebigen Stelleabc
enthält, müssen Sie.*abc.*
verwenden.attributes
gibt die Liste der Attribute an, für die eine Übereinstimmung erzielt werden muss. All diese Attribute müssen exakt übereinstimmen.
Hinweis
Wenn sowohl include
als auch exclude
angegeben ist, werden die include
-Eigenschaften vor den exclude
-Eigenschaften geprüft.
Hinweis
Log-Prozessoren bieten keine Unterstützung für spanNames
.
Beispielverwendung
"processors": [
{
"type": "log",
"include": {
"matchType": "strict",
"attributes": [
{
"key": "attribute1",
"value": "value1"
}
]
},
"exclude": {
"matchType": "strict",
"attributes": [
{
"key": "attribute2",
"value": "value2"
}
]
},
"body": {
"toAttributes": {
"rules": [
"rule1",
"rule2",
"rule3"
]
}
}
}
]
Weitere Informationen finden Sie unter Beispiele für Telemetrieprozessoren.
Metrikfilter
Hinweis
Metrikfilter sind ab Version 3.1.1 verfügbar.
Metrikfilter werden dazu verwendet, einige Metriken auszuschließen, damit die Steuerung der Erfassungskosten unterstützt werden kann.
Metrikfilter unterstützen nur exclude
-Kriterien. Metriken, die mit den exclude
-Kriterien übereinstimmen, werden nicht exportiert.
Geben Sie zum Konfigurieren dieser Option unter exclude
den matchType
für einen oder mehrere metricNames
an.
- Pflichtfeld:
matchType
steuert, wie Elemente inmetricNames
abgeglichen werden. Mögliche Werte sindregexp
undstrict
. Übereinstimmungen bei regulären Ausdrücken werden für den gesamten Attributwert ausgeführt. Wenn Sie also einen Wert abgleichen möchten, der an einer beliebigen Stelleabc
enthält, müssen Sie.*abc.*
verwenden.metricNames
muss mindestens einem der Elemente entsprechen.
Beispielverwendung
Das folgende Beispiel zeigt, wie Metriken mit den Namen „metricA“ und „metricB“ ausgeschlossen werden:
"processors": [
{
"type": "metric-filter",
"exclude": {
"matchType": "strict",
"metricNames": [
"metricA",
"metricB"
]
}
}
]
Im folgenden Beispiel wird gezeigt, wie Sie alle Metriken einschließlich der standardmäßigen automatisch gesammelten Leistungsmetriken wie CPU und Arbeitsspeicher deaktivieren.
"processors": [
{
"type": "metric-filter",
"exclude": {
"matchType": "regexp",
"metricNames": [
".*"
]
}
}
]
Vom Java-Agent erfasste Standardmetriken
Metrikname | Metriktyp | Beschreibung | Filterbar |
---|---|---|---|
Current Thread Count |
Benutzerdefinierte Metriken | Siehe ThreadMXBean.getThreadCount(). | ja |
Loaded Class Count |
Benutzerdefinierte Metriken | Siehe ClassLoadingMXBean.getLoadedClassCount() | ja |
GC Total Count |
Benutzerdefinierte Metriken | Summe der Anzahl für alle GarbageCollectorMXBean-Instanzen (Unterschied seit der letzten Meldung). Siehe GarbageCollectorMXBean.getCollectionCount() | ja |
GC Total Time |
Benutzerdefinierte Metriken | Summe der Zeit für alle GarbageCollectorMXBean-Instanzen (Unterschied seit der letzten Meldung). Siehe GarbageCollectorMXBean.getCollectionTime() | ja |
Heap Memory Used (MB) |
Benutzerdefinierte Metriken | Siehe MemoryMXBean.getHeapMemoryUsage().getUsed() | ja |
% Of Max Heap Memory Used |
Benutzerdefinierte Metriken | java.lang:type=Memory – maximale Arbeitsspeichermenge in Bytes. Siehe MemoryUsage | ja |
\Processor(_Total)\% Processor Time |
Standardmetriken | Unterschied bei den systemweiten Taktzählern für die CPU-Auslastung(nur Benutzer und System) geteilt durch die Anzahl der logischen Prozessoren in einem bestimmten Zeitintervall | Nein |
\Process(??APP_WIN32_PROC??)\% Processor Time |
Standardmetriken | Siehe OperatingSystemMXBean.getProcessCpuTime() (Unterschied zur letzten Meldung, normalisiert nach Zeit und CPU-Anzahl) | nein |
\Process(??APP_WIN32_PROC??)\Private Bytes |
Standardmetriken | Summe von MemoryMXBean.getHeapMemoryUsage() und MemoryMXBean.getNonHeapMemoryUsage() | nein |
\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec |
Standardmetriken | /proc/[pid]/io Summe der vom Prozess gelesenen und geschriebenen Bytes (Unterschied seit der letzten Meldung). Siehe proc(5) |
nein |
\Memory\Available Bytes |
Standardmetriken | Siehe OperatingSystemMXBean.getFreePhysicalMemorySize() | Nein |
Häufig gestellte Fragen
Warum verarbeitet der Protokollprozessor Protokolle nicht mithilfe von „TelemetryClient.trackTrace()“?
„TelemetryClient.trackTrace()“ ist Teil der klassischen SDK-Brücke von Application Insights, und die Protokollprozessoren funktionieren nur mit der neuen OpenTelemetry-basierten Instrumentierung.