最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot實(shí)現(xiàn)項(xiàng)目健康檢查與監(jiān)控

 更新時(shí)間:2018年06月04日 10:48:57   作者:Peter__Pan  
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)項(xiàng)目健康檢查與監(jiān)控,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Spring Boot 最主要的特性就是AutoConfig(自動(dòng)配置),而對(duì)于我們這些使用者來說也就是各種starter,

Spring Boot-Actuator 也提供了starter,為我們自動(dòng)配置,在使用上我們只需要添加starter到我們的依賴中,然后啟動(dòng)項(xiàng)目即可。

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

常用Endpoint

Spring Boot-actuator,提供了許多有用的EndPoint,對(duì)Spring Boot應(yīng)用提供各種監(jiān)控,下面說一下我常用的EndPoint:

/health 應(yīng)用的健康狀態(tài)

/configprops 獲取應(yīng)用的配置信息,因?yàn)镾pring Boot 可能發(fā)布時(shí)是單獨(dú)的Jar包,配置文件可能包含其中, 當(dāng)我們需要檢查配置文件時(shí)可以使用 ConfigpropsEndPoint 進(jìn)行查看一些配置是否正確。

/trace 最近幾次的http請(qǐng)求信息

HealthEndPoint

當(dāng)我們?cè)L問 http://localhost:8088/health 時(shí),可以看到 HealthEndPoint 給我們提供默認(rèn)的監(jiān)控結(jié)果,包含 磁盤檢測(cè)和數(shù)據(jù)庫(kù)檢測(cè)。

{
 "status": "UP",
 "diskSpace": {
  "status": "UP",
  "total": 398458875904,
  "free": 315106918400,
  "threshold": 10485760
 },
 "db": {
  "status": "UP",
  "database": "MySQL",
  "hello": 1
 }
}

其實(shí)看 Spring Boot-actuator 源碼,你會(huì)發(fā)現(xiàn) HealthEndPoint 提供的信息不僅限于此,org.springframework.boot.actuate.health 包下 你會(huì)發(fā)現(xiàn) ElasticsearchHealthIndicator、RedisHealthIndicator、RabbitHealthIndicator 等

也就是 HealthEndPoint 也提供 ES, Redis 等組件的健康信息。

自定義Indicator 擴(kuò)展 HealthEndPoint

看源碼 其實(shí) 磁盤和數(shù)據(jù)庫(kù)健康信息就是 DiskSpaceHealthIndicator、DataSourceHealthIndicator 來實(shí)現(xiàn)的,當(dāng)我們對(duì)一些我們自定義的組件進(jìn)行監(jiān)控時(shí), 我們也可以實(shí)現(xiàn)個(gè)Indicator :

@Component
public class User implements HealthIndicator {
 /**
  * user監(jiān)控 訪問: http://localhost:8088/health
  *
  * @return 自定義Health監(jiān)控
  */
 @Override
 public Health health() {
  return new Health.Builder().withDetail("usercount", 10) //自定義監(jiān)控內(nèi)容
    .withDetail("userstatus", "up").up().build();
 }
}

這時(shí)我們?cè)俅卧L問: http://localhost:8088/health 這時(shí)返回的結(jié)果如下,包含了我們自定義的 User 健康信息。

{
 "status": "UP",
 "user": {
  "status": "UP",
  "usercount": 10,
  "userstatus": "up"
 },
 "diskSpace": {
  "status": "UP",
  "total": 398458875904,
  "free": 315097989120,
  "threshold": 10485760
 },
 "db": {
  "status": "UP",
  "database": "MySQL",
  "hello": 1
 }
}

自定義EndPoint

其實(shí)除了擴(kuò)展 HealthEndPoint 來添加一些健康檢查, 我們也可以自定定義一些EndPoint 來提供程序運(yùn)行時(shí)一些信息的展示:

@Configuration
public class EndPointAutoConfig {
 @Bean
 public Endpoint<Map<String, Object>> customEndPoint() {
  return new SystemEndPoint();
 }
}
@ConfigurationProperties(prefix="endpoints.customsystem")
public class SystemEndPoint extends AbstractEndpoint<Map<String, Object>> {
 public SystemEndPoint(){
  super("customsystem");
 }
 @Override
 public Map<String, Object> invoke() {
  Map<String,Object> result= new HashMap<>();
  Map<String, String> map = System.getenv();
  result.put("username",map.get("USERNAME"));
  result.put("computername",map.get("COMPUTERNAME"));
  result.put("userdomain",map.get("USERDOMAIN"));
  return result;
 }
}

訪問 http://localhost:8088/customsystem 來查看我們自定義的EndPoint ,返回結(jié)果如下:

{
 "username": "xxx",
 "userdomain": "DESKTOP-6EAN1H4",
 "computername": "DESKTOP-6EAN1H4"
}

我們?cè)跒镾pring Boot應(yīng)用添加actuator后,期望的health接口返回結(jié)果應(yīng)該是類似下面的結(jié)果:

{
 status: "UP",
 diskSpace: 
 {
 status: "UP",
 total: 250182889472,
 free: 31169568768,
 threshold: 10485760
 },
 db: 
 {
 status: "UP",
 database: "H2",
 hello: 1
 }
}

如果只是返回了status

{
 status: "UP"
}

則需要為應(yīng)用新增配置,以yml配置文件為例,需要添加如下配置:

management:
 security:
 enabled: false
endpoints:
 health:
 sensitive: false
management.endpoint.health.show-details=always

總結(jié)

以上所述是小編給大家介紹的SpringBoot實(shí)現(xiàn)項(xiàng)目健康檢查與監(jiān)控,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java 中Map 的用法詳解

    Java 中Map 的用法詳解

    本文主要介紹java 中的Map 接口, 這里對(duì)Map 接口下的幾個(gè)類做了詳細(xì)介紹,希望對(duì)學(xué)習(xí)java 編程的小伙伴有所幫助
    2016-07-07
  • PowerJob的OmsLogHandler工作流程源碼解析

    PowerJob的OmsLogHandler工作流程源碼解析

    這篇文章主要為大家介紹了PowerJob的OmsLogHandler工作流程源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Spring事務(wù)管理零基礎(chǔ)入門

    Spring事務(wù)管理零基礎(chǔ)入門

    事務(wù)的作用就是為了保證用戶的每一個(gè)操作都是可靠的,事務(wù)中的每一步操作都必須成功執(zhí)行,只要有發(fā)生異常就?回退到事務(wù)開始未進(jìn)行操作的狀態(tài)。事務(wù)管理是Spring框架中最為常用的功能之一,我們?cè)谑褂肧pring?Boot開發(fā)應(yīng)用時(shí),大部分情況下也都需要使用事務(wù)
    2022-10-10
  • Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之平行志愿管理系統(tǒng)的實(shí)現(xiàn)

    Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之平行志愿管理系統(tǒng)的實(shí)現(xiàn)

    這是一個(gè)使用了java+Springboot+Maven+mybatis+Vue+Mysql開發(fā)的圖片平行志愿管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有志愿管理該有的所有功能,感興趣的朋友快來看看吧
    2022-02-02
  • Java線程中斷的本質(zhì)深入理解

    Java線程中斷的本質(zhì)深入理解

    Java的中斷是一種協(xié)作機(jī)制。也就是說調(diào)用線程對(duì)象的interrupt方法并不一定就中斷了正在運(yùn)行的線程,它只是要求線程自己在合適的時(shí)機(jī)中斷自己,本文將詳細(xì)介紹,需要了解的朋友可以參考下
    2012-12-12
  • Java Web Filter 過濾器學(xué)習(xí)教程(推薦)

    Java Web Filter 過濾器學(xué)習(xí)教程(推薦)

    Filter也稱之為過濾器,它是Servlet技術(shù)中最激動(dòng)人心的技術(shù).這篇文章主要介紹了Java Web Filter 過濾器學(xué)習(xí)教程的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Swagger屏蔽某些接口顯示的操作

    Swagger屏蔽某些接口顯示的操作

    這篇文章主要介紹了Swagger屏蔽某些接口顯示的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java原生方法實(shí)現(xiàn) AES 算法示例

    Java原生方法實(shí)現(xiàn) AES 算法示例

    這篇文章主要介紹了Java原生方法實(shí)現(xiàn) AES 算法,結(jié)合實(shí)例形式分析了Java實(shí)現(xiàn)AES加密算法的相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • SpringBoot自定義全局異常處理器的問題總結(jié)

    SpringBoot自定義全局異常處理器的問題總結(jié)

    Springboot框架提供兩個(gè)注解幫助我們十分方便實(shí)現(xiàn)全局異常處理器以及自定義異常,處理器會(huì)優(yōu)先處理更具體的異常類型,如果沒有找到匹配的處理器,那么它會(huì)尋找處理更一般異常類型的處理器,本文介紹SpringBoot自定義全局異常處理器的問題,一起看看吧
    2024-01-01
  • VSCode+Gradle搭建Java開發(fā)環(huán)境實(shí)現(xiàn)

    VSCode+Gradle搭建Java開發(fā)環(huán)境實(shí)現(xiàn)

    這篇文章主要介紹了VSCode+Gradle搭建Java開發(fā)環(huán)境實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論

皋兰县| 定边县| 泊头市| 旺苍县| 马边| 灵台县| 公主岭市| 广德县| 肥西县| 东乌珠穆沁旗| 巴青县| 昌宁县| 宾川县| 远安县| 惠来县| 墨竹工卡县| 涞源县| 宣威市| 九江市| 温泉县| 威海市| 通许县| 梨树县| 湖南省| 安达市| 綦江县| 西青区| 盐边县| 油尖旺区| 韶关市| 庄浪县| 安泽县| 濮阳市| 石河子市| 鹰潭市| 滨州市| 秦皇岛市| 十堰市| 罗江县| 台江县| 望谟县|