Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monitoramento de Aplicações com Spring Actuator...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Monitoramento de Aplicações com Spring Actuator, Prometheus e Grafana

Apresentação introdutória sobre como configurar seu projeto java para coletar métricas utilzando Spring Actuator e Prometheus.
A apresentação possui um repositório para o git com uma documentação completo de como subir a aplicação de exemplo, o promethes, o grafana via docker e como fazer a comunicação entre essas aplicações.

Avatar for Janaina Militão

Janaina Militão

September 22, 2022
Tweet

Other Decks in Technology

Transcript

  1. SOBRE MIM Tecnóloga em Sistemas para Internet IFPB (2011); Autora

    do livro Integração Contínua com Jenkins (2019); Tech lead na Zup; Resido em Campinas - SP desde 2019; linkedin.com/in/janaina-militao/
  2. SPRING ACTUATOR É uma biblioteca do próprio Spring para coletar

    métricas, entender o tráfego e o estado da aplicação. Os endpoints do actuator é que vão permitir o monitoramento da aplicação, fornecendo informações tais como: health-check, coleta de métricas, http trace etc.. Documentação: https://docs.spring.io/spring-boot/docs/current/reference/ html/actuator.html
  3. SPRING ACTUATOR Para habilitar precisamos adicionar sua dependência no projeto:

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
  4. SPRING ACTUATOR - PRINCIPAIS ENDPOINTS • /env — retorna as

    variáveis do ambiente; • /metrics — métricas detalhadas da aplicação; • /loggers — permite consultar nível de log da aplicação; • /health — resumo da saúde da aplicação.
  5. SPRING ACTUATOR - Spring 2.x /info /health /auditenvs /beans /loggers

    /configprops /shutdown Disponibilizados por padrão sem a necessidade de autenticação Endpoints chamados de sensitivos, são escondidos por segurança devido ao seu conteúdo e só é possível disponibilizarmos usando autenticação ou desabilitando a autenticação management.endpoints.exposure.include = auditenvs,beans,configprops management.endpoints.exposure.exclude = loggers Disponibiliza POST para parar a aplicação management.endpoints.shutdown.enabled = false
  6. SPRING ACTUATOR Health -> http://localhost:9000/beerhouse/monitoring/health Mostra o status da aplicação,

    que será UP se a aplicação estiver íntegra e DOWN caso não esteja saudável devido a qualquer problema, como conectividade com banco de dados ou falta de espaço em disco por exemplo.
  7. SPRING ACTUATOR É possível renomear os endpoints: #Endpoints customizados endpoints:

    context-path: /beerhouse beans: id: springbeans # Renomeando endpoint beans info: id: information # Renomeando endpoint info
  8. PROMETHEUS O Prometheus é um kit de ferramentas de monitoramento

    e alerta de sistemas de código aberto inspirado no BorgMon (o sistema de monitoramento do Borg, plataforma de gerenciamento de conteiners do Google que inspirou o desenvolvimento do Kubernetes) Instalando com Docker: https://blog.aeciopires.com/instalando-o-prometheus-via-docker/ Documentação: https://prometheus.io/docs/prometheus/latest/getting_started/
  9. PROMETHEUS O Spring boot usa o Micrometer, que é um

    façade para integrar as métricas com aplicações de monitoramento externo. Aqui vamos usar a integração com o Prometheus, adicionando ao projeto a dependência: Documentação: https://prometheus.io/docs/prometheus/latest/getting_started/#configuring-prometheus-t o-monitor-itself <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency>
  10. PROMETHEUS Para habilitar os endpoints para exibição das métricas, permitindo

    que o Prometheus consiga coletá-las, algumas propriedades devem ser habilitadas em seu arquivo application.yaml management: endpoint: prometheus: enabled: true endpoints: web: exposure: include: '*' metrics: export: prometheus: enabled: true
  11. GRAFANA O Grafana é uma ferramenta para visualizar e analisar

    métricas por meio de gráficos. Ele tem suporte para diversos tipos de bancos de dados e pode ser instalado em qualquer sistema operacional. Documentação: https://grafana.com/docs/ Plugins: https://grafana.com/plugins Dashboards: https://grafana.com/dashboards Instalando o Grafana com Docker: http://blog.aeciopires.com/instalando-o-grafana-via-docker
  12. REFERÊNCIAS ➢ https://docs.spring.io/spring-boot/docs/current/reference/html/actuator .html ➢ https://medium.com/projuristech/monitorando-uma-aplica%C3%A7%C3%A3o-spr ing-boot-2-x-cef826ae793c ➢ https://medium.com/projuristech/monitorando-uma-aplica%C3%A7%C3%A3o-spr ing-boot-2-x-fc939257db8e

    ➢ https://www.youtube.com/watch?v=jd6i9e-NNRM ➢ https://emmanuelneri.com.br/2017/08/06/habilitando-monitoramento-no-spr ing-boot/ ➢ https://medium.com/@gcbrandao/monitore-sua-api-com-spring-boot-admin-e- actuator-40e73a5e50b0 ➢ https://medium.com/@luanrubensf/monitoring-spring-applications-with-pro metheus-and-grafana-ae50bbdd1920