Cenas
O atuador está integrado no SpringBoot para monitorar o status de execução do sistema:
Integrando o Atuador no SpringBoot para monitorar o status de execução do sistema
Com base no atuador acima para realizar o monitoramento do sistema, as seguintes soluções também podem ser adotadas.
Prometeu
Prometheus é um kit de ferramentas de código aberto para monitoramento e alerta de sistema, que usa o método Pull para coletar dados de medição de série temporal (também suporta o método push),
Transmissão através do protocolo HTTP. A forma como funciona é que o serviço que está sendo monitorado precisa expor um endpoint do Prometheus, que é uma interface HTTP,
Essa interface expõe a lista de métricas e valores atuais e, em seguida, o aplicativo Prometheus extrai regularmente dados dessa interface, que geralmente podem ser armazenados em um banco de dados de série temporal.
Em seguida, exiba os dados através do Dashboard visualizado (ex.Grafana).
Grafana
Grafana é uma ferramenta de exibição de painel de código aberto que pode oferecer suporte a muitas fontes de dados convencionais, incluindo sequenciais e não sequenciais.
A configuração de exibição e a escalabilidade fornecidas atendem à maioria das necessidades de exibição de dados de séries temporais e é uma excelente ferramenta.
Observação:
Blog:
Domineering Rogue Temperament_C#, Architecture Road, SpringBoot-CSDN Blog
concluir
1. Crie um novo projeto SpringBoot e adicione dependências
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- prometheus support -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
2. Modifique o arquivo yml e adicione a seguinte configuração
management:
metrics:
export:
prometheus:
enabled: true
step: 1m
descriptions: true
web:
server:
auto-time-requests: true
endpoints:
prometheus:
id: springmetrics
web:
exposure:
include: health,info,env,prometheus,metrics,httptrace,threaddump,heapdump,springmetrics
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
port: 996
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# tomcat最大线程数,默认为200
max-threads: 800
# Tomcat启动初始化的线程数,默认值25
min-spare-threads: 30
Observe que a porta configurada aqui é 996
3. Inicie o projeto e visite
http://127.0.0.1:996/actuator/prometheus
Ou seja, você pode ver as informações expostas
4. Baixe e instale o Prometheus
Link para Download:
Isso está no Windows, então escolha o pacote zip correspondente ao Windows
Claro, existem outras maneiras de baixar e instalar, como o docker.
Se o site oficial não puder ser baixado por um longo tempo, você pode procurar o pacote Windows correspondente na Internet para baixá-lo e descompactá-lo.
Após a descompactação, encontre prometheus.yml e modifique o métricas_path no arquivo de configuração para o caminho correspondente e os destinos para o ip e porta correspondentes.
Para mais instruções de configuração, consulte a documentação oficial
https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml
Depois de modificar o arquivo de configuração, clique duas vezes em prometheus.exe para iniciar, aguarde a inicialização bem-sucedida e acesse a porta padrão 9090
Insira a expressão
jvm_memory_used_bytes
Em seguida, verifique o efeito de monitoramento
5. Baixe e instale o Grafana
Link para Download:
Após baixar e descompactar, encontre grafana-server.exe na lixeira e clique duas vezes para iniciar
Acesso após inicialização bem-sucedida
A conta padrão é admin e a senha também é admin
6. Após fazer login e ser solicitado a alterar a senha, clique em FONTES DE DADOS
Em seguida, adicione o tipo de fonte de dados como Prometheus
Digite o endereço correspondente iniciado acima
7. Clique no canto superior direito para criar um novo painel
Em seguida, clique em Adicionar visualização
Em seguida, selecione a fonte de dados que você acabou de adicionar
Em seguida, selecione um parâmetro como jvm_buffer_count_buffers abaixo e defina outros parâmetros de acordo com suas necessidades, salve e visualize.