Surveillance du connecteur Kafka à l’aide de Java Management Extensions (JMX)¶
Cette rubrique décrit comment utiliser les Java Management Extensions (JMX) pour surveiller le connecteur Snowflake pour Kafka. Kafka Connect fournit des métriques JMX préconfigurées qui fournissent des informations sur le connecteur Kafka. Le connecteur Snowflake pour Kafka fournit plusieurs Managed Beans (MBeans) que vous pouvez utiliser pour ingérer des métriques sur l’environnement Kafka. Vous pouvez charger ces informations dans des outils tiers, notamment Prometheus et Grafana.
La fonction JMX est activée par défaut dans le connecteur. Pour désactiver JMX, définissez la propriété jmx
sur false
.
Important
Snowpipe prend en charge le connecteur Kafka version 1.6.0 et versions ultérieures.
Snowpipe Streaming prend en charge le connecteur Kafka version 2.1.2 et versions ultérieures.
Dans ce chapitre :
Configuration de JMX dans le connecteur Kafka¶
JMX est activé par défaut dans le connecteur Kafka de Snowflake. Pour activer JMX dans Kafka, effectuez ce qui suit :
Activez JMX pour vous connecter à votre installation Kafka :
Pour établir des connexions JMX à une installation Kafka fonctionnant sur un serveur distant, définissez la variable d’environnement
KAFKA_JMX_OPTS
dans votre script de démarrage de Kafka Connect :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>"
Où :
ip_address
: spécifie l’adresse IP de votre installation Kafka Connect.jmx_port
: spécifie le port JMX sur lequel Kafka Connect écoute les connexions JMX.
Pour établir des connexions JMX à Kafka fonctionnant sur le même serveur, définissez la variable d’environnement
JMX_PORT
dans votre script de démarrage de Kafka :export JMX_PORT=<port_number>
Où
port_number
est le port JMX de votre installation Kafka.
Redémarrez le connecteur Kafka.
Utilisation des Managed Beans (MBeans) du connecteur Kafka de Snowflake¶
JMX utilise MBeans pour représenter les objets de Kafka qu’il peut surveiller (par exemple, le nombre de threads, la charge du processeur, etc.) Le connecteur Kafka de Snowflake fournit des MBeans pour accéder aux objets gérés par le connecteur. Vous pouvez utiliser ces MBeans pour créer des tableaux de bord de surveillance.
Le format général du nom de l’objet MBean du connecteur Kafka est le suivant :
snowflake.kafka.connector:connector=connector_name,pipe=pipe_name,category=category_name,name=metric_name
Où :
connector=connector_name
spécifie le nom du connecteur défini dans le fichier de configuration Kafka.pipe=pipe_name
spécifie l’objet Snowpipe utilisé pour ingérer les données. Le connecteur Kafka définit des objets Snowpipe pour chaque partition.category=category_name
spécifie la catégorie des MBean. Chaque catégorie contient un ensemble de métriques.name=metric_name
spécifie le nom de la métrique.
Les sections suivantes énumèrent les noms des catégories et des métriques fournis par le connecteur Kafka de Snowflake.
Catégorie : file-counts
¶
Cette catégorie de métriques ne s’applique qu’au connecteur Kafka basé sur Snowpipe et ne s’applique pas à Snowpipe Streaming.
Nom de la métrique |
Type de données |
Description |
---|---|---|
|
long |
Le nombre de fichiers actuellement sur une zone de préparation interne. Cette valeur est décrémentée après le début du processus de purge des fichiers. Cette propriété fournit une estimation du nombre de fichiers actuellement présents sur une zone de préparation interne. |
|
long |
Le nombre de fichiers dans Snowpipe déterminé en appelant l” |
|
long |
Le nombre de fichiers de la zone de préparation de la table qui ont échoué à l’ingestion. |
|
long |
Le nombre de fichiers présents sur la zone de préparation de la table qui correspond à un décalage incorrect. |
|
long |
Le nombre de fichiers purgés de la zone de préparation interne après que le statut d’ingestion a été déterminé. |
Catégorie : offsets
¶
Les métriques offsetPersistedInSnowflake
et latestConsumerOffset
s’appliquent au connecteur Kafka basé sur Snowpipe Streaming. Le reste de cette catégorie ne s’applique qu’au connecteur Kafka basé sur Snowpipe.
Nom de la métrique |
Type de données |
Description |
---|---|---|
|
long |
Un décalage se référant à l’enregistrement le plus récent envoyé dans le tampon en mémoire. |
|
long |
Un décalage se référant à un enregistrement qui est évacué sur une zone de préparation interne après que le seuil de la mémoire tampon a été atteint. Le tampon peut atteindre son seuil par la durée, le nombre d’enregistrements ou la taille. |
|
long |
Un décalage se référant à un enregistrement qui a entraîné l’appel de l’API de pré-validation et qui a appelé l’API REST |
|
long |
Un décalage se référant à un enregistrement qui est purgé de la zone de préparation interne. Ce nombre est la valeur du décalage le plus récent qui a été purgé de la zone de préparation interne. |
|
long |
Un décalage qui renvoie à un enregistrement contenant les données persistantes les plus récentes dans Snowflake. Le décalage est déterminé par l’appel de l’API |
|
long |
Un décalage se référant à l’enregistrement le plus récent envoyé dans le tampon en mémoire. Il n’est utilisé pour renvoyer le décalage que lorsque le jeton de décalage du canal est |
Catégorie : buffer
¶
Cette catégorie de métriques n’est disponible que pour le connecteur Kafka basé sur Snowpipe.
Nom de la métrique |
Type de données |
Description |
---|---|---|
|
long |
En fonction des seuils de la mémoire tampon, renvoie la taille de la mémoire tampon (en octets) avant qu’elle ne soit vidée vers une zone de préparation interne. Cette valeur peut être différente de la taille du fichier car les fichiers sont compressés lors de leur chargement dans une zone de préparation interne. |
|
long |
En fonction des seuils de la mémoire tampon, renvoie le nombre d’enregistrements Kafka mis en mémoire tampon avant que celle-ci ne soit vidée vers une zone de préparation interne. |
Catégorie : latencies
¶
Cette catégorie de métriques n’est disponible que pour le connecteur Kafka basé sur Snowpipe.
Nom de la métrique |
Type de données |
Description |
---|---|---|
|
long |
La différence (en secondes) entre le moment où l’enregistrement est placé dans Kafka et le moment où l’enregistrement est récupéré dans Kafka Connect. Notez que cette valeur peut être nulle si la valeur n’a pas été définie dans un enregistrement. |
|
long |
La différence (en secondes) entre le moment où le fichier est téléchargé dans une zone de préparation interne et le moment où l” |
|
long |
La différence (en secondes) entre le moment où un fichier est téléchargé vers une zone de préparation interne et le moment où le statut d’ingestion du fichier est signalé par le biais de l’API |