오늘 성공적으로 등록할 수 있는 서비스를 발견했지만 상태 확인에 실패했습니다. 브라우저를 통해 상태 확인 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는 여러 구성 요소에 대한 상태 확인을 제공하므로 각 구성 요소의 실행 상태를 모니터링하는 데 도움이 됩니다. 그러나 때로는 개발자가 시작에 실패하거나 오류를 보고하는 등의 경우 적절하게 구성해야 합니다.
2.1 먼저, Health Check에서 소개하는 패키지는
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-actuator</artifactid> </dependency>
2.2 관련 Health Check 관련 Indicator
CassandraHealthIndicator < /code>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 서버 사용 가능 여부 확인🎜🎜🎜🎜< code>SolrHealthIndicator Solr 서버 사용 가능 여부 확인🎜🎜🎜🎜다양한 검사가 있는 것을 확인할 수 있습니다. 자세한 내용은 공식 문서를 참조하세요. 자세한 내용은 여기에서 확인하세요.🎜🎜🎜2.3 상태 확인을 끄거나 켜는 방법 🎜🎜🎜application.properties에 명시적으로 설정🎜//如禁止es的健康检查如下,默认均为开启状态 management.health.elasticsearch.enabled=false
management.health.*.enabled=false
위 내용은 SpringBoot Actuator 상태 확인이 실패하는 경우 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!