Depois que o monitoramento do Kafka for configurado com o OpenTelemetry, suas métricas aparecerão em vários locais no New Relic. Este guia mostra onde encontrar seus dados e como consultá-los de forma eficaz.
Navegue para seus dados do Kafka Suas métricas do Kafka aparecem em vários lugares na plataforma New Relic, cada um otimizado para diferentes casos de uso:
1. Explorador de entidades Ideal para: Verificações rápidas de integridade e relacionamentos de entidades
Vá para one.newrelic.com > All capabilities > On host integrations Visualize os tipos de entidade de broker, cluster e tópicos do Kafka 2. Filas e Streams Ideal para: Monitoramento focado em fila de mensagens
Vá para one.newrelic.com > All capabilities > Queues & Streams Filtre por provider=opentelemetry e clique na linha da conta onde você instrumentou o Kafka para visualizar seus dados /* ### 3. Serviços de terceiros Ideal para: Monitoramento focado em integração 1. Vá para <DNT>**[one.newrelic.com](https\://one.newrelic.com) > All capabilities > Infrastructure > Third-party services**</DNT> 2. Select <DNT>**Kafka (OpenTelemetry)**</DNT> > <DNT>**OTel Kafka Dashboard**</DNT> <img title="Serviços de terceiros OTel Kafka" alt="Visualização de serviços de terceiros mostrando a integração do Kafka (OpenTelemetry)" src="/images/infrastructure_screenshot-crop_otel-kafka-third-party-integrations.webp" /> */
3. Dashboards pré-construídos Ideal para: Monitoramento e visualização abrangentes
Vá para one.newrelic.com > Dashboards > Recommended dashboards (View all) Pesquisar por "OTel Kafka Dashboard" Consulte dados do Kafka com NRQL Use NRQL para criar consultas e dashboards personalizados para seus dados Kafka.
Consultas básicas Visualize todas as métricas do Kafka:
WHERE instrumentation . provider = 'opentelemetry'
AND kafka . cluster . name IS NOT NULL
Monitorar cluster específico:
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Monitoramento de atraso do consumidor Atraso do consumidor por grupo:
FROM Metric SELECT latest ( kafka . consumer_group . lag )
WHERE instrumentation . provider = 'opentelemetry'
FACET kafka . consumer_group . name , kafka . topic . name
SINCE 1 hour ago TIMESERIES
Alerta de alta defasagem do consumidor:
FROM Metric SELECT max ( kafka . consumer_group . lag )
WHERE instrumentation . provider = 'opentelemetry'
AND kafka . consumer_group . name = 'your-consumer-group'
Consultas de integridade do broker Contagem de brokers ativos:
FROM Metric SELECT latest ( kafka . brokers )
WHERE instrumentation . provider = 'opentelemetry'
AND kafka . cluster . name = 'your-cluster'
Partições sub-replicadas:
FROM Metric SELECT latest ( kafka . partition . under_replicated )
WHERE instrumentation . provider = 'opentelemetry'
FACET kafka . topic . name SINCE 1 hour ago
Taxa de transferência de mensagens por tópico:
FROM Metric SELECT rate ( sum ( kafka . topic . messages ) , 1 minute ) as 'Messages/min'
WHERE instrumentation . provider = 'opentelemetry'
FACET kafka . topic . name SINCE 1 hour ago TIMESERIES
E/S de rede por broker:
FROM Metric SELECT rate ( sum ( kafka . network . io . bytes ) , 1 minute ) as 'Bytes/min'
WHERE instrumentation . provider = 'opentelemetry'
FACET kafka . broker . id , direction SINCE 1 hour ago TIMESERIES
Consultas avançadas Para exemplos de consultas mais abrangentes organizados por área de foco de monitoramento:
Visão geral do cluster Obtenha estatísticas de cluster de alto nível:
latest ( kafka . brokers ) AS 'Active Brokers' ,
latest ( kafka . cluster . topic . count ) AS 'Total Topics' ,
latest ( kafka . cluster . partition . count ) AS 'Total Partitions'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Integridade do broker Monitore a integridade e liderança de cada broker:
latest ( kafka . partition . under_replicated ) AS 'Under-replicated Partitions' ,
latest ( kafka . broker . leader . count ) AS 'Leader Count' ,
latest ( kafka . partition . count ) AS 'Total Partitions'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Integridade do cluster Acompanhe a integridade geral do cluster e o status da partição:
latest ( kafka . partition . offline ) AS 'Offline Partitions' ,
latest ( kafka . cluster . partition . count ) AS 'Total Partitions' ,
latest ( kafka . cluster . topic . count ) AS 'Total Topics'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Taxa de transferência e E/S do tópico Monitore as taxas de mensagens e a taxa de transferência de dados por tópico:
rate ( sum ( kafka . prod . msg . count ) , 1 minute ) AS 'Messages/min' ,
rate ( filter ( sum ( kafka . topic . io ) , WHERE direction = 'in' ) , 1 minute ) AS 'Bytes In/min' ,
rate ( filter ( sum ( kafka . topic . io ) , WHERE direction = 'out' ) , 1 minute ) AS 'Bytes Out/min'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Defasagem do consumidor Acompanhe a defasagem e os atrasos de processamento do grupo de consumidores:
latest ( kafka . consumer_group . lag_sum ) AS 'Total Lag'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Latência da solicitação Monitore os tempos de processamento e o desempenho das solicitações:
latest ( kafka . request . time . avg ) AS 'Avg Latency' ,
latest ( kafka . request . time . 99 p ) AS '99th Percentile'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Integridade da JVM Monitore as métricas da JVM para brokers Kafka:
( latest ( jvm . memory . heap . used ) / latest ( jvm . memory . heap . max ) ) * 100 AS 'Heap Usage %' ,
rate ( sum ( jvm . gc . collections . count ) , 1 minute ) AS 'GC Count/min'
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Criar dashboards personalizados Combine várias consultas para criar dashboards abrangentes de monitoramento Kafka:
Vá para one.newrelic.com > Dashboards
Clique em "Create a dashboard"
Adicione widgets usando as consultas NRQL acima
Organize os widgets por área de foco:
Integridade do cluster: contagem de brokers, partições sub-replicadas, status do controlador Desempenho do consumidor: Lag, taxa de transferência, associação ao grupo Métricas do tópico: taxas de mensagens, contagens de partições, status de replicação Utilização de recursos: E/S de rede, métricas JVM, uso de disco Configurar alerta Dica A New Relic fornece alertas de métricas douradas pré-configurados para Kafka. Ao criar uma nova condição de alerta, selecione Guided mode → Host integrations → Kafka (brokers, cluster ou tópicos) para visualizar os modelos de alerta recomendados.
Você também pode criar alertas personalizados usando consultas NRQL:
Lag alto do consumidor Alertar quando a defasagem do consumidor exceder seu limite aceitável:
latest ( kafka . consumer_group . lag_sum )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta quando o lag > 10.000 mensagens para grupos de consumidores críticos.
Partições sub-replicadas Alerta quando as partições perdem a replicação:
sum ( kafka . partition . under_replicated )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta quando alguma partição se torna sub-replicada (> 0).
Partições offline Alerta imediatamente quando as partições ficarem offline:
latest ( kafka . partition . offline )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta imediatamente quando alguma partição ficar offline (> 0).
Partições abaixo do ISR mínimo Alerta quando as partições ficam abaixo do mínimo de réplicas em sincronia:
latest ( kafka . partition . under_min_isr )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta quando alguma partição cair abaixo do ISR mínimo (> 0).
Alto uso de memória JVM Alerta quando o uso do heap é crítico:
( latest ( jvm . memory . heap . used ) / latest ( jvm . memory . heap . max ) ) * 100
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta quando o uso do heap > 85% por períodos prolongados.
Falhas de solicitação Alertar sobre altas taxas de falha de solicitações:
rate ( sum ( kafka . request . failed ) , 1 minute )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alertar quando a taxa de falha > 1% do total de solicitações.
Eleições de líder impuras Alerta sobre eleições de líder impuras (indica falhas no broker):
rate ( sum ( kafka . unclean . election . rate ) , 1 minute )
WHERE kafka . cluster . name = 'production-cluster'
AND instrumentation . provider = 'opentelemetry'
Limite recomendado : Alerta sobre quaisquer eleições de líder impuras (> 0).
Próximos passos