Introdução
Ter uma visão do desempenho e verificar os problemas que podem ocorrer em tempo real são algumas das vantagens que um sistema de monitoramento oferecem. Prometheus, Zabbix, Nagios, Datadog são exemplos de softwares que realizam monitoramento de aplicações e cada uma delas possui suas funcionalidades e características, cabendo ao usuário escolher a que mais condiz com sua realidade.
Para facilitar o monitoramento de sistemas, o Cronapp desenvolveu o plugin Cronapp APM, que permite exportar métricas da aplicação para serem usadas com o Prometheus. O Cronapp APM foi construído a partir da API Spring Boot Actuator e do mecanismo micrometer-prometeus, para que ele utilize os recursos de monitoramento, auditoria e outras propriedades pertencentes do Spring Boot e que gere os dados no formato que utilizado pelo Prometheus.
Endpoints
Um endpoint nada mais é que a URL. A API do Spring Boot disponibiliza alguns endpoints próprios e também, ela utiliza o endpoint pertencente ao Prometheus, o actuator/prometheus, que exporta no formato que será lido pelo servidor do Prometheus. O formato de utilização do endpoint é geral: actuator/id como, por exemplo, actuator/health, actuator/env.
Configuração
Para habilitar essa funcionalidade, primeiro precisa adicionar o plugin Cronapp APM.
Adicionar plugin
No menu de sistemas, clique na aba Plugin e selecione adicionar novo plugin. Após avançar, pesquise pelo plugin Cronapp APM, selecione-o e avance a página para finalizar a instalação ao clicar no botão de finalizar.
Figura 1.1 - Adicionar novo plugin
Será exibida uma janela informando das alterações causadas pela instalação do plugin ao projeto.
Figura 1.2 - Alterações feita pelo plugin no projeto
Permissão de segurança da URL
Após a instalação do plugin, é necessário dar permissão à URL de acesso do plugin (recomenda-se inicialmente configurar a permissão para authenticated), que fica no endereço /actuator.
Figura 2 - Definir a permissão de segurança para acessar a página
Métricas exportadas
Com a permissão devidamente configurada, basta rodar o projeto e acessar a URL ENDEREÇO DO PROJETO/actuator onde o endereço do projeto é a URL base disponibilizada para qualquer aplicação Cronapp (Ex.: https://app-14-174-27917.ide.cronapp.io).
Figura 3 - Métricas exportadas pelo plugin