Monitorando o Spring Boot
Você pode monitorar os aplicativos do Spring Boot usando o sensor Instana Spring Boot. O sensor do Spring Boot é automaticamente implementado e instalado após a instalação do agente do Instana. Você pode visualizar as métricas relacionadas às aplicações do ` Spring Boot ` na interface do usuário do ` Instana ` após configurar o ` Spring Boot Actuator`, conforme descrito neste tópico.
Informações de suporte
Para garantir que o sensor Spring Boot seja compatível com a sua configuração atual, consulte as seguintes seções de informações de suporte:
Sistemas Operacionais com Suporte
Os sistemas operacionais compatíveis com Spring Boot o sensor estão de acordo com os requisitos dos agentes de host, que podem ser verificados na seção “Sistemas operacionais compatíveis” de cada agente de host, como Sistemas operacionais compatíveis Linux.
Versões compatíveis e política de suporte
A tabela a seguir mostra a versão mais recente compatível e a política de suporte:
| Tecnologia | Política de suporte | Versão com tecnologia de ponta | Versão mais recente suportada |
|---|---|---|---|
| Spring Boot | 45 dias | 4.1.0 | 4.0.6 |
Para obter mais informações sobre a política de suporte, consulte a estratégia de suporte para sensores.
Rastreamento compatível
Nessa tecnologia, o ` Instana ` oferece suporte ao rastreamento. Para obter mais informações, consulte Estruturas e bibliotecas instrumentadas.
Configurando o monitorament Spring Boot
Para configurar o monitorament Spring Boot, siga estas etapas:
Passo 1: Configurar um atuador d Spring Boot
Para configurar um atuador d Spring Boot, adicione a seguinte dependência no pom.xml arquivo:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
O Actuator do Spring Boot gera e expõe pontos de extremidade operacionais de uma aplicação do Spring Boot em execução.
Passo 2: Ativar o recurso “ Java Management Extensions ” ( JMX )
Para o Spring Boot, 2.2.x e versões posteriores, habilite o JMX definindo a seguinte propriedade no application.properties arquivo:
spring.jmx.enabled=true
Ao ativar o recurso " JMX ", os dados e recursos da sua aplicação Spring Boot são expostos como beans gerenciados (MBeans).
Etapa 3: Expor os MBeans de gerenciamento d Spring Boot
Se os pontos finais estiverem desativados no application.properties arquivo com as seguintes configurações, será necessário expor os MBeans de gerenciamento do Spring Boot, pois o sensor depende desses MBeans para coletar métricas da aplicação Spring Boot :
management.endpoints.enabled-by-default=false
Para expor os MBeans, habilite os seguintes pontos de extremidade no application.properties arquivo:
management.endpoint.info.enabled=true
management.endpoint.health.enabled=true
management.endpoint.metrics.enabled=true
management.endpoint.env.enabled=true
Instana consulta métricas do MBean de gerenciamento do Spring Bootorg.springframework.boot:type=Endpoint,name=Metrics. Não é necessário configurar a autenticação ou as credenciais para pontos de extremidade de atuadores protegidos.
Para o ` Spring Boot ` e ` 3.x `, certifique-se de que a seguinte diretiva esteja presente no application.properties arquivo:
management.endpoints.jmx.exposure.include=env,health,info,metrics
Passo 4: Expor pontos de extremidade por meio de HTTP
Para o Spring Boot e 2 e versões posteriores, o Spring Boot Actuator oferece gerenciamento de dependências e configuração automática para o Micrometer. Dependendo da versão do Spring Boot, diferentes métricas do Micrometer estão disponíveis no painel do JVM.
Para excluir pontos de extremidade específicos de HTTP, use a seguinte diretiva:
management.endpoints.web.exposure.exclude=health,info
Para excluir todos os pontos finais de HTTP, use a seguinte diretiva:
management.endpoints.web.exposure.exclude=*
Passo 5: Exibir os valores do ambiente em texto
Antes que as propriedades de configuração do aplicativo possam ser exibidas na interface do usuário do Instana, é necessário fazer mais alterações no application.properties arquivo. Caso contrário, essas propriedades serão mostradas como ****** por causa de valores sensíveis Para obter mais informações, consulte Sanitizar valores confidenciais.
Para sempre mostrar os valores como texto não criptografado, use a seguinte configuração no arquivo application.properties :
management.endpoint.env.show-values=ALWAYS
Passo 6: Nomeie os aplicativos d Spring Boot
Instana extrai o nome das instâncias de ` Spring Boot ` das seguintes fontes:
spring.application.namepropriedade: Se essa propriedade estiver definida na configuração do seu aplicativo, seu valor será usado como nome do aplicativo. No Spring Boot 3, para especificar o nome do aplicativo Spring Boot, defina aspring.application.namepropriedade noapplication.propertiesarquivo da seguinte forma:spring.application.name=<Your_Application_Name>build-info.propertiesarquivo: Se nãospring.application.nameestiver definido, o ` Instana ` recupera o nome do aplicativo ` Spring Boot ` a partir dobuild-info.propertiesarquivo. Este arquivo pode ser gerado, por exemplo, comspring-boot-maven-plugin:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> <executions> <execution> <goals> <goal>build-info</goal> </goals> <configuration> <additionalProperties> <name>${project.artifactId}</name> <version>${project.version}</version> </additionalProperties> </configuration> </execution> </executions> </plugin>Para obter mais informações sobre a integração com o Actuator, consulte a documentação do plugin Spring Boot Maven.
Opcional: Definir o parâmetro de intervalo de verificação
Por padrão, a Instana verifica o funcionamento do app Spring Boot a cada 10 minutos consultando o MBean de gerenciamento org.springframework.boot:type=Endpoint,name=Health.
Para configurar o parâmetro health-interval desejado, defina o valor em segundos:
com.instana.plugin.springboot:
health-interval: 30
Opcional: Configurando a frequência de sondagem
Você pode definir a frequência com que o Instana consulta o Spring Boot para coletar dados e métricas usando o poll_rate parâmetro no arquivo configuration.yaml do agente, conforme mostrado no exemplo a seguir:
com.instana.plugin.springboot:
poll_rate: 1 # values are in seconds. Default value is 1 second.
Visualizando as métricas
Para visualizar as métricas, conclua as seguintes etapas:
- Na barra lateral da interface do usuário do Instana, selecione Infraestrutura.
- Clique em um host monitorado específico
É possível ver um painel do host com todas as métricas coletadas e processos monitorados.
Terminais e sessões do HTTP
Instana Spring Boot O sensor coleta as seguintes métricas dos terminais e das sessões do HTTP :
Dados de configuração
A tabela a seguir lista os dados de configuração coletados pelo sensor Instana Spring Boot :
| Configuração | Descrição |
|---|---|
| Nome | O nome do aplicativo Spring Boot . |
| Versão do aplicativo | A versão de construção do aplicativo Spring Boot .. |
| Versão do SpringBoot . | A versão da estrutura Spring Boot . |
| Status | O status do pedido de Spring Boot, como porUp exemploDown. |
| Porta | A versão para o HTTP do aplicativo Spring Boot. |
| Limite de sessão HTTP | O número máximo de sessões HTTP da aplicação Spring Boot. |
| Configuração de Aplicativo | As informações de configuração do aplicativo Spring Boot , incluindo caminho de configuração e propriedades. |
Métricas de desempenho
A tabela a seguir lista as métricas de desempenho coletadas pelo sensor Instana Spring Boot :
| Métrica | Descrição | Granularidade |
|---|---|---|
| Pedido de Terminal ou Interrupção de Resposta | O número de solicitações por segundo para cada código de status de resposta ( 1xx, 2xx, 3xx, 4xx ou 5xx ) | 1 segundo |
| Sessões HTTP | O número de sessões HTTP ativas | 1 segundo |
Origens de dados
Instana Spring Boot O sensor coleta os seguintes dados de monitoramento das fontes de dados:
Dados de configuração
A tabela a seguir lista os dados de configuração coletados das fontes de dados:
| Nome | Descrição |
|---|---|
| Nome do Conjunto | O nome do pool de HikariCP. |
| Tempo limite de conexão | O tempo limite de conexão de HikariCP. |
Métricas de desempenho
As seguintes métricas de desempenho são coletadas das fontes de dados:
Java Fonte de dados de conectividade com banco de dados ( JDBC )
A tabela a seguir lista as métricas do JDBC coletadas das fontes de dados:
| Métrica | Nome de exibição | Descrição | Granularidade |
|---|---|---|---|
active |
Ativo | O número de conexões ativas. | 1 segundo |
idle |
Inativo | O número de conexões ociosas. | 1 segundo |
max |
Máx. | O número máximo de conexões. | 1 segundo |
min |
Mín. | O número de conexões mínimas. | 1 segundo |
HikariCP fonte de dados
A tabela a seguir lista as métricas do HikariCP coletadas das fontes de dados:
| Métrica | Nome de exibição | Descrição | Granularidade |
|---|---|---|---|
acquire |
Aquisições | O número de aquisições de conexão. | 1 segundo |
active |
Ativo | O número de conexões ativas. | 1 segundo |
creation |
Criações | O número de criações de conexão. | 1 segundo |
idle |
Inativo | O número de conexões ociosas. | 1 segundo |
max |
Máx. | O número máximo de conexões. | 1 segundo |
min |
Mín. | O número de conexões mínimas. | 1 segundo |
pending |
Encadeamentos pendentes | O número de threads aguardando uma conexão. | 1 segundo |
timeout |
Tempos limite | O número de tempos limite de conexão. | 1 segundo |
total |
Total | O número total de conexões. | 1 segundo |
usage |
Uso | O número de conexões adicionadas de volta ao pool. | 1 segundo |
Assinaturas de funcionamento
Para cada sensor, uma base de conhecimento curada de assinaturas de funcionamento é avaliada continuamente com relação às métricas recebidas e é usada para levantar problemas ou incidentes que dependem do impacto do usuário.
Os eventos integrados acionam problemas ou incidentes com base em assinaturas de integridade com falha nas entidades, enquanto os eventos personalizados acionam problemas ou incidentes com base nos limites de uma métrica específica de qualquer entidade selecionada.
Para obter mais informações sobre eventos construídos para o sensor Spring Boot , consulte a Referência de eventos integrados.
Resolução de problemas
Use essas entradas de resolução de problemas para ajudar a resolver problemas relacionados ao monitoramento de aplicativos Spring Boot . Uma mensagem de erro com o tipo de problema indicado e uma breve explicação sobre o que deu errado é exibida no painel do Spring Boot na interface do usuário do Instana.
O Spring Boot Actuator não está configurado
Tipo de problema de monitoramento: springboot_actuator_not_configured
Para configurar o Spring Boot Actuator, consulte Configurando o Spring Boot Actuator.
O JMX não está ativado
Tipo de problema de monitoramento: springboot_jmx_not_enabled
Para ativar o “ JMX ”, consulte “Ativar o ‘ Java Management Extensions ’” ( JMX ).
spring.main.lazy-initialization propriedade estiver ativada, você deverá atualizar a versão do Spring Boot para a versão 2.4.12 ou posterior.