>  기사  >  Java  >  SpringBoot Actuator 상태 확인이 실패하는 경우 문제를 해결하는 방법

SpringBoot Actuator 상태 확인이 실패하는 경우 문제를 해결하는 방법

王林
王林앞으로
2023-05-10 16:04:062732검색

SpringBoot 액츄에이터 상태 확인 실패

오늘 성공적으로 등록할 수 있는 서비스를 발견했지만 상태 확인에 실패했습니다. 브라우저를 통해 상태 확인 URL에 액세스했는데 Chrome 네트워크가 계속 보류 중으로 표시되어 요청이 제출되었음을 나타냅니다. 하지만 돌아오려면 갇혀 있어야 했어요.

원래 헬스 체크는 서비스 포트 아래의 /health 요청이 정상적으로 반환되는지 확인하는 것이라고 생각했는데 그렇지 않습니다.

일명 상태 검사에는 많은 검사 항목이 있습니다. Springboot는 DataSourceHealthIndicator RedisHealthIndicator 등과 같은 AbstractHealthIndicator의 클래스를 상속합니다. 예를 들어 mysql의 데이터 소스를 사용하는 경우 DataSourceHealthIndicator의 doHealthCheck()가 실행됩니다. health check 사용 redis가 설치되면 RedisHealthIndicator의 doHealthCheck()가 실행됩니다.

해결책:

먼저 이러한 외부 데이터 소스를 연결할 수 없어 상태 확인이 실패하는지 확인할 수 있습니다. 시스템에서 사용되는 모든 항목에 대해 상태 확인을 끄도록

management:
  health:
    db:
      enabled: false
    redis:
      enabled: false
    elasticsearch:
      enabled: false

를 구성하고 확인할 수 있습니다. 만약 그렇다면, 하나씩 열어 문제를 하나씩 해결해 보면

, 마침내 위의 대기 상황은 잘못된 포트 등 mysql의 잘못된 URL 구성으로 인한 것임을 알게 되었습니다. mysql 사용자의 권한이 충분하지 않습니다. DataSourceHealthIndicator의 doHealthCheck()가 mysql에 연결되고 연결이 실패하므로 그곳에서 mysql에 연결됩니다.

올바른 URL을 구성하고 권한을 활성화한 후 문제를 해결하세요.

Spring Boot 상태 확인 관련 구성 및 구성

1. Spring Boot 상태 확인이란 무엇이며 어떤 용도로 사용되나요?

Spring Boot는 여러 구성 요소에 대한 상태 확인을 제공하므로 각 구성 요소의 실행 상태를 모니터링하는 데 도움이 됩니다. 그러나 때로는 개발자가 시작에 실패하거나 오류를 보고하는 등의 경우 적절하게 구성해야 합니다.

2. Spring Boot 프로젝트에는 어떤 검사가 있고, 관련 검사를 구성하는 방법은 다음과 같습니다.

2.1 먼저, Health Check에서 소개하는 패키지는

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>

2.2 관련 Health Check 관련 Indicator

  • CassandraHealthIndicator Cassandra를 사용할 수 있는지 확인하세요<code>CassandraHealthIndicator 检查Cassandra是否可用

  • DiskSpaceHealthIndicator 检查磁盘空间是否不足

  • DataSourceHealthIndicator 检查能否从DataSource获取链接

  • ElasticsearchHealthIndicator 检查Elasticsearch cluste是否可用

  • JmsHealthIndicator 检查JMS broker是否可用

  • MailHealthIndicator 检查mail server是否可用

  • MongoHealthIndicator 检查Mongo database是否可用

  • RabbitHealthIndicator 检查Rabbit server是否可用

  • RedisHealthIndicator 检查Redis server是否可用

  • SolrHealthIndicator 

DiskSpaceHealthIndicator 디스크 공간이 부족한지 확인하세요

DataSourceHealthIndicator 링크가 가능한지 확인하세요 DataSource에서 가져옵니다

ElasticsearchHealthIndicator Elasticsearch 클러스터를 사용할 수 있는지 확인

🎜🎜JmsHealthIndicator JMS 브로커를 사용할 수 있는지 확인🎜🎜🎜🎜MailHealthIndicator 메일 서버 사용 가능 여부 확인🎜🎜🎜🎜MongoHealthIndicator Mongo 데이터베이스 사용 가능 여부 확인🎜🎜🎜🎜RabbitHealthIndicator Rabbit 서버 사용 가능 여부 확인🎜 🎜🎜🎜RedisHealthIndicator Redis 서버 사용 가능 여부 확인🎜🎜🎜🎜SolrHealthIndicator Solr 서버 사용 가능 여부 확인🎜🎜🎜🎜다양한 검사가 있는 것을 확인할 수 있습니다. 자세한 내용은 공식 문서를 참조하세요. 자세한 내용은 여기에서 확인하세요.🎜🎜🎜2.3 상태 확인을 끄거나 켜는 방법 🎜🎜🎜application.properties에 명시적으로 설정🎜
//如禁止es的健康检查如下,默认均为开启状态
management.health.elasticsearch.enabled=false
🎜모두 비활성화🎜
management.health.*.enabled=false
를 사용할 수도 있습니다.

위 내용은 SpringBoot Actuator 상태 확인이 실패하는 경우 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제