O principal recurso da bota de primavera é o AutoConfig (configuração automática) e, para os usuários dos EUA, são apenas vários iniciantes.
O Spring Boot-ATtuator também fornece um acionador de partida, que é configurado automaticamente para nós. Em termos de uso, precisamos adicionar apenas uma partida às nossas dependências e iniciar o projeto.
<Depencency> <PuerpId> org.springframework.boot </frugiD> <ArtifactId> Spring-boot-starter-actuator </stutifactId> </dependency>
Terminal comumente usado
O Spring Boot-Actuator fornece muitos pontos de extremidade útil e fornece vários monitoramento dos aplicativos de inicialização da mola. Vamos falar sobre meus pontos de extremidade comumente usados:
/Status de saúde do aplicativo de saúde
/ConfigProps Obtenha as informações de configuração do aplicativo, porque a Spring Boot pode ser um pacote de jar separado quando for publicado e o arquivo de configuração pode ser incluído. Quando precisamos verificar o arquivo de configuração, podemos usar o ConfigPropsEndPoint para ver se algumas configurações estão corretas.
/Trace as informações mais recentes de solicitação HTTP
HealthendPoint
Quando visitamos http: // localhost: 8088/saúde, podemos ver que o HealthEndPoint nos fornece resultados de monitoramento padrão, incluindo detecção de disco e detecção de banco de dados.
{"status": "up", "DiskSpace": {"status": "up", "total": 398458875904, "grátis": 315106918400, "limite": 10485760}, "db": {"" ":" up "," "datase" ":": ":": ":": ":": ":": 10485760}, "db": {"" ":" up "," "datase" ":": ":": ": 10485760}," db ":" "" ":" up "," "datase" ":": De fato, analisando o código-fonte do attuador de inicialização da primavera, você descobrirá que as informações fornecidas pelo HealthEndPoint não se limitam a isso. Sob o pacote org.springframework.boot.actuate.health, você encontrará ElasticsearchHealthIndicator, RedishealthIndicator, Rabbithealthindicator, etc.
Ou seja, o HealthEndPoint também fornece informações de saúde para componentes como ES, Redis.
Indicador personalizado estende o HealthEndPoint
Observando o código -fonte, as informações de saúde de disco e banco de dados são implementadas pelo DISKSPACEHealthIndicator e DataSourceHealthIndicator. Quando monitoramos alguns de nossos componentes personalizados, também podemos implementar um indicador:
@ComPonentPublic Class O usuário implementa o HealthIndicator {/** * Acesso ao monitoramento do usuário: http: // localhost: 8088/saúde * * @return Monitor de saúde personalizado */@Override Public Health Health () {Return New Health.withd (). "Up"). UP (). Build (); }}No momento, visitamos novamente: http: // localhost: 8088/saúde O resultado retornado neste momento é o seguinte, incluindo nossas informações de saúde personalizadas do usuário.
{"Status": "Up", "User": {"Status": "Up", "UserCount": 10, "UserStatus": "Up"}, "DiskSpace": {"Status": "UP", "Total": 398458875904, "Free": 315097989120: "Thesholl": "4150979120:" Thesholl "0: 39845887590, "" ": 315097989120," "Status": "Up", "Database": "MySQL", "Hello": 1}}Endpoint personalizado
De fato, além de estender o HealthEndPoint para adicionar algumas verificações de saúde, também podemos personalizar alguns terminais para fornecer algumas informações durante o tempo de execução do programa:
@ConfigurationPublic class EndPoTautoconfig {@Bean Public EndPoint <Map <String, Object >> CustomEndPoint () {return new SystemEndPoint (); }}@ConfigurationProperties (prefix = "endpoints.customsystem") classe pública SystemEndPoint estende abstractEndEndPoint <map <string, object >> {public SystemEndPoint () {super ("CustomSystem"); } @Override Public map <string, object> Invoke () {map <string, object> resultado = new hashmap <> (); Mapa <string, string> map = system.getenv (); resultado.put ("nome de usuário", map.get ("nome de usuário")); resultado.put ("Computername", map.get ("Computername")); resultado.put ("userDomain", map.get ("userDomain")); resultado de retorno; }}Visite http: // localhost: 8088/CustomSystem para visualizar nosso terminal personalizado, e o resultado é o seguinte:
{"Nome de usuário": "xxx", "UserDomain": "Desktop-6ean1H4", "Computername": "Desktop-6ean1H4"}Depois de adicionarmos o atuador ao nosso aplicativo de inicialização da primavera, a interface de saúde esperada retorna, o resultado deve ser algo como o seguinte:
{status: "up", Diskspace: {status: "up", total: 250182889472, grátis: 31169568768, limite: 10485760}, db: {status: "up", banco de dados: "h2", hello: 1}}}}Se for apenas retornar o status
{status: "up"}Você precisa adicionar nova configuração para o aplicativo. Tomando o arquivo de configuração YML como exemplo, você precisa adicionar a seguinte configuração:
Gerenciamento: Segurança: Ativado: FalsendPoints: Saúde: Sensível: Falso
Management.endPoint.Health.Show-Details = sempre
Resumir
O exposto acima é o projeto de saúde da implementação do trampolim e o monitoramento introduzido pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!