Configurado métricas do WSO2 Integrator com EI Analytics Jaeger
Neste post vamos falar um pouco de Tracing com uma ferramenta extremamente popular no mercado: Jaeger. Veja os passos a seguir:
Primeiramente é necessário a instalação do Jaeger em sua máquina correspondente ao seu sistema operacional:
2. Em seguida execute-o pelo CMD/terminal o arquivo jaeger-all-in-one.exe que irá rodar na porta padrão 16686.
Para que o Enterprise Intergrator possa se comunicar com Jaeger é preciso adicionar suas configurações do Analytics no arquivo carbon.xml encontrado no seguinte diretório: <EI_HOME>confcarbon.xml (EI_HOME: Onde está instalado seu EI)
Deixe Seu ServerURl como tcp://localhost:7612 E AuthServerURL como ssl://localhost:7712
Em seguida abra o arquivo synapse.properties encontrado em <EI_HOME>confcarbon.xml e adicione as informações do Jaeger por Default.
opentracing.enable=true
jaeger.sampler.manager.host=localhost
jaeger.sampler.manager.port=5778
jaeger.sender.agent.host=localhost
jaeger.sender.agent.port=6831
jaeger.reporter.log.spans=true
jaeger.reporter.max.queue.size=100
jaeger.reporter.flush.interval=10000
Mude também as configurações dos Mediations encontrados no mesmo arquivo.
mediation.flow.statistics.tracer.collect.payloads=true
mediation.flow.statistics.tracer.collect.properties=true
mediation.flow.statistics.collect.all=true
mediation.flow.statistics.enable=true
Feito isso agora basta executar os serviços encontrados no diretório <EI_HOME>bin e execute o analytics-worker:
No final deverá ver uma tela como essa:
Agora Execute o Enterprise Integrator (6.6.0):
Deverá aparecer o seguinte resultado:
Caso execute o Integrator antes do Analytics irá acontecer um erro de conexão já que ele não irá achar nada na porta 7712. Caso não aconteça nenhum erro de conexão então o Enterprise Integrator conseguiu se conectar com sucesso ao EI Analytics.
Para que suas APIs (Serviços HTTP) possam ser vistas pelo Jaeger é preciso ativar Enable Tracing e Enable Statistics, como na imagem abaixo:
Para finalizar e observar o tracing basta abrir o Jaeger no seu navegador http://localhost:16686. Ao executar qualquer requisição de APIs ou outro serviço do EI, os dados de tracing estarão disponíveis como na sequência de imagens abaixo:
A tela de Finding Traces, mostra todas as interações feitas com a sua API.
Tela de Finding Traces
Para visualizar os detalhes de um trace específico, basta clicá-lo e a seguinte página será mostrada.
Visualizando o EI Analytics Dashboard
O próprio Enterprise Integrator possui uma ferramenta padrão para a visualização dos analytics de uma API e qualquer outro serviço. Execute os comandos abaixo para visualizá-la:
Após a execução do comando, você deverá ver uma tela parecida com esta.
Para acessar a tela de login do dashboard, acesse no seu navegador o link mostrado na linha de comando: https://192.168.56.1:9643/portal. O login padrão é admin e a senha admin.
Como exemplo, usaremos uma API de Clientes, na tela abaixo é mostrado todas as requisições feitas na API que tiveram sucesso e as que falharam:
Nessa segunda tela, é mostrado dois gráficos: o primeiro indicando os sucessos e falhas na requisição, o segundo é mostrado a latência da API, ou seja, o tempo que ela demorou para responder a requisição.
Na parte inferior da página, é possível visualizar os messages id da API, bem como host e timestamp, podendo filtrá-las por data.
Ao clicar num MessageId, você poderá visualizar o diagrama que mostra o fluxo da resposta da requisição feita.
Caso queria exportar seus dados como PDF, basta clicar no menu inicial do EI Analytics e selecionar a opção “Generate Report”.
Autores
Neste post contribuiram:
Larissa Menezes é Formada em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de Educação, Ciência e Tecnologia do Amazonas – IFAM. É desenvolvedora na Skalena com expertise em desenvolvimento Full-Stack, Integrações e APIs.
Patrick Clarindo é Formado em Tecnologia da Informação pela Universidade Cidade de São Paulo. É desenvolvedor na Skalena com expertise em desenvolvimento de APIs com SpringBoot, Integrações e APIs.
Comments