O Telegraf permite coletar dados de métricas de servidores Kafka. Em seguida, o Logtail envia esses dados para um Metricstore no Simple Log Service, possibilitando o monitoramento visual das métricas dos servidores Kafka. Este tópico descreve como coletar dados de métricas de um servidor Kafka usando o Simple Log Service e visualizar os dados.
Pré-requisitos
Java 1.6 ou posterior instalado no servidor.
Um projeto e um Metricstore criados. Para mais informações, consulte Gerenciar projetos e Criar um Metricstore.
Limite
Apenas o Logtail V0.16.48 ou posterior para Linux coleta dados de métricas do Kafka. Caso seu servidor tenha uma versão anterior do Logtail, atualize-o para uma versão compatível. Para mais informações, consulte Atualizar o Logtail online.
Etapa 1: Criar uma configuração do Logtail
Faça login no console do Simple Log Service.
Na aba Monitoring Data, dentro da seção Import Data, clique em Kafka Monitoring Data.
Selecione o Project e o MetricStore desejados e clique em Next. Na etapa Select Log Space, escolha um Project e um MetricStore existentes ou clique em Create Now à direita para criar novos recursos e, em seguida, clique em Next.
-
Na aba Create Machine Group:
Caso já possua um grupo de máquinas disponível, clique em Use Existing Machine Groups. Selecione Host scenario e ECS. Na lista source machine group, escolha o grupo de máquinas desejado e clique em > para movê-lo para a lista applied machine group. Depois, clique em Next.
-
Se não houver grupos de máquinas disponíveis, siga as etapas abaixo para criar um. Neste exemplo, utiliza-se uma instância do Elastic Compute Service (ECS).
-
Na aba ECS Instance, dentro da seção Manually select instances, selecione a instância ECS desejada e clique em Create.
Para mais informações, consulte Instalar o Logtail em instâncias ECS.
ImportantePara coletar logs de uma instância ECS pertencente a uma conta Alibaba Cloud diferente daquela do Simple Log Service, de um servidor em data center local ou de um provedor de nuvem terceirizado, instale o Logtail manualmente. Para mais informações, consulte Instalar o Logtail em um servidor Linux. Após a instalação manual, configure um identificador de usuário para o servidor. Para mais informações, consulte Configurar um identificador de usuário.
Após concluir a instalação, clique em Complete Installation.
-
Na página Create Machine Group, insira um Name e clique em Next.
No Simple Log Service, é possível criar grupos de máquinas baseados em endereços IP ou em identificadores personalizados. Para mais informações, consulte Criar um grupo de máquinas.
-
-
Verifique se o grupo de máquinas aparece na seção Applied Server Groups e clique em Next.
ImportanteAo aplicar um grupo de máquinas logo após sua criação, o status de heartbeat pode aparecer como FAIL. Isso ocorre porque o grupo ainda não estabeleceu conexão com o Simple Log Service. Para resolver, clique em Automatic Retry. Se o problema persistir, consulte O que fazer quando nenhuma conexão de heartbeat é detectada no Logtail?
-
Na etapa Specify Data Source, configure os parâmetros conforme descrito na tabela a seguir.
Etapa 2: Configurar o JavaAgent
Após criar a configuração do Logtail, habilite o acesso aos dados JMX via HTTP. O Simple Log Service suporta o uso do Jolokia para acessar dados JMX por HTTP. Baixe e carregue o Jolokia conforme necessário; em caso de dúvidas, consulte a documentação oficial do projeto. Alternativamente, utilize o Jolokia JavaAgent fornecido pelo Logtail, localizado em /etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar.
Configure a variável de ambiente KAFKA_JVM_PERFORMANCE_OPTS no servidor Kafka. Por exemplo, defina export KAFKA_JVM_PERFORMANCE_OPTS=-javaagent:/etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar=port=7777. Neste exemplo, 7777 representa a porta do servidor Kafka, que deve corresponder à porta especificada na Etapa 1: Criar uma configuração do Logtail.
Por padrão, o Jolokia JavaAgent escuta apenas em 127.0.0.1, aceitando requisições exclusivamente do host local. Se o Logtail e a aplicação monitorada estiverem em máquinas diferentes, adicione o campo host= para escutar em outros endereços IP. Definir host=0.0.0.0 faz com que o agente escute em todos os endereços IP. Exemplo de comando:
-javaagent:/tmp/jolokia-jvm.jar=port=7777,host=0.0.0.0
Após concluir a configuração, reinicie a aplicação. Caso não seja possível reiniciar imediatamente, execute o comando abaixo para anexar o Jolokia JavaAgent a um processo Java específico. Substitua Process_PID pelo ID real do processo.
Esta operação destina-se apenas a testes. Siga as etapas anteriores para configurar corretamente e garantir que as definições persistam entre reinicializações.
java -jar /etc/ilogtail/telegraf/javaagent/jolokia-jvm.jar --port 7777 start Process_PID
A conexão foi estabelecida com sucesso se a seguinte mensagem for retornada:
Jolokia is already attached to PID 752
http://127.0.0.1:7777/jolokia/
Com a conexão bem-sucedida, acesse a URL para verificar o funcionamento.
curl http://127.0.0.1:7777/jolokia/
# Sample response
{"request":{"type":"version"},"value":{"agent":"1.6.2","protocol":"7.2","config":{"listenForHttpService":"true","maxCollectionSize":"0","authIgnoreCerts":"false","agentId":"30.**.**.186-752-5b091b5d-jvm","debug":"false","agentType":"jvm","policyLocation":"classpath:\/jolokia-access.xml","agentContext":"\/jolokia","serializeException":"false","mimeType":"text\/plain","maxDepth":"15","authMode":"basic","authMatch":"any","discoveryEnabled":"true","streaming":"true","canonicalNaming":"true","historyMaxEntries":"10","allowErrorDetails":"true","allowDnsReverseLookup":"true","realm":"jolokia","includeStackTrace":"true","maxObjects":"0","useRestrictorService":"false","debugMaxEntries":"100"},"info":{"product":"tomcat","vendor":"Apache","version":"8.5.57"}},"timestamp":1602663330,"status":200}⏎
Perguntas frequentes
Como verificar se o Telegraf está coletando dados conforme esperado?
Consulte os logs no arquivo /etc/ilogtail/telegraf/telegraf.log do servidor. Também é possível enviar esse arquivo de log para o Log Service e pesquisar as informações necessárias.
Próximos passos
-
Pesquisar e analisar
Após concluir as configurações, o Telegraf utiliza o Logtail para enviar as métricas coletadas ao Metricstore do Log Service. Consulte os dados na página Search & Analysis do Metricstore. Para mais informações, veja Consultar e analisar dados de métricas.
-
Visualizar resultados de consultas e análises
Depois de configurar os parâmetros, o Simple Log Service cria automaticamente um painel chamado Kafka Monitoring Data_<cluster name> no projeto correspondente. Utilize esse painel para visualizar os resultados das consultas e análises, além de configurar regras de alerta.