Überwachen des Kafka-Konnektors mit Java Management Extensions (JMX)¶
Unter diesem Thema wird beschrieben, wie Sie Java Management Extensions (JMX) verwenden, um den Snowflake-Konnektor für Kafka zu überwachen. Kafka Connect bietet vorkonfigurierte JMX-Metriken, die Informationen über den Kafka-Konnektor bereitstellen. Der Snowflake-Konnektor für Kafka bietet mehrere Managed Beans (MBeans), mit denen Sie Metriken über die Kafka-Umgebung erfassen können. Sie können diese Informationen in Drittanbieter-Tools wie Prometheus und Grafana laden.
Die JMX-Funktion ist im Anschluss standardmäßig aktiviert. Um JMX zu deaktivieren, setzen Sie die Eigenschaft jmx
auf false
.
Wichtig
Snowpipe unterstützt den Kafka-Konnektor, Version 1.6.0 und höher.
Snowpipe Streaming unterstützt den Kafka-Konnektor, Version 2.1.2 und höher.
Unter diesem Thema:
Konfigurieren von JMX im Kafka-Konnektor¶
JMX ist im Snowflake-Konnektor für Kafka standardmäßig aktiviert. Um JMX in Kafka zu aktivieren, gehen Sie wie folgt vor:
Aktivieren Sie JMX, um eine Verbindung zu Ihrer Kafka-Installation herzustellen:
Um JMX-Verbindungen zu einer Kafka-Installation herzustellen, die auf einem Remoteserver ausgeführt wird, setzen Sie die Umgebungsvariable
KAFKA_JMX_OPTS
in Ihrem Kafka Connect-Startskript:export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<ip_address> -Dcom.sun.management.jmxremote.port=<jmx_port>"
Wobei:
ip_address
: Gibt die IP-Adresse Ihrer Kafka Connect-Installation an.jmx_port
: Gibt den JMX-Port an, an dem Kafka Connect auf JMX-Verbindungen erwartet.
Um JMX-Verbindungen zu Kafka herzustellen, die auf demselben Server ausgeführt werden, setzen Sie die Umgebungsvariable
JMX_PORT
in Ihrem Kafka-Startskript:export JMX_PORT=<port_number>
Dabei ist
port_number
der JMX-Port Ihrer Kafka-Installation.
Starten Sie den Kafka-Konnektor neu.
Verwenden von Managed Beans (MBeans) des Snowflake-Konnektors für Kafka¶
JMX verwendet MBeans, um Objekte innerhalb von Kafka zu repräsentieren, die überwacht werden können (z. B. Thread-Anzahl, CPU-Auslastung usw.). Der Snowflake-Konnektor für Kafka bietet MBeans für den Zugriff auf vom Konnektor verwaltete Objekte. Mithilfe dieser MBeans können Sie Überwachungs-Dashboards erstellen.
Das allgemeine Format für den Namen des Kafka-Konnektor-MBean-Objekts ist:
snowflake.kafka.connector:connector=connector_name,pipe=pipe_name,category=category_name,name=metric_name
Wobei:
connector=connector_name
gibt den Namen des in der Kafka-Konfigurationsdatei definierten Konnektors an.pipe=pipe_name
gibt das Snowpipe-Objekt an, das zum Erfassen von Daten verwendet wird. Der Kafka-Konnektor definiert Snowpipe-Objekte für jede Partition.category=category_name
gibt die MBean-Kategorie an. Jede Kategorie enthält eine Menge von Metriken.name=metric_name
gibt den Namen der Metrik an.
In den folgenden Abschnitten sind die Namen der Kategorien und Metriken aufgeführt, die vom Snowflake-Konnektor für Kafka bereitgestellt werden.
Kategorie: file-counts
¶
Diese Kategorie von Kennzahlen gilt nur für Snowpipe-basierte Kafka-Konnektoren und nicht für Snowpipe Streaming.
Metrikname |
Datentyp |
Beschreibung |
---|---|---|
|
long |
Die Anzahl der Dateien, die sich derzeit in einem internen Stagingbereich befinden. Dieser Wert wird dekrementiert, nachdem der Bereinigungsprozess der Dateien begonnen hat. Diese Eigenschaft gibt eine Schätzung darüber ab, wie viele Dateien sich derzeit in einem internen Stagingbereich befinden. |
|
long |
Die Anzahl der Dateien in Snowpipe, die durch Aufrufen der |
|
long |
Die Anzahl der Dateien im Tabellen-Stagingbereich, die nicht erfasst werden konnten. |
|
long |
Die Anzahl der im Tabellen-Stagingbereich vorhandenen Dateien, die zu einem beschädigten Offset gehören. |
|
long |
Die Anzahl der Dateien, die nach der Bestimmung des Erfassungsstatus aus dem internen Stagingbereich gelöscht wurden. |
Kategorie: offsets
¶
Die Kennzahlen offsetPersistedInSnowflake
und latestConsumerOffset
gelten für den Snowpipe Streaming-basierten Kafka-Konnektor. Der Rest dieser Kategorie gilt nur für Snowpipe-basierte Kafka-Konnektoren.
Metrikname |
Datentyp |
Beschreibung |
---|---|---|
|
long |
Ein Offset, der sich auf den letzten Datensatz bezieht, der an den speicherinternen Puffer gesendet wurde. |
|
long |
Ein Offset, der sich auf einen Datensatz bezieht, der in einen internen Stagingbereich geleert wird, nachdem der Schwellenwert des Puffers erreicht wurde. Der Puffer kann seinen Schwellenwert nach Zeit, Anzahl der Datensätze oder Größe erreichen. |
|
long |
Ein Offset, der sich auf einen Datensatz bezieht, bei dem die Pre-Commit-API aufgerufen wurde und der die aufgerufene Snowpipe- |
|
long |
Ein Offset, der sich auf einen Datensatz bezieht, der endgültig aus dem internen Stagingbereich gelöscht wird. Diese Zahl ist der Wert des jüngsten Offsets, der endgültig aus dem internen Stagingbereich gelöscht wurde. |
|
long |
Ein Offset, der auf einen Datensatz verweist, der die neuesten persistenten Daten in Snowflake enthält. Der Offset wird durch den |
|
long |
Ein Offset, der sich auf den letzten Datensatz bezieht, der an den speicherinternen Puffer gesendet wurde. Es wird nur verwendet, um den Offset erneut zu senden, wenn das Kanal-Offset-Token |
Kategorie: buffer
¶
Diese Kategorie von Kennzahlen ist nur für Snowpipe-basierte Kafka-Konnektoren verfügbar.
Metrikname |
Datentyp |
Beschreibung |
---|---|---|
|
long |
Gibt auf der Grundlage von Pufferschwellenwerten die Puffergröße (in Bytes) zurück, bevor er in einen internen Stagingbereich geleert wird. Dieser Wert muss nicht mit der Dateigröße übereinstimmen, da Dateien beim Laden in den internen Stagingbereich komprimiert werden. |
|
long |
Gibt auf der Grundlage von Pufferschwellenwerten die Anzahl der Kafka-Datensätze zurück, die in den Arbeitsspeicher gepuffert werden, bevor der Puffer in einen internen Stagingbereich geleert wird. |
Kategorie: latencies
¶
Diese Kategorie von Kennzahlen ist nur für Snowpipe-basierte Kafka-Konnektoren verfügbar.
Metrikname |
Datentyp |
Beschreibung |
---|---|---|
|
long |
Die Differenz (in Sekunden) zwischen dem Zeitpunkt, zu dem der Datensatz in Kafka bereitgestellt wird, und dem Zeitpunkt, zu dem der Datensatz in Kafka Connect abgerufen wird. Beachten Sie, dass dieser Wert null sein kann, wenn er innerhalb eines Datensatzes nicht festgelegt wurde. |
|
long |
Die Differenz (in Sekunden) zwischen dem Zeitpunkt des Hochladens der Datei in einen internen Stagingbereich und dem Zeitpunkt des Aufrufens der |
|
long |
Die Differenz (in Sekunden) zwischen dem Zeitpunkt, zu dem eine Datei in einen internen Stagingbereich hochgeladen wird, und dem Zeitpunkt, zu dem der Dateierfassungsstatus über die |