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
titleSaiba mais

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

Monitorando

Obtendo 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
titleExemplo do scrape_config para adicionar no arquivo
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