首頁 資訊 如何為SpringBoot應(yīng)用設(shè)置健康檢查

如何為SpringBoot應(yīng)用設(shè)置健康檢查

來源:泰然健康網(wǎng) 時間:2024年12月09日 21:29

對于Spring Boot的應(yīng)用,除了使用HTTP或TCP端口檢測來進(jìn)行應(yīng)用健康檢查之外,您也可以使用Actuator組件實(shí)現(xiàn)定制化健康檢查。本文介紹如何通過Actuator組件為Spring Boot應(yīng)用設(shè)置健康檢查。

背景信息

Actuator組件是Spring Boot提供的用來對應(yīng)用系統(tǒng)進(jìn)行自省和監(jiān)控的功能模塊,借助于Actuator,您可以很方便地查看并統(tǒng)計(jì)應(yīng)用系統(tǒng)的某些監(jiān)控指標(biāo)。您也可以通過Actuator組件自定義您的健康檢查程序。更多信息,請參見Spring Boot Actuator官方文檔。

操作步驟

在Maven中添加所需依賴。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>

設(shè)置application.properties配置文件,顯示健康檢查詳細(xì)信息。

management.endpoints.web.base-path= / # Actuator 2.0之前默認(rèn)基礎(chǔ)訪問路徑是"/"(則健康檢查為“/health”),2.0及之后默認(rèn)訪問路徑是"/actuator" (則健康檢查為“/actuator/health”)。 management.endpoint.health.show-details=always # 顯示健康檢查詳細(xì)信息,默認(rèn)為never,即不顯示。

您可以通過Actuator組件提供的自動配置的健康指示器或者自定義檢查程序?qū)?yīng)用進(jìn)行檢查。

通過自動配置的健康檢查器。

Actuator有些自動配置加載的健康檢查指示器(HealthIndicator),例如若應(yīng)用中使用了Redis、MongoDB,那么RedisHealthIndicator以及MongoHealthIndicator就會被作為健康檢查的一部分。更多關(guān)于自動加載的配置信息,請參見自動配置加載。

您也可以禁用所有自動配置的健康指示器,或者禁用某個指示器的健康檢查。

management.health.defaults.enable=false # 禁用所有默認(rèn)健康檢查指示器。 management.health.mongo.enable=false # 禁用MongoDB健康檢查指示器。

說明

請您根據(jù)應(yīng)用,選擇需要開啟的健康檢查指示器。如果您開啟了全部的指示器,可能會導(dǎo)致健康檢查持續(xù)失敗。

通過自定義檢查程序。此時您可以通過/health/custom路徑來單獨(dú)獲取這個健康指示器的結(jié)果。

新建CustomHealthIndicator.java文件,輸入代碼,實(shí)現(xiàn)您業(yè)務(wù)中特定的檢查內(nèi)容。例如檢查數(shù)據(jù)庫連接是否正常,線程池狀態(tài)等。示例代碼如下所示:

@Component public class CustomHealthIndicator extends AbstractHealthIndicator { @Override protected void doHealthCheck(Health.Builder builder) throws Exception { # 實(shí)現(xiàn)您業(yè)務(wù)中特定的檢查內(nèi)容。 if (checkSomething()) { builder.up().withDetail("Item", "xxx").withDetail("error", "null"); } else { builder.down().withDetail("Item", "xxx").withDetail("error", "xxxErrorCode"); } } }

設(shè)置完成后,運(yùn)行應(yīng)用,進(jìn)行健康檢查。

通過直接訪問默認(rèn)端口進(jìn)行健康檢查。示例命令如下:

curl 127.0.0.21:8080/health/custom # custom為健康檢查指示器類名前綴,請以您定義的類名為準(zhǔn)。

說明

Actuator 2.0版本之前默認(rèn)基礎(chǔ)訪問路徑是/,則健康檢查路徑為/health。

Actuator 2.0及之后版本默認(rèn)訪問路徑是/actuator, 則健康檢查路徑為/actuator/health。

返回示例如下:

{"status":"UP","details":{"custom":{"status":"UP","details":{"Item","xxx","error","null"}}}}

狀態(tài)說明如下:

UP:HTTP狀態(tài)碼為200,說明健康檢查成功。

DOWN:HTTP狀態(tài)碼為503,說明健康檢查失敗。

說明

如果這個檢查路徑中包含了多個健康指示器的結(jié)果(例如檢查的路徑是/health),只要有一個指示器的結(jié)果為DOWN,HTTP狀態(tài)碼就會是503,即健康檢查失敗。

在SAE控制臺配置健康檢查。具體步驟,請參見設(shè)置健康檢查。

相關(guān)知識

運(yùn)動健康數(shù)據(jù)可視化:基于 Echarts 和 Java SpringBoot 的動態(tài)實(shí)時大屏范例
如何使用電腦健康狀況檢查應(yīng)用
基于SpringBoot Vue健康健身追蹤系統(tǒng) – 計(jì)算機(jī)源碼
華為運(yùn)動健康如何設(shè)置數(shù)據(jù)共享
華為WATCH GT2如何設(shè)置戶外跑
基于SpringBoot+Vue健身房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(源碼+部署說明+演示視頻+源碼介紹)(2)
spring boot 應(yīng)用在 k8s 中的健康檢查(一)
配置健康檢查探測物理專線連通性
如何恢復(fù)iPhone健康應(yīng)用數(shù)據(jù)?
華為健康運(yùn)動app語言可以設(shè)置嗎 華為運(yùn)動健康如何調(diào)中文?

網(wǎng)址: 如何為SpringBoot應(yīng)用設(shè)置健康檢查 http://www.u1s5d6.cn/newsview400727.html

推薦資訊