成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Actuator 實現Spring Boot應用監控

開發 項目管理
Actuator是Spring Boot提供的應用系統監控的開源框架,它是Spring Boot體系中非常重要的組件。它可以輕松實現應用程序的監控治理。

本文轉載自微信公眾號「架構師精進」,作者章為忠。轉載本文請聯系架構師精進公眾號。

我們知道Spring Boot 提供了Actuator組件,方便我們對應用程序進行監控和維護。接下來,就來介紹Actuator到底是什么?如何在Spring Boot項目中快速集成Actuator?

一、Actuator簡介

1.Actuator是什么?

Actuator是Spring Boot提供的應用系統監控的開源框架,它是Spring Boot體系中非常重要的組件。它可以輕松實現應用程序的監控治理。支持通過眾多 REST接口、遠程Shell和JMX收集應用的運行情況。

2.端點(Endpoint)

Actuator的核心是端點(Endpoint),它用來監視、提供應用程序的信息,Spring Boot提供的spring-boot-actuator組件中已經內置了非常多的 Endpoint(health、info、beans、metrics、httptrace、shutdown等),每個端點都可以啟用和禁用。Actuator也允許我們擴展自己的端點。通過JMX或HTTP的形式暴露自定義端點。

Actuator會將自定義端點的ID默認映射到一個帶/actuator前綴的URL。比如,health端點默認映射到/actuator/health。這樣就可以通過HTTP的形式獲取自定義端點的數據。

Actuator同時還可以與外部應用監控系統整合,比如 Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等。這些系統提供了非常好的儀表盤、圖標、分析和告警等功能,使得你可以通過統一的接口輕松的監控和管理你的應用系統。這對于實施微服務的中小團隊來說,無疑快速高效的解決方案。

二、Spring Boot集成Actuator

在Spring Boot項目中集成Actuator非常簡單,只需要在項目中添加spring-boot-starter-actuator組件,就能自動啟動應用監控的功能。

首先,創建一個Spring Boot項目來添加spring-boot-starter-actuator依賴:

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

上面的示例所示,我們添加了actuator和web兩個組件。spring-boot-starter-actuator除了可以監控Web系統外,還可以監控后臺服務等Spring Boot應用。

然后,修改配置文件,配置Actuator端點

# 打開所有的監控點
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

最后,啟動項目并在瀏覽器中輸入http://localhost:8080/actuator,我們可以看到返回的是Actuator提供的各種數據接口信息。

Actuator提供了豐富的數據接口,包括/health、/env、/metrics等。下面我們請求其中的一個地址/actuator/health,查看接口返回的詳細信息。

如圖上圖所示,/health接口返回了系統詳細的健康狀態信息,包括系統的狀態(UP為正常)、磁盤使用情況等信息。

三、自定義端點

Spring Boot支持自定義端點,只需要在我們定義的類中使用@Endpoint、@JmxEndpoint、@WebEndpoint等注解,實現對應的方法即可定義一個Actuator中的自定義端點。從Spring Boot 2.x版本開始,Actuator支持CRUD(增刪改查)模型,而不是舊的RW(讀/寫)模型。我們可以按照3種策略來自定義:

  • 使用@Endpoint注解,同時支持JMX和HTTP方式。
  • 使用@JmxEndpoint 注解,只支持JMX技術。
  • 使用@WebEndpoint注解,只支持HTTP。

編寫自定義端點類很簡單,首先需要在類前面使用@Endpoint注解,然后在類的方法上使用@ReadOperation、@WriteOperation或@DeleteOperation(分別對應HTTP中的GET、POST、DELETE)等注解獲取、設置端點信息。

下面我們創建一個獲取系統當前時間的自定義端點。

首先,創建自定義端點類SystemTimeEndpoint,使用@Endpoint注解聲明端點ID,同時需要使用@Component注解,將此類交給Spring Boot管理。示例代碼如下:

/*
* 自定義端點類
* @Endpoint //表示這是一個自定義事件端點類
* Endpoint 中有一個id //它是設置端點的URL路徑
* */
@Endpoint(id="systemtime") //端點路徑不要與系統自帶的重合
@Component
public class SystemTimeEndpoint {
//一般端點都是對象,或者一個json返回的格式,所以通常我們會將端點定義一個MAP的返回形式
//通過ReadOperation
//訪問地址是根據前綴+ endpoint 的ID
///actuator/systemtime
private String format = "yyyy-MM-dd HH:mm:ss";
@ReadOperation //顯示監控指標
public Map<String,Object> info(){
Map<String,Object> info = new HashMap<>();
info.put("system","數據管理服務");
info.put("memo","系統當前時間端點");
info.put("datetime",new SimpleDateFormat(format).format(new Date()));
return info;
}
//動態修改指標
@WriteOperation //動態修改指標,是以post方式修改
public void setFormat(String format){
this.format = format;
}
}

上面的示例中,我們通過@Endpoint注解定義一個自定義端點,參數id為自定義端點的唯一標識和訪問路徑,必須唯一不重復。

做好這些配置后,就能訪問http://127.0.0.1:8080/actuator/systemtime端點了,如圖下圖所示。

最后

以上,Actuator到底是什么,如何在Spring Boot項目中快速集成Actuator介紹完了。Actuator是Spring Boot 提供的非常重要的應用監控組件,希望大家能熟悉掌握。后面還會介紹搭建完整的Spring Boot應用監控平臺。敬請關注。


責任編輯:武曉燕 來源: 架構師精進
相關推薦

2023-04-11 16:04:19

Spring Boo端點運維

2020-11-10 09:19:23

Spring BootJava開發

2023-12-27 18:05:13

2022-12-05 13:45:06

Actuator監控

2018-10-22 15:34:31

Spring Boo監控視化

2021-01-22 05:38:28

監控SpringbootActuator

2021-02-03 12:47:09

Spring Boot應用監控

2023-10-15 22:40:25

插件JIB

2017-06-04 16:05:48

Spring BootActuatorinfo

2021-04-08 19:07:54

安全Spring Bootendpoint

2021-07-12 07:08:52

Spring Boot集成框架

2022-05-18 08:32:05

服務監控Prometheus開源

2023-07-27 08:53:44

2023-10-25 18:08:13

應用容器化Docker

2022-02-08 17:07:54

Spring BooSpring Aop日志記錄

2022-07-11 09:36:38

SpringJava開發

2017-09-20 09:46:38

Spring BootSpring Clou內存

2025-01-08 09:35:55

Spring性能監控

2024-01-18 07:53:37

2020-12-01 08:32:12

Spring Boot
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久久婷婷国产综合精品首页 | 中文字幕 欧美 日韩 | 久久久久中文字幕 | 日韩免费激情视频 | 欧美在线观看免费观看视频 | 国产成人免费视频网站高清观看视频 | 精品欧美一区二区精品久久久 | 欧美国产日本一区 | 久久久久国产 | 四虎影院在线播放 | 亚洲精品乱码久久久久久蜜桃 | 九九视频网 | 欧美日韩精品久久久免费观看 | 黄色大片在线免费观看 | 91精品国产高清一区二区三区 | 久综合 | 精品国产女人 | 国产线视频精品免费观看视频 | 日本一区二区三区免费观看 | 欧美成人一区二免费视频软件 | 中文字幕在线播放第一页 | 国产婷婷综合 | 免费视频一区 | 亚洲国产一区二区三区在线观看 | 国产精品无码专区在线观看 | jav成人av免费播放 | 黄色免费网址大全 | 亚洲国产成人精品久久 | 99福利在线观看 | 99精品在线观看 | 91久久久久久久久 | 亚洲成人av | 在线国产一区 | 国产二区视频 | 久久久免费毛片 | 国产大毛片 | av高清| 国产成人综合久久 | 国产精品视频一区二区三 | 国产高清性xxxxxxxx | 久久爱黑人激情av摘花 |