Monitoramento do Snowflake Connector for Kafka¶
Este tópico descreve como monitorar o Snowflake Connector for Kafka.
Monitoramento JMX¶
O conector expõe métricas por meio de MBeans Java Management Extensions (JMX). Por padrão, o JMX está habilitado (jmx=true).
Para usar o monitoramento JMX, configure a JVM do worker Kafka Connect com as seguintes propriedades de sistema:
Depois disso, você pode usar qualquer ferramenta de monitoramento compatível com JMX (por exemplo, JConsole ou Prometheus com um exportador JMX) para visualizar as métricas do conector.
Domínio e nomenclatura de MBean¶
O conector registra MBeans no domínio snowflake.kafka.connector com o seguinte padrão ObjectName:
Em que <scope> é task (métricas no nível da tarefa) ou channel (métricas de canal por partição).
Métricas no nível da tarefa¶
Essas métricas têm como escopo uma tarefa do conector e oferecem visibilidade agregada das operações de taxa de transferência e de ciclo de vida.
Métrica |
Tipo |
Descrição |
|---|---|---|
|
Registrador |
Número de registros recebidos pela tarefa via |
|
Temporizador |
Duração de cada chamada |
|
Temporizador |
Duração das operações de pré-confirmação, que incluem a verificação de deslocamento. |
|
Medidor |
Número atual de partições do Kafka atribuídas a esta tarefa. Útil para verificar a distribuição balanceada de partições entre tarefas. |
|
Temporizador |
Tempo para abrir os canais do Snowpipe Streaming. Valores elevados podem indicar problemas de conexão. |
|
Contador |
Número total de canais abertos por esta tarefa. |
|
Contador |
Número de vezes que o conector teve que retroceder devido ao backpressure downstream. Valores sempre diferentes de zero indicam que o conector está produzindo mais rapidamente do que o Snowflake pode ingerir. |
Métricas no nível do canal¶
Essas métricas têm como escopo um canal de partição de tópico específico do Kafka e são essenciais para monitorar o atraso na ingestão e a durabilidade dos dados.
Métrica |
Tipo |
Descrição |
|---|---|---|
|
Medidor |
O deslocamento mais recente armazenado em buffer pelo conector. É o último registro recebido do Kafka para esta partição. |
|
Medidor |
O último deslocamento confirmado como continuamente comprometido no Snowflake. Compare-o com |
|
Medidor |
O último deslocamento disponível do consumidor Kafka para esta partição. Compare com |
|
Medidor |
Número de eventos de recuperação de canal. Um valor alto ou crescente indica instabilidade no canal do Snowpipe Streaming. |
Principais métricas para alertas¶
Para implantações de produção, considere alertar sobre o seguinte:
Atraso na ingestão:
latest-consumer-offsetmenospersisted-in-snowflake-offset. Uma lacuna crescente indica que o conector está atrasado.Backpressure:
backpressure-rewind-countaumentando ao longo do tempo.Recuperação de canal:
channel-recovery-countaumentando, o que pode indicar problemas de conectividade ou autenticação.Duração de put:
put-durationmédio ou percentil 99 que excede seu limite aceitável.
Registro de MDC¶
Habilite o registro de MDC (Mapped Diagnostic Context) para preceder o contexto do conector às mensagens de log. Isso é útil ao executar várias instâncias do conector, e você precisa correlacionar as entradas de log:
Estimativa da latência de ingestão¶
O campo SnowflakeConnectorPushTime em RECORD_METADATA registra o carimbo de data/hora de quando o conector armazenou em buffer um registro para ingestão. É possível usar esse valor para estimar a latência de ingestão completa comparando-o com o momento em que o registro se torna consultável no Snowflake.
Por exemplo:
Para obter mais informações sobre o monitoramento de ingestão do Snowpipe Streaming, consulte Conceitos-chave do Snowpipe Streaming.