首頁 > Java > java教程 > 主體

SpringBoot actuator健康檢查不通過怎麼解決

王林
發布: 2023-05-10 16:04:06
轉載
2744 人瀏覽過

SpringBoot actuator 健康檢查不通過

今天遇到有個服務能夠註冊成功,但是健康檢查不通過,通過瀏覽器訪問健康檢查的url,chrome的network一直顯示pending,說明這個請求提交了,但是得不到返回,卡住了。

原來以為健康檢查就是檢查服務端口下的/health這個請求本身是否能正常返回,其實不是。

所謂健康檢查是有很多檢查項目的,springboot中繼承AbstractHealthIndicator的類,例如DataSourceHealthIndicator RedisHealthIndicator 等,springboot會自動配置,例如使用了mysql的datasouce,健康檢查的時候就會執行DataSourceHealthIndicator 的doHealthCheck (),使用了redis,就會執行RedisHealthIndicator 的doHealthCheck()。

解決方式:

首先可以確定是否是這些外部資料來源連接不了導致健康檢查不通過,可以設定

management:
  health:
    db:
      enabled: false
    redis:
      enabled: false
    elasticsearch:
      enabled: false
登入後複製

把系統中用到的都關閉健康檢查,看健康檢查是否能正常通過,如果能通過再一個個打開逐個排除問題

最終發現上面的pending情況就是由於mysql的url配置不對,比如端口錯誤,或者mysql用戶的權限不夠,DataSourceHealthIndicator 的doHealthCheck()會去連接mysql連線不成功,就卡在連接mysql那裡了。

配置正確的url,開啟權限,解決問題。

Spring Boot健康檢查相關配置和整理

1.什麼是Spring Boot的健康檢查,有什麼用?

Spring Boot提供了多項元件的健康檢查,有利於監控各元件運作狀況,但是有時開發者因此會啟動不成功,報錯等,需要合理配置。

2.Spring Boot專案中都有哪些檢查,如何配置相關檢查:

2.1首先健康檢查引入的套件是

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>
登入後複製

2.2相關健康檢查相關Indicator

  • CassandraHealthIndicator 檢查Cassandra是否可用

  • ##DiskSpaceHealthIndicator 檢查磁碟空間是否不足

  • DataSourceHealthIndicator 檢查能否從DataSource取得連結

  • ElasticsearchHealthIndicator 檢查Elasticsearch cluste是否可用

  • JmsHealthIndicator 檢查JMS broker是否可用

  • HealthIndicator HealthIndicator 

  • ##HealthIndicator 
  • 檢查mail server是否可用

  • MongoHealthIndicator 
  • 檢查Mongo database是否可用

  • RabbitHealthIndicator 
  • 檢查Rabbit server是否可用

  • RedisHealthIndicator 
  • 檢查Redis server是否可用

    #SolrHealthIndicator 
  • 檢查Solrserver

SolrHealthIndicator 

檢查Solrserver是否可用

可以看到,有各項外部服務的檢查,具體的請瀏覽官方文檔,這裡不再贅餘

2.3如何關閉/開啟健康檢查#########application.properties裡明確設定###
//如禁止es的健康检查如下,默认均为开启状态
management.health.elasticsearch.enabled=false
登入後複製
###也可以使用*全部禁止###
management.health.*.enabled=false
登入後複製

以上是SpringBoot actuator健康檢查不通過怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板