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 oder fromAttribute
  • 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 oder fromAttribute
  • 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 in spanNames-Arrays und attributes-Arrays interpretiert werden. Mögliche Werte sind regexp und strict. Ü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 Stelle abc 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:

  1. Der Name des span-Elements wird anhand des regulären Ausdrucks überprüft.
  2. Alle benannten Teilausdrücke des regulären Ausdrucks werden als Attribute extrahiert, wenn der reguläre Ausdruck übereinstimmt.
  3. Die extrahierten Attribute werden dem span-Element hinzugefügt.
  4. Jeder Teilausdruckname wird zu einem Attributnamen.
  5. Der übereinstimmende Teil des Teilausdrucks wird zum Attributwert.
  6. 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 in spanNames-Arrays und attributes-Arrays interpretiert werden. Mögliche Werte sind regexp und strict. Ü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 Stelle abc 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:

  1. Der Meldungstext des log-Elements wird anhand des regulären Ausdrucks überprüft.
  2. Alle benannten Teilausdrücke des regulären Ausdrucks werden als Attribute extrahiert, wenn der reguläre Ausdruck übereinstimmt.
  3. Die extrahierten Attribute werden dem log-Element hinzugefügt.
  4. Jeder Teilausdruckname wird zu einem Attributnamen.
  5. Der übereinstimmende Teil des Teilausdrucks wird zum Attributwert.
  6. 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 den attributes-Arrays interpretiert werden. Mögliche Werte sind regexp und strict. Ü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 Stelle abc 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 in metricNames abgeglichen werden. Mögliche Werte sind regexp und strict. Ü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 Stelle abc 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 log-Prozessor Protokolldateien 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.