Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
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 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 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.
Informações | ||
---|---|---|
| ||
A lista com todos os endpoints pertencentes ao Spring boot pode ser acessada nesse link. |
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 pelo plugin Cronapp APM, selecione-o e avance a página para finalizar a instalação ao clicar no botão de finalizar.
Image Modified
Figura 1.1.1 - Adicionar novo plugin
Será exibida uma janela informando das alterações causadas pela instalação do plugin ao projeto.
Image Modified
Figura 1.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 para authenticated), que fica no endereço /actuator.
Image Modified
Figura 1.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 URL ENDEREÇO DO PROJETO/actuator onde o endereço do projeto é a URL base disponibilizada para qualquer aplicação Cronapp (Ex.: https://app-1415-174250-2791713150.ide.cronapp.io).
Image Modified
Figura 1.3 - Métricas exportadas pelo plugin
MonitorandoObtendo as métricas no Prometheus
Nessa etapa será mostrado como utilizar as métricas geradas pela API no Prometheus. Primeiramente, instale faça o prometheus em seu sistema operacional. Apósdownload do prometheus e extraia a pasta. Finalizada a extração, abra o arquivo prometheus.yml e transcreva o código abaixo para esse arquivo, de modo que ele esteja da mesma forma que é mostrado na Figura 2.1.
Bloco de código | ||
---|---|---|
| ||
job_name: 'spring'
metrics_path: '/actuator/prometheus'
scheme: 'https'
static_configs:
- targets: ['app-15-250-13150.ide.cronapp.io:443'] |
- job_name: define um nome para que o Prometheus reconheça
- metrics_path: informa o endereço em que as métricas são geradas e ele é fixo, não havendo necessidade de alteração.
- scheme: protocolo utilizado pela aplicação.
- static_configs: parâmetro utilizado para configurar os campos estáticos do target.
- targets: informa o endereço da aplicação e a porta que ela utiliza no formato ['endereço:porta']
Image Added
Figura 2.1 - Configurando arquivo prometheus.yml
Após, inicie a aplicação do prometheus e abra uma página no navegador com o endereço localhost:9090. Clique em status e vá para a aba targets para visualizar se a aplicação está sendo reconhecida pelo Prometheus.
Image Added
Figura 2.2 - Targets reconhecidas pelo Prometheus
Agora, clique no menu Graph do Prometheus e escolha uma query para obter os dados que são mostrados em elements, como mostrado na Figura 2.3.
Image Added
Figura 2.3 - Dados retornados pela query escolhida
Visualizando as métricas em gráficos no Grafana
A plataforma Grafana permite que as métricas disponibilizadas pelos softwares de monitoramento sejam visualizados através de gráficos. Com isso, faça o download do Grafana e instale-o em sua máquina. Após finalizar, abra o link default do Grafana, o localhost:3000, e entre com o usuário e senha padrão (admin/admin).
Ao logar no sistema, clique no ícone de configurações (1 da Figura 3.1) e clique em data sources (2 da Figura 3.1).
Image Added
Figura 3.1 - Configurações > data sources
Clique em adicionar nova fonte de dados e selecione o Prometheus. No campo url, adicione o endereço do Prometheus (nesse caso, localhost:9090) (Figura 3.2) e salve.
Image Added
Figura 3.2 - Adicionar endereço do Prometheus
Por fim, crie um dashboard e clique em add query. Copie a query escolhida na página do prometheus no campo metrics.
Image Added
Figura 3.3 - Adicionar query no campo
Com isso, o gráfico será gerado automaticamente.
Image Added
Figura 3.4 - Gráfico gerado pela query
Nessa página
Índice