O Managed Service for Prometheus coleta métricas de desempenho do Kafka por meio de um agente Java Management Extensions (JMX). Implante o agente nos seus nós do Kafka para expor as métricas via HTTP e, em seguida, configure a descoberta de serviços para que o Prometheus faça a coleta dos dados automaticamente.
Este guia aborda ambientes de implantação tanto no Container Service for Kubernetes (ACK) quanto no Elastic Compute Service (ECS).
Pré-requisitos
Antes de começar, certifique-se de ter:
Um cluster Kafka com os componentes Producer, Broker e Consumer em execução no ACK ou ECS
Uma instância do Prometheus para ACK ou uma instância do Prometheus para ECS (outros tipos de instância não são suportados)
Acesso aos pods ou às instâncias ECS onde o Kafka está implantado
Acesso ao console do ACK ou ao console do ECS, dependendo do seu tipo de implantação
Etapa 1: Implantar o agente JMX do Kafka
Baixe o pacote do agente JMX do Kafka (
kafka-jmx_prometheus_javaagent-1.18.1.jar) para cada pod ou instância ECS onde o Kafka estiver em execução.-
Adicione o seguinte sinalizador aos parâmetros de inicialização da JVM para cada componente do Kafka (Producer, Broker e Consumer):
Espaço reservado
Descrição
Exemplo
<jmx-agent-directory>Diretório onde você salvou o arquivo JAR do agente JMX
/opt/kafka/libs<jmx-listening-port>Porta na qual o agente JMX expõe as métricas via HTTP
9404-javaagent:/<jmx-agent-directory>/kafka-jmx_prometheus_javaagent-1.18.1.jar=<jmx-listening-port>
Reinicie o Producer, o Broker e o Consumer do Kafka para que as alterações entrem em vigor.
-
Verifique se o agente está em execução. Em cada pod ou instância ECS, execute: Substitua
<jmx-listening-port>pela porta especificada na subetapa 2. Se o agente estiver funcionando corretamente, o comando retornará dados de métrica no formato de exposição do Prometheus.curl localhost:<jmx-listening-port>/metrics
Etapa 2: Configurar a descoberta de serviços
O Managed Service for Prometheus utiliza tags para descobrir alvos de coleta. A configuração varia dependendo se o Kafka está executando no ACK ou no ECS.
Implantações no ACK
Para implantações no ACK, exponha opcionalmente a porta do agente JMX e adicione rótulos aos seus pods.
(Opcional) Expor a porta do contêiner
Caso o Managed Service for Prometheus não consiga coletar o endpoint de métricas JMX, exponha a porta do agente na sua implantação do Kubernetes. Se você implantar um agente JMX do Kafka em uma instância do Prometheus para ECS, pule esta etapa.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, localize seu cluster e clique no nome dele. No painel à esquerda, escolha Workloads > Deployments.
Na coluna Actions da implantação desejada, clique em Edit.
-
No painel exibido, configure os seguintes campos:
Campo
Descrição
Name
Um nome descritivo para a porta JMX. Exemplo:
app1-kafka-jmx.Container Port
A
<jmx-listening-port>especificada na Etapa 1.Protocol
Selecione TCP.

Adicionar rótulos aos pods
Adicione um rótulo no formato <custom-tag-key>:<custom-tag-value> a cada pod do Producer, Broker e Consumer do Kafka. Exemplo: arms-kafka-exporter:my-kafka1.
No console do ACK, acesse seu cluster. No painel à esquerda, escolha Workloads > Pods.
Na página Pods, clique em Edit na coluna Actions do pod desejado.
-
Adicione os rótulos e clique em Update.

Nota: Se seus pods já tiverem rótulos configurados, pule esta etapa.
Implantações no ECS
Adicione tags no formato <custom-tag-key>:<custom-tag-value> a cada instância ECS que executa o Producer, Broker ou Consumer do Kafka. Exemplo: arms-kafka-exporter:my-kafka1. Para obter instruções, consulte Tags.
Nota: Se suas instâncias ECS já tiverem tags configuradas, pule esta etapa.
Próximos passos
Após concluir a implantação e a configuração da descoberta de serviços, configure o agente JMX do Kafka no Managed Service for Prometheus para começar a visualizar os dados de monitoramento. Para obter instruções, consulte Monitorar clusters Kafka autogerenciados e instâncias do ApsaraMQ for Kafka.