Erfassung von Java Management Extensions (JMX)-Metriken - Amazon CloudWatch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erfassung von Java Management Extensions (JMX)-Metriken

Sie können den CloudWatch Agenten verwenden, um Java Management Extensions (JMX) -Metriken aus Ihren Java-Anwendungen zu sammeln.

Der CloudWatch Agent unterstützt das Sammeln dieser Metriken aus den folgenden Versionen:

  • JVM 8 und höher

  • Kafka 0.8.2.x und höher

  • Tomcat 9, 10.1 und 11 (Beta)

Amazon EC2
So aktivieren Sie JMX in Ihrer JVM-Instance

Damit der CloudWatch Agent JMX-Metriken sammeln kann, muss sich die JVM Ihrer Anwendung mithilfe der com.sun.management.jmxremote.port Systemeigenschaft an einen Port binden.

java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar

Weitere Informationen und andere Konfigurationen finden Sie in der JMX-Dokumentation.

Amazon EKS
So aktivieren Sie JMX auf Ihren Java-Anwendungs-Pods

Wenn Sie das CloudWatch Observability EKS-Add-on verwenden, können Sie mithilfe von Anmerkungen verwalten, wie JMX-Metriken aktiviert werden. Weitere Informationen finden Sie unter Installieren Sie den CloudWatch Agenten mit dem Amazon CloudWatch Observability EKS-Add-on oder dem Helm-Diagramm. Um die Erfassung von JMX-Metriken aus einem Workload zu aktivieren, fügen Sie der Workload-Manifestdatei im Abschnitt PodTemplate die folgenden Anmerkungen hinzu:

  • instrumentation.opentelemetry.io/inject-java: "true"

  • Eine oder mehrere der Folgenden:

    • Für JVM-Metriken: cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"

    • Für Kafka-Broker-Metriken: cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"

    • Für Kafka-Consumer-Metriken: cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"

    • Für Kafka-Producer-Metriken: cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"

    • Für Tomcat-Metriken: cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"

Um mit der Erfassung von JMX-Metriken zu beginnen, fügen Sie dem jmx Abschnitt der metrics_collected Agenten-Konfigurationsdatei einen Abschnitt hinzu. CloudWatch Der Abschnitt jmx kann die folgenden Felder enthalten.

  • jvm – Optional. Gibt an, dass Sie Java Management Extensions (JMX)-Metriken von der Instance abrufen möchten. Weitere Informationen finden Sie unter Erfassen von JVM-Metriken.

    Dieser Abschnitt kann die folgenden Felder enthalten:

    • measurement: Gibt das Array der zu erfassenden JVM-Metriken an. Eine Liste der möglichen Werte, die Sie hier verwenden können, finden Sie in der Spalte Metric (Metrik) in der Tabelle unter Erfassen von JVM-Metriken.

      Im Eintrag für jede einzelne Metrik können Sie optional einen oder beide der folgenden Werte angeben:

      • rename – Legt einen anderen Namen für diese Metrik fest.

      • unit – Gibt die zu verwendende Einheit für diese Metrik an und überschreibt die Standardeinheit für die Metrik. Bei der von Ihnen angegebenen Einheit muss es sich um eine gültige CloudWatch metrische Einheit handeln, wie in der Unit Beschreibung unter aufgeführt. MetricDatum

  • kafka – Optional. Gibt an, dass Sie Apache Kafka-Broker-Metriken von der Instance abrufen möchten. Weitere Informationen finden Sie unter Erfassen von Kafka-Metriken.

    Dieser Abschnitt kann die folgenden Felder enthalten:

    • measurement: Gibt das Array der zu erfassenden Kafka Broker-Metriken an. Eine Liste der möglichen Werte, die Sie hier verwenden können, finden Sie in der Spalte Metrik in der ersten Tabelle unter Erfassen von Kafka-Metriken.

      Im Eintrag für jede einzelne Metrik können Sie optional einen oder beide der folgenden Werte angeben:

      • rename – Legt einen anderen Namen für diese Metrik fest.

      • unit – Gibt die zu verwendende Einheit für diese Metrik an und überschreibt die Standardeinheit für die Metrik. Bei der von Ihnen angegebenen Einheit muss es sich um eine gültige CloudWatch metrische Einheit handeln, wie in der Unit Beschreibung unter aufgeführt MetricDatum.

  • kafka-consumer – Optional. Gibt an, dass Sie Apache Kafka-Consumer-Metriken von der Instance abrufen möchten. Weitere Informationen finden Sie unter Erfassen von Kafka-Metriken.

    Dieser Abschnitt kann die folgenden Felder enthalten:

    • measurement: Gibt das Array der zu erfassenden Kafka Broker-Metriken an. Eine Liste der möglichen Werte, die Sie hier verwenden können, finden Sie in der Spalte Metrik in der zweiten Metriktabelle unter Erfassen von Kafka-Metriken.

      Im Eintrag für jede einzelne Metrik können Sie optional einen oder beide der folgenden Werte angeben:

      • rename – Legt einen anderen Namen für diese Metrik fest.

      • unit – Gibt die zu verwendende Einheit für diese Metrik an und überschreibt die Standardeinheit für die Metrik. Bei der von Ihnen angegebenen Einheit muss es sich um eine gültige CloudWatch metrische Einheit handeln, wie in der Unit Beschreibung unter aufgeführt MetricDatum.

  • kafka-producer – Optional. Gibt an, dass Sie Apache Kafka-Producer-Metriken von der Instance abrufen möchten. Weitere Informationen finden Sie unter Erfassen von Kafka-Metriken.

    Dieser Abschnitt kann die folgenden Felder enthalten:

    • measurement: Gibt das Array der zu erfassenden Kafka Broker-Metriken an. Eine Liste der möglichen Werte, die Sie hier verwenden können, finden Sie in der Spalte Metrik in der dritten Metriktabelle unter Erfassen von Kafka-Metriken.

      Im Eintrag für jede einzelne Metrik können Sie optional einen oder beide der folgenden Werte angeben:

      • rename – Legt einen anderen Namen für diese Metrik fest.

      • unit – Gibt die zu verwendende Einheit für diese Metrik an und überschreibt die Standardeinheit für die Metrik. Bei der von Ihnen angegebenen Einheit muss es sich um eine gültige CloudWatch metrische Einheit handeln, wie in der Unit Beschreibung unter aufgeführt MetricDatum.

  • tomcat – Optional. Gibt an, dass Sie Tomcat-Metriken von der Instance abrufen möchten. Weitere Informationen finden Sie unter Erfassen von Tomcat-Metriken.

    Dieser Abschnitt kann die folgenden Felder enthalten:

    • measurement: Gibt das Array der zu erfassenden Tomcat-Metriken an. Eine Liste der möglichen Werte, die Sie hier verwenden können, finden Sie in der Spalte Metric (Metrik) in der Tabelle unter Erfassen von Tomcat-Metriken.

      Im Eintrag für jede einzelne Metrik können Sie optional einen oder beide der folgenden Werte angeben:

      • rename – Legt einen anderen Namen für diese Metrik fest.

      • unit – Gibt die zu verwendende Einheit für diese Metrik an und überschreibt die Standardeinheit für die Metrik. Bei der von Ihnen angegebenen Einheit muss es sich um eine gültige CloudWatch metrische Einheit handeln, wie in der Unit Beschreibung unter aufgeführt MetricDatum.

Der Abschnitt jmx kann auch das optionale Feld append_dimensions enthalten:

  • append_dimensions – Optional. Zusätzliche Dimensionen, die nur für die Prozess-Metriken verwendet werden sollen. Falls Sie dieses Feld angeben, wird es zusätzlich zu den im Feld append_dimensions angegebenen Dimensionen verwendet, das für alle Typen von Metriken verwendet wird, die vom Agent erfasst werden.

Die folgenden Felder sind EC2 nur für Amazon.
  • endpoint: Die Adresse, zu der der JMX-Client eine Verbindung herstellen soll. Das Format ist ip:port. Wenn der Endpunkt nicht der localhost ist und die Passwortauthentifizierung und SSL aktiviert sein müssen.

  • metrics_collection_interval – Optional. Gibt an, wie oft die Prozess-Metriken erfasst werden und das globale metrics_collection_interval im Abschnitt agent der Konfigurationsdatei überschrieben wird.

    Der Wert wird in Sekunden angegeben. Beispiel: Angeben, dass 10 Metriken alle 10 Sekunden und 300 Metriken alle 5 Minuten gesammelt werden sollen.

    Wenn Sie diesen Wert auf weniger als 60 Sekunden festlegen, wird die jeweilige Metrik als hochauflösende Metrik erfasst. Weitere Informationen finden Sie unter Hochauflösende Metriken.

Wenn JMX mit Passwortauthentifizierung oder SSL für den Fernzugriff aktiviert wurde, können Sie die folgenden Felder verwenden.

  • password_file – Optional. Gibt eine Java-Eigenschaftendatei mit Schlüsseln für Passwörter an. Die Datei muss schreibgeschützt und auf den Benutzer beschränkt sein, der den Agenten ausführt. CloudWatch Wenn die Passwortauthentifizierung aktiviert ist, ist dafür dasselbe Benutzername/Passwort-Paar erforderlich wie für den Eintrag in der JMX-Passwortdatei, die in der Eigenschaft com.sun.management.jmxremote.password.file bereitgestellt wird. Wenn SSL aktiviert ist, sind Einträge für keystore erforderlich und truststore entspricht jeweils dem javax.net.ssl.keyStorePassword und javax.net.ssl.trustStorePassword.

  • username: Wenn die Passwortauthentifizierung aktiviert ist, geben Sie den Benutzernamen an, der dem Benutzernamen in der bereitgestellten Passwortdatei entspricht.

  • keystore_path: Wenn SSL aktiviert ist, geben Sie den vollständigen Pfad zum Java-Keystore an, der aus einem privaten Schlüssel und einem Zertifikat für den öffentlichen Schlüssel besteht. Entspricht der Eigenschaft javax.net.ssl.keyStore.

  • keystore_type: Wenn SSL aktiviert ist, geben Sie den Typ des verwendeten Keystores an. Entspricht der Eigenschaft javax.net.ssl.keyStoreType.

  • truststore_path: Wenn SSL aktiviert ist, geben Sie den vollständigen Pfad zum Java-Truststore an, der das öffentliche Zertifikat des Remote-JMX-Servers enthalten muss. Entspricht der Eigenschaft javax.net.ssl.trustStore.

  • truststore_type: Wenn SSL aktiviert ist, geben Sie den Typ des verwendeten Truststores an. Entspricht der Eigenschaft javax.net.ssl.trustStoreType.

  • remote_profile – Optional. Unterstützte JMX-Remoteprofile sind TLS in Kombination mit den SASL-Profilen: SASL/PLAIN, SASL/DIGEST-MD5 und SASL/CRAM-MD5. Sollte einer der folgenden sein: SASL/PLAIN, SASL/DIGEST-MD5, SASL/CRAM-MD5, TLS SASL/PLAIN, TLS SASL/DIGEST-MD5 oder TLS SASL/CRAM-MD5

  • realm – Optional. Der vom Remote-Profil SASL/DIGEST-MD5 geforderte Realm.

  • registry_ssl_enabled: Wenn die RMI-Registrierungsauthentifizierung aktiviert ist. Auf „true“ gesetzt, wenn die JVM mit com.sun.management.jmxremote.registry.ssl=true konfiguriert wurde.

  • insecure Auf true gesetzt, um die Überprüfung zu deaktivieren, die erforderlich ist, wenn der Agent für einen anderen Endpunkt als localhost konfiguriert ist.

Im Folgenden finden Sie ein Beispiel für den jmx Abschnitt der CloudWatch Agenten-Konfigurationsdatei.

{ "metrics": { "metrics_collected": { "jmx": [ { "endpoint": "remotehost:1314", "jvm": { "measurement": [ "jvm.memory.heap.init", "jvm.memory.nonheap.used" ] }, "kafka": { "measurement": [ "kafka.request.count", { "name": "kafka.message.count", "rename": "KAFKA_MESSAGE_COUNT", "unit": "Count" } ] }, "username": "cwagent", "keystore_path": "/path/to/keystore", "keystore_type": "PKCS12", "truststore_path": "/path/to/truststore", "truststore_type": "PKCS12" }, { "endpoint": "localhost:1315", "kafka-producer": { "measurement": [ "kafka.producer.request-rate" ] }, "append_dimensions": { "service.name": "kafka/1" } } ] } } }

Erfassen von JVM-Metriken

Sie können den CloudWatch Agenten verwenden, um Metriken für Java Virtual Machine (JVM) zu sammeln. Um dies einzurichten, fügen Sie dem jvm Abschnitt der CloudWatch Agenten-Konfigurationsdatei einen jmx Abschnitt hinzu.

Die folgenden Metriken können erfasst werden.

Metrik Dimensionen Description

jvm.classes.loaded

[STANDARD]

Die Gesamtzahl der geladenen Klassen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.gc.collections.count

[STANDARD], name

Die Gesamtzahl der durchgeführten Garbage Collections.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.gc.collections.elapsed

[STANDARD], name

Die ungefähre Gesamtdauer der bisherigen Garbage Collection.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.heap.init

[STANDARD]

Die anfängliche Speichermenge, die die JVM vom Betriebssystem für den Heap anfordert.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.heap.max

[STANDARD]

Die maximale Speichermenge, die für den Heap verwendet werden kann.

Einheit: Byte

Aussagekräftige Statistiken: Maximum

jvm.memory.heap.used

[STANDARD]

Die aktuelle Auslastung des Heap-Speichers.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.heap.committed

[STANDARD]

Die Menge an Speicher, die garantiert für den Heap verfügbar ist.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.nonheap.init

[STANDARD]

Die anfängliche Speichermenge, die die JVM vom Betriebssystem für Nicht-Heap-Zwecke anfordert.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.nonheap.max

[STANDARD]

Die maximale Speichermenge, die für Non-Heap-Zwecke verwendet werden kann.

Einheit: Byte

Aussagekräftige Statistiken: Maximum

jvm.memory.nonheap.used

[STANDARD]

Die aktuelle Nicht-Heap-Speichernutzung.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.nonheap.committed

[STANDARD]

Die Menge an Speicher, die garantiert für Nicht-Heap-Zwecke verfügbar ist.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.pool.init

[STANDARD], name

Die anfängliche Speichermenge, die die JVM vom Betriebssystem für den Speicherpool anfordert.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.pool.max

[STANDARD], name

Die maximale Speichermenge, die für den Speicherpool verwendet werden kann.

Einheit: Byte

Aussagekräftige Statistiken: Maximum

jvm.memory.pool.used

[STANDARD], name

Die aktuelle Speichernutzung des Speicherpools.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.memory.pool.committed

[STANDARD], name

Die Menge an Speicher, die garantiert für den Speicherpool verfügbar ist.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

jvm.threads.count

[STANDARD]

Die aktuelle Anzahl von Threads.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

Die JVM-Metriken werden mit den folgenden Dimensionen erfasst:

Dimension Description

[STANDARD]

Bei Amazon wird der Host EC2 standardmäßig auch als Dimension von Metriken veröffentlicht, die vom CloudWatch Agenten erfasst werden, es sei denn, Sie verwenden das append_dimensions Feld im metrics Abschnitt. Sehen Sie sich omit_hostname im Agenten-Abschnitt von Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell für weitere Informationen an.

In Amazon EKS wird der k8s-bezogene Kontext standardmäßig auch als Dimensionen von Metriken (k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name und k8s.replicaset.name) veröffentlicht. Diese können mithilfe des Felds aggregation_dimensions gefiltert werden.

name

Bei jvm.gc.collections-Metriken ist der Wert der Name des Garbage-Collectors.

Bei jvm.memory.pool-Metriken ist der Wert der Name des Speicherpools.

Erfassen von Kafka-Metriken

Sie können den CloudWatch Agenten verwenden, um Apache Kafka-Metriken zu sammeln. Um dies einzurichten, fügen Sie dem jmx Abschnitt der CloudWatch Agenten-Konfigurationsdatei einen oder mehrere der folgenden Unterabschnitte hinzu.

  • Verwenden Sie einen kafka-Abschnitt, um Kafka-Broker-Metriken zu erfassen.

  • Verwenden Sie einen kafka-consumer-Abschnitt, um Kafka-Consumer-Metriken zu erfassen.

  • Verwenden Sie einen kafka-producer-Abschnitt, um Kafka-Producer-Metriken zu erfassen.

Kafka-Broker-Metriken

Die folgenden Metriken können für Kafka-Broker erfasst werden.

Metrik Dimensionen Description

kafka.message.count

[STANDARD]

Die Anzahl der vom Kafka-Broker empfangenen Meldungen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.count

[STANDARD], type

Die Anzahl der vom Kafka-Broker empfangenen Anforderungen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.failed

[STANDARD], type

Die Anzahl der Anforderungen an den Kafka-Broker, die zu einem Fehler geführt haben.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.time.total

[STANDARD], type

Die Gesamtzeit, die der Kafka-Broker für die Bearbeitung von Anforderungen benötigt hat.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.time.50p

[STANDARD], type

Die 50. Perzentilzeit, die der Kafka-Broker für die Bearbeitung von Anforderungen benötigt hat.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.time.99p

[STANDARD], type

Die 99. Perzentilzeit, die der Kafka-Broker für die Bearbeitung von Anforderungen benötigt hat.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.time.avg

[STANDARD], type

Die durchschnittliche Zeit, die der Kafka-Broker für die Bearbeitung von Anforderungen benötigt hat.

Einheit: Millisekunden

Aussagekräftige Statistiken: Durchschnitt

kafka.network.io

[STANDARD], state

Die Anzahl der Bytes, die von dem Kafka-Broker empfangen oder gesendet wurden.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.purgatory.size

[STANDARD], type

Die Anzahl der Anforderungen in der Purgatory-Warteschlange.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.partition.count

[STANDARD]

Die Anzahl der Partitionen für den Kafka-Broker.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.partition.offline

[STANDARD]

Die Gesamtzahl der Partitionen, die offline sind.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.partition.under_replicated

[STANDARD]

Die Anzahl der unter-replizierten Partitionen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.isr.operation.count

[STANDARD], operation

Die Anzahl der synchronisierten Replikat-Verkleinerungs- und Vergrößerungsvorgänge.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.max.lag

[STANDARD]

Die maximale Verzögerung bei Nachrichten zwischen Follower- und Leader-Replikaten.

Einheit: keine

Aussagekräftige Statistiken: Maximum

kafka.controller.active.count

[STANDARD]

Die Anzahl der aktiven Verbindungen auf dem Broker.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.leader.election.rate

[STANDARD]

Leader-Wahlquote. Wenn dieser Wert zunimmt, deutet dies auf Broker-Ausfälle hin.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.unclean.election.rate

[STANDARD]

Unclean-Leader-Wahlquote. Wenn dieser Wert zunimmt, deutet dies auf Broker-Ausfälle hin.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.request.queue

[STANDARD]

Die Größe der Anforderungswarteschlange.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.logs.flush.time.count

[STANDARD]

Die Anzahl der gelöschten Protokolle.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.logs.flush.time.median

[STANDARD]

Der 50. Perzentilwert der Protokoll-Löschungsanzahl.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.logs.flush.time.99p

[STANDARD]

Der 99. Perzentilwert der Protokoll-Löschungsanzahl.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

Die Kafka–Broker-Metriken werden mit den folgenden Dimensionen erfasst:

Dimension Description

[STANDARD]

Bei Amazon wird der Host EC2 standardmäßig auch als Dimension von Metriken veröffentlicht, die vom CloudWatch Agenten erfasst werden, es sei denn, Sie verwenden das append_dimensions Feld im metrics Abschnitt. Sehen Sie sich omit_hostname im Agenten-Abschnitt von Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell für weitere Informationen an.

In Amazon EKS wird der k8s-bezogene Kontext standardmäßig auch als Dimensionen von Metriken (k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name und k8s.replicaset.name) veröffentlicht. Diese können mithilfe des Felds aggregation_dimensions gefiltert werden.

type

Der Anforderungstyp. Mögliche Werte sind produce, fetch, fetchconsumer und fetchfollower.

state

Die Richtung des Netzwerkverkehrs. Mögliche Werte sind in und out.

operation

Der Vorgangstyp für das synchrone Replikat. Mögliche Werte sind shrink und expand.

Kafka-Consumer-Metriken

Die folgenden Metriken können für Kafka-Consumer erfasst werden.

Metrik Dimensionen Description

kafka.consumer.fetch-rate

[STANDARD], client-id

Die Anzahl der Abrufanforderungen für alle Themen pro Sekunde.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.consumer.records-lag-max

[STANDARD], client-id

Die Anzahl der Nachrichten, bei denen der Consumer dem Producer hinterherhinkt.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.consumer.total.bytes-consumed-rate

[STANDARD], client-id

Die durchschnittliche Anzahl von Bytes, die pro Sekunde für alle Themen verbraucht werden.

Einheit: Byte

Aussagekräftige Statistiken: Durchschnitt

kafka.consumer.total.fetch-size-avg

[STANDARD], client-id

Die Anzahl der pro Anforderung abgerufenen Bytes für alle Themen.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.consumer.total.records-consumed-rate

[STANDARD], client-id

Die durchschnittliche Anzahl der Datensätze, die pro Sekunde für alle Themen verbraucht werden.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.consumer.bytes-consumed-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl von Bytes, die pro Sekunde verbraucht werden.

Einheit: Byte

Aussagekräftige Statistiken: Durchschnitt

kafka.consumer.fetch-size-avg

[STANDARD], client-id, topic

Die Anzahl der pro Anforderung abgerufenen Bytes.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.consumer.records-consumed-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl von Datensätzen, die pro Sekunde verbraucht werden.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

Die Kafka–Consumer-Metriken werden mit den folgenden Dimensionen erfasst:

Dimension Description

[STANDARD]

Bei Amazon wird der Host EC2 standardmäßig auch als Dimension von Metriken veröffentlicht, die vom CloudWatch Agenten erfasst werden, es sei denn, Sie verwenden das append_dimensions Feld im metrics Abschnitt. Sehen Sie sich omit_hostname im Agenten-Abschnitt von Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell für weitere Informationen an.

In Amazon EKS wird der k8s-bezogene Kontext standardmäßig auch als Dimensionen von Metriken (k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name und k8s.replicaset.name) veröffentlicht. Diese können mithilfe des Felds aggregation_dimensions gefiltert werden.

client-id

Die Client-ID

topic

Das Kafka-Thema.

Kafka-Producer-Metriken

Die folgenden Metriken können für Kafka-Producer erfasst werden.

Metrik Dimensionen Description

kafka.producer.io-wait-time-ns-avg

[STANDARD], client-id

Die durchschnittliche Zeit, die der I/O Thread damit verbracht hat, auf einen Socket zu warten, der für Lese- oder Schreibvorgänge bereit war.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.outgoing-byte-rate

[STANDARD], client-id

Die durchschnittliche Anzahl ausgehender Byte, die pro Sekunde an alle Server gesendet werden.

Einheit: Byte

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.request-latency-avg

[STANDARD], client-id

Die durchschnittliche Latenz bei Anforderungen.

Einheit: Millisekunden

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.request-rate

[STANDARD], client-id

Die durchschnittliche Anzahl an Anforderungen pro Sekunde.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.response-rate

[STANDARD], client-id

Die Anzahl der pro Sekunde empfangenen Antworten.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

kafka.producer.byte-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl von Bytes, die pro Sekunde für ein Thema gesendet werden.

Einheit: Byte

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.compression-rate

[STANDARD], client-id, topic

Die durchschnittliche Komprimierungsrate von Datensatz-Batches für ein Thema.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.record-error-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl der pro Sekunde gesendeten Datensätze, die für ein Thema zu Fehlern geführt haben.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.record-retry-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl der pro Sekunde wiederholten Datensatzsendungen für ein Thema.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

kafka.producer.record-send-rate

[STANDARD], client-id, topic

Die durchschnittliche Anzahl der Datensätze, die pro Sekunde für ein Thema gesendet werden.

Einheit: keine

Aussagekräftige Statistiken: Durchschnitt

Die Kafka-Producer-Metriken werden mit den folgenden Dimensionen erfasst:

Dimension Description

[STANDARD]

Bei Amazon wird der Host EC2 standardmäßig auch als Dimension von Metriken veröffentlicht, die vom CloudWatch Agenten erfasst werden, es sei denn, Sie verwenden das append_dimensions Feld im metrics Abschnitt. Sehen Sie sich omit_hostname im Agenten-Abschnitt von Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell für weitere Informationen an.

In Amazon EKS wird der k8s-bezogene Kontext standardmäßig auch als Dimensionen von Metriken (k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name und k8s.replicaset.name) veröffentlicht. Diese können mithilfe des Felds aggregation_dimensions gefiltert werden.

client-id

Die Client-ID

topic

Das Kafka-Thema.

Erfassen von Tomcat-Metriken

Sie können den CloudWatch Agenten verwenden, um Apache Tomcat-Metriken zu sammeln. Um dies einzurichten, fügen Sie dem tomcat Abschnitt der CloudWatch Agenten-Konfigurationsdatei einen metrics_collected Abschnitt hinzu.

Die folgenden Metriken können erfasst werden.

Metrik Dimensionen Description

tomcat.sessions

[STANDARD]

Die Anzahl der aktiven Sitzungen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

tomcat.errors

[STANDARD], proto_handler

Die Anzahl der angetroffenen Fehler.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

tomcat.processing_time

[STANDARD], proto_handler

Die gesamte Verarbeitungszeit.

Einheit: Millisekunden

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

tomcat.traffic

[STANDARD], proto_handler

Die Anzahl der empfangenen und gesendeten Bytes.

Einheit: Byte

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

tomcat.threads

[STANDARD], proto_handler

Die Anzahl von Threads.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

tomcat.max_time

[STANDARD], proto_handler, direction

Maximale Zeit für die Bearbeitung einer Anforderung.

Einheit: Millisekunden

Aussagekräftige Statistiken: Maximum

tomcat.request_count

[STANDARD], proto_handler

Die Gesamtzahl der Anforderungen.

Einheit: keine

Aussagekräftige Statistiken: Minimum, Maximum, Durchschnitt

Die Tomcat-Metriken werden mit den folgenden Dimensionen erfasst:

Dimension Description

[STANDARD]

Bei Amazon wird der Host EC2 standardmäßig auch als Dimension von Metriken veröffentlicht, die vom CloudWatch Agenten erfasst werden, es sei denn, Sie verwenden das append_dimensions Feld im metrics Abschnitt. Sehen Sie sich omit_hostname im Agenten-Abschnitt von Erstellen oder bearbeiten Sie die CloudWatch Agenten-Konfigurationsdatei manuell für weitere Informationen an.

In Amazon EKS wird der k8s-bezogene Kontext standardmäßig auch als Dimensionen von Metriken (k8s.container.name, k8s.deployment.name, k8s.namespace.name, k8s.node.name, k8s.pod.name und k8s.replicaset.name) veröffentlicht. Diese können mithilfe des Felds aggregation_dimensions gefiltert werden.

proto_handler

Der proto_handler ist ein Bezeichner für einen Konnektor, der im <protocol>-<type>-<port>-Format bereitgestellt wird (z. B. http-nio-8080).

direction

Die Verkehrsrichtung. Mögliche Werte sind received und sent.