精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot Actuator集成,難的是靈活運用!

開發 架構
曾經看到Spring Boot Actuator這個框架時,一直在想,它到底有什么作用呢?雖然知道它提供了很多端點,有助于應用程序的監控和管理,但如果沒有直接的實踐案例,還是很難有說服力的。

[[410648]]

本文轉載自微信公眾號「程序新視界」,作者丑胖俠二師兄。轉載本文請聯系程序新視界公眾號。

前言

曾經看到Spring Boot Actuator這個框架時,一直在想,它到底有什么作用呢?雖然知道它提供了很多端點,有助于應用程序的監控和管理,但如果沒有直接的實踐案例,還是很難有說服力的。

直到上篇文章《微服務架構:Nacos本地緩存 PK 微服務優雅下線》中講到可以利用其中Actuator定義的端點來達到微服務的優雅下線效果,才發現Actuator是真的很有用。

那么本文便基于Spring Boot系統如何集成Actuator,如何使用,以及如何自定義一個端點(Endpoint)來展開。

Spring Boot Actuator簡介

Spring Boot Actuator是Spring Boot提供用于對應用系統進行自省和監控的功能模塊,基于此開發人員可以方便地對應用系統某些監控指標進行查看、統計、審計、指標收集等。Actuator提供了基于Http端點或JMX來管理和監視應用程序。

剛接觸Actuator朋友通常會有一個疑惑,Actuator可以通過Http端點進行訪問,那么它與Spring Web提供的@Controller的對外服務有什么區別呢?它們都可以通過Http的方式讓外部來訪問應用程序,但功能的定義邊界不同。就像上面說的Actuator通常用于應用程序本身運行情況的監控和操作,而@Controller更多的是業務層面運用。通過與@Controller這么一對照,你可能更容易理解Actuator的作用了。

Actuator默認功能

Actuator提供了一些默認的REST接口,基于這些接口我們可以很方便的了解應用程序的運行狀況。其中某些端口比較敏感,需要在指定的權限下才能進行訪問。

通過Actuator可以監控應用程序的Health健康信息、Info應用信息、HTTP Request跟蹤信息、Metrics信息、@RequestMapping的路徑信息、應用程序的各種配置信息、程序請求的次數時間等各種信息。

這里暫且不做具體端點的解釋,因為不同的版本還是有所出入的。先來看一下將所有的端點打開,然后訪問http://localhost:8080/actuator 能夠看到的端點信息。

至于你所使用的版本包含哪些端點,也采用同樣的方法來進行查看。

Spring Boot的集成

將Spring Boot Actuator集成到Spring Boot項目中是非常方便的,只需在pom文件中添加對應的依賴即可:

  1. <dependency> 
  2.     <groupId>org.springframework.boot</groupId> 
  3.     <artifactId>spring-boot-starter-actuator</artifactId> 
  4. </dependency> 

 

這里采用的是Spring Boot 2.2.2.RELEASE版本。啟動項目,訪問http://localhost:8080/actuator 就可以看到目前可訪問的端口列表信息了:

  1. "_links": { 
  2. "self": { 
  3. "href""http://localhost:8080/actuator"
  4. "templated"false 
  5. }, 
  6. "health-path": { 
  7. "href""http://localhost:8080/actuator/health/{*path}"
  8. "templated"true 
  9. }, 
  10. "health": { 
  11. "href""http://localhost:8080/actuator/health"
  12. "templated"false 
  13. }, 
  14. "info": { 
  15. "href""http://localhost:8080/actuator/info"
  16. "templated"false 

可以看出,當前版本默認支持self、health-path、health和info端點信息的訪問,其他信息是未對外開放的。

此時,如果需要查看像前面提到的全部的端點,可在application配置文件中進行如下配置:

  1. management: 
  2.   endpoints: 
  3.     web: 
  4.       exposure: 
  5.         include: '*' 
  6.     jmx: 
  7.       exposure: 
  8.         include: '*' 

這樣便可以看到所有的端點了。此種方式是針對Spring Boot 2.0以后的版本才起效。需要注意的是配置中的*是需要添加單引號或雙引號的。

另外,這種形式的配置也是不推薦的。這樣會將所有的端點對外暴露,而沒有進行權限驗證。建議的模式是,使用到哪些端點,直接在include中明確指出。同時,敏感操作還需要進行認證。

指定配置的形式如下:

  1. management: 
  2.   endpoints: 
  3.     web: 
  4.       exposure: 
  5.         include: health,info 
  6.     jmx: 
  7.       exposure: 
  8.         include: health,info 

不同的端點通過英文逗號分隔即可。

Endpoint的數據結構

其實最開始我們已經看了/actuator返回的數據結構了,這便是端點self的信息。在/actuator的返回信息中還可以看到其他可訪問的端點的地址,比如這里訪問http://localhost:8080/actuator/health ,結構如下:

  1. "status""UP" 

端點返回的結果為JSON格式,上面返回了status為UP的狀態,也就是說系統處于健康運行當中。當然,針對其他端點的訪問,返回結果基本一致,這里就不逐一展示了。

停服操作

在上面的端點中,你會發現并沒有關閉服務的端點。是的,默認情況下,即使include設置為“*”,依舊沒有開啟shutdown這類影響服務的操作。

針對這類操作,我們先要設置其可用:

  1. management: 
  2.   endpoint: 
  3.     shutdown: 
  4.       enabled: true 
  5.   endpoints: 
  6.     web: 
  7.       exposure: 
  8.         include: '*' 
  9.     jmx: 
  10.       exposure: 
  11.         include: '*' 

此時,再訪問/actuator就可以看到/shutdown端點對應的路徑了http://localhost:8080/actuator/shutdown 。

通過curl命令或postman等發送一個post請求到該端點:

  1. curl -X "POST" "http://localhost:8080/actuator/shutdown" 

執行之后,發現服務被關停了。類似停服的操作還有很多,比如restart、pause、restart等??筛鶕唧w版本進行配置,目前版本只發現有shutdown端點,未restart、pause、restart等端點的配置項。

通過上述方式,SpringBoot應用可以優雅的關閉,但是存在很大的安全隱患,如果知道了ip、端口號后就可以模擬該請求停止服務了,因此需要增加一些安全限制。

  • management.endpoints.web.base-path 自定義shutdown的請求路徑;
  • management.server.address 設置為本地ip,防止遠程訪問該連接進行關閉服務;
  • management.server.port 自定義shutdown請求路徑的端口號;

調整后的配置文件如下:

  1. management: 
  2.   endpoint: 
  3.     shutdown: 
  4.       enabled: true 
  5.   endpoints: 
  6.     web: 
  7.       exposure: 
  8.         include: '*' 
  9.     jmx: 
  10.       exposure: 
  11.         include: '*' 
  12.   server: 
  13.     # 自定義端口 
  14.     port: 8080 
  15.     # 不允許遠程管理連接,安全性考慮 
  16.     address: 127.0.0.1 

當然,如果此種方式并不適合你,還可以考慮引入spring-boot-starter-security,通過Spring Security來保證Actuator Endpoints的安全,此時再訪問時就需要用戶名和密碼的驗證了。關于Spring Security在本篇文章就不再拓展。

自定義Endpoint

默認的端點雖然可以滿足大多數的需求,但一些特殊的需求還是需要能夠支持自定義端點的。自定義 Endpoint 端點,只需要在我們的新建Bean上使用 @Endpoint 注解即可, Bean 中的方法就可以通過 JMX 或者 HTTP 公開。除此之外,還可以使用 @JmxEndpoint 或 @WebEndpoint 編寫 EndPoint。但這些 EndPoint 僅限于各自的公開方式。例如,@WebEndpoint 僅通過HTTP公開,而不通過JMX公開。

那么是不是類中所有的方法都支持對外公開呢?很明顯不是的。Actuator提供了三個用于方法上的注解,只有加三個注解的方法才支持對外公開,并且每個注解都有支持它的HTTP method。

@ReadOperation對應HTTP的GET請求,@WriteOperation對應HTTP的POST請求,@DeleteOperation對應HTTP的DELETE請求。

來看一個簡單的使用實例:

  1. @Component 
  2. @Endpoint(id = "my"
  3. public class EndpointCustom { 
  4.  
  5.    @ReadOperation 
  6.    public String endpointCustomRead(String content) { 
  7.       return "請求的內容: " + content; 
  8.    } 
  9.  
  10.    @WriteOperation 
  11.    public String endpointCustomWrite(String content) { 
  12.       return "寫的內容: " + content; 
  13.    } 
  14.  
  15.    @DeleteOperation 
  16.    public String endpointCustomDelete(String content) { 
  17.       return "刪除的內容: " + content; 
  18.    } 
  19.  

對應GET請求:

  1. curl -X GET http://localhost:8080/actuator/my?content=endpointGet 

執行之后,會返回信息“請求的內容: endpointGet”。

同樣的POST請求為:

  1. curl -X POST http://localhost:8080/actuator/my?content=endpointPost 

DELETE請求為:

  1. curl -X DELETE http://localhost:8080/actuator/my?content=endpointDELETE 

上面只是簡單自定義實例,根據具體的業務場景,可以定義更加豐富的端點實現。

小結

通過本篇我們了解了Spring Boot集成 Actuator的基本操作。集成起來非常簡單,因為Spring Boot已經幫我們做了大多數的事情,我們只需要有針對性的進行配置即可。對于預定義端點無法滿足業務需求的情況,還可以通過自定義的形式來實現特殊化處理。學習Actuator最重要的點在于知道它的運用場景。

本文完整源碼地址:https://github.com/secbr/springboot-all/tree/master/springboot-actuator

 

責任編輯:武曉燕 來源: 程序新視界
相關推薦

2009-12-07 17:20:29

PHP stdClas

2010-04-21 14:56:23

Unix 線程

2009-02-20 10:59:21

Vista幫助系統使用技巧

2010-04-27 17:06:16

AIX vmstat

2009-10-23 15:30:53

無線接入技術

2019-10-21 15:30:54

JS技巧前端

2011-07-25 16:25:47

2011-07-08 13:56:00

域控制器服務器

2009-07-01 17:58:20

JSP

2013-04-07 10:15:34

2013-04-10 10:39:57

2024-01-26 16:28:28

C++動態內存開發

2012-01-10 10:05:47

文件目錄訪問控制UGO

2012-02-04 14:56:52

JP1數據中心

2009-12-01 11:33:03

PHP判斷字符串的包含

2010-05-27 13:32:36

IIS服務安全認證

2011-08-23 18:30:59

MySQLTIMESTAMP

2016-10-08 12:46:08

Linux監控限制

2021-10-08 06:50:31

Volatile設計原理

2011-08-17 09:47:55

windows7搜索
點贊
收藏

51CTO技術棧公眾號

古典武侠综合av第一页| 亚洲欧美在线看| 青青草综合在线| 日本激情一区二区三区| 在线综合视频| 国产一区二区黄| 成 人 黄 色 小说网站 s色| 欧美人与牲禽动交com | 亚洲mmav| 亚洲欧洲精品成人久久奇米网| 91麻豆国产精品| 91精品国产乱码久久久张津瑜| 黑丝美女一区二区| 制服丝袜亚洲网站| 国产欧美日韩小视频| 免费a在线观看| 国产主播一区二区| 欧美精品激情在线观看| 成年人在线免费看片| 91精品国产乱码久久久竹菊| 日韩欧美一区二区三区| 国产又大又长又粗又黄| 国产高清精品软件丝瓜软件| 先锋亚洲精品| 欧美xxxx18性欧美| 日本精品一二三| 91福利精品在线观看| 亚洲一区二区三区四区在线观看| 日本中文不卡| 污污的视频网站在线观看| 奇米色777欧美一区二区| 久久免费视频在线观看| 亚欧精品视频一区二区三区| 加勒比视频一区| 91精品国产品国语在线不卡| 精品一区二区中文字幕| 四虎亚洲精品| 亚洲欧美一区二区在线观看| 欧美一区国产一区| 亚洲成人黄色片| 久久成人免费电影| 国产成人av在线播放| 国产一级片久久| 亚洲成av人电影| 国产一区二区三区久久精品| 欧美在线一级片| 天堂精品久久久久| 精品视频一区三区九区| 久久国产乱子伦免费精品| 日本高清在线观看| 国产亚洲精品中文字幕| 鲁丝一区鲁丝二区鲁丝三区| 亚洲精品国偷拍自产在线观看蜜桃 | 成人自拍视频在线| 国产精品视频免费在线| 国产字幕在线观看| 性色一区二区三区| 欧美亚洲另类激情另类| 日韩一区二区视频在线| 日韩视频中文| 欧美一性一乱一交一视频| 日本免费观看视| 欧美精选在线| 欧美高清视频一区二区| 欧美精品一区二区蜜桃| 在线成人超碰| 欧美疯狂xxxx大交乱88av| 国产一区二区三区在线视频观看| 欧美顶级大胆免费视频| 久热爱精品视频线路一| 国产午夜手机精彩视频| 欧美a级在线| 久久99视频免费| 免费一级黄色大片| 在线日韩视频| 97精品国产97久久久久久春色| 99免费在线观看| 亚洲国产黄色| 国产v综合ⅴ日韩v欧美大片| 日本久久综合网| 免费成人美女在线观看.| 国产精品免费电影| 国产伦精品一区二区三区免.费 | 国产精品高潮呻吟视频| 亚洲午夜无码久久久久| 日韩精品亚洲一区| 成人福利在线视频| а√天堂资源在线| 91蜜桃免费观看视频| 麻豆成人av| 午夜老司机在线观看| 亚洲乱码一区二区三区在线观看| 国产小视频免费| 91吃瓜在线观看| 色婷婷综合久久久中文一区二区| 色综合天天色综合| 成人黄色91| 亚洲精品999| av永久免费观看| 伊人情人综合网| 欧洲精品毛片网站| 国产又粗又猛又爽又黄91| 成人性生交大片| 日韩av电影免费在线| 超碰porn在线| 狠狠久久亚洲欧美专区| 中文字幕丰满乱码| 日韩精品导航| 久久精品视频在线| 色一情一乱一伦| 国产在线一区二区| 精品国产91亚洲一区二区三区www| 国产在线高清| 亚洲国产精品一区二区www在线| 成人免费在线小视频| 另类中文字幕国产精品| 日韩精品资源二区在线| 色欲狠狠躁天天躁无码中文字幕| 午夜国产一区| 国产精品美乳在线观看| 视频一区二区免费| 亚洲日本va在线观看| 国产第一页视频| 国产乱论精品| 久久综合88中文色鬼| 99超碰在线观看| 成人免费高清在线观看| 在线精品日韩| 一区二区三区四区日本视频| 日韩一区二区在线观看视频播放| 欧美精品日韩在线| 亚洲欧美成人| 懂色av一区二区三区在线播放| av在线电影网| 欧美日韩亚洲天堂| 国模无码视频一区| 亚洲精品tv久久久久久久久久| 国产精品极品在线| 日韩专区一区二区| 黄色一区二区在线观看| 日韩不卡的av| 久久精品国产亚洲夜色av网站 | 国产精品嫩草99av在线| av一区二区三区免费| 日本福利专区在线观看| 色拍拍在线精品视频8848| 香港三日本8a三级少妇三级99| 欧美一区二区| 91久久国产精品| 亚洲精品白浆| 欧美精品一区二区三区四区| 日本一级一片免费视频| 97se亚洲国产综合自在线观| 国产免费黄色av| 免费视频一区三区| 国产精品电影网| 欧美三级电影一区二区三区| 337p亚洲精品色噜噜狠狠| 日本妇女毛茸茸| 成人免费毛片高清视频| 777777av| 成人在线亚洲| 成人欧美一区二区三区在线| 男人添女人下部高潮视频在线观看| 日韩欧美美女一区二区三区| 中文字幕一区二区三区精品| 久久久五月婷婷| 日本不卡一区二区在线观看| 中文在线日韩| 久久精品日韩精品| 国产a亚洲精品| 久久国产精彩视频| 亚洲精品国产精品乱码不卡| 欧美性猛交xxxx黑人| 女人十八毛片嫩草av| 狠狠色丁香久久婷婷综合_中| 久久男人资源站| 偷拍精品福利视频导航| 国产视频观看一区| av中文字幕在线观看第一页| 亚洲天堂男人天堂女人天堂| 99热这里只有精品5| 欧美日韩国产专区| 亚洲欧美另类日本| av不卡免费在线观看| 日本成人黄色网| 欧美一区二区三区另类| 欧美精品尤物在线| 亚洲成人五区| 国产精品久久久久久久天堂| 色yeye免费人成网站在线观看| 日韩av一区在线| 国产裸体无遮挡| 韩曰欧美视频免费观看| 国产精品免费在线视频| jlzzjlzz亚洲日本少妇| 日韩肉感妇bbwbbwbbw| 在线国产日韩| 艳母动漫在线观看| 红桃视频在线观看一区二区| 成人av免费电影| 狂野欧美性猛交xxxx| 97av视频在线| 国产极品人妖在线观看| 日日狠狠久久偷偷四色综合免费 | 成人高清视频在线| 亚洲欧美视频二区| 午夜一区不卡| 国产欧美精品aaaaaa片| 日本女优一区| 久久综合中文色婷婷| 亚洲精品不卡在线观看| 国产精品自在线| 中文在线аv在线| 久久久久久这里只有精品| 午夜看片在线免费| 亚洲午夜久久久影院| 狠狠躁日日躁夜夜躁av| 欧美日韩激情一区二区| 天堂网免费视频| 狠狠干狠狠久久| 日本视频免费在线| 亚洲一区中文日韩| 免费一级片在线观看| √…a在线天堂一区| 肉色超薄丝袜脚交69xx图片| 久久美女艺术照精彩视频福利播放 | 色香阁99久久精品久久久| 青青草手机在线| 日韩精品视频观看| 色视频在线观看| 亚洲精品视频在线播放| 深夜福利在线观看直播| 亚洲精品ady| 色呦呦中文字幕| 精品免费视频.| 亚洲h视频在线观看| 日韩视频在线永久播放| 国产三级漂亮女教师| 91精品国产综合久久精品| 国产一区二区在线视频聊天| 欧美欧美欧美欧美| 国产人妖一区二区三区| 欧美一区在线视频| 精品久久久久久亚洲综合网站| 日韩三级视频中文字幕| 精品久久久免费视频| 日韩精品一区二区三区视频| 亚洲国产剧情在线观看| 欧美mv日韩mv| 无码国产伦一区二区三区视频| 亚洲精品美女久久| 国产九九在线| 中文字幕精品国产| 精品国产丝袜高跟鞋 | 女同一区二区免费aⅴ| 欧美激情videoshd| 擼擼色在线看观看免费| 青草青草久热精品视频在线观看| 在线一区视频观看| 国产区亚洲区欧美区| 国产高清亚洲| 国产精品二区在线观看| 欧洲vs亚洲vs国产| 日本一区二区在线视频观看| 久久亚洲国产| 台湾无码一区二区| 国产视频一区三区| 日韩欧美在线免费观看视频| 久久精品国产一区二区| 黄页网站在线看| 91丨国产丨九色丨pron| 中文字幕黄色网址| 亚洲品质自拍视频| www.国产成人| 欧美日韩免费视频| 欧美在线 | 亚洲| 亚洲人成毛片在线播放| 免费黄色在线| 久久乐国产精品| 亚洲国产尤物| 成人区精品一区二区| 一呦二呦三呦国产精品| 日韩视频在线免费播放| 国产欧美在线| 在线视频观看一区二区| www国产精品av| 97在线观看免费高| 精品国产31久久久久久| 中文字幕在线观看高清| 亚洲精品成a人在线观看| av免费观看一区二区| 韩国19禁主播vip福利视频| 国产精品第一| 精品乱子伦一区二区三区| 国产精品久久久久久久| 1024精品视频| 国产iv一区二区三区| 美国一级黄色录像| 亚洲成人一区二区在线观看| 一级黄色片免费看| 日韩成人av在线播放| 99在线视频观看| 国产精品福利在线| 开心激情综合| 999久久欧美人妻一区二区| 日本aⅴ免费视频一区二区三区| av电影在线播放| 亚洲天堂av一区| 亚洲中文一区二区| 亚洲国产日韩欧美在线99| 久草中文在线| 国产欧美韩国高清| 国产一区二区精品福利地址| 国产精品国产亚洲精品看不卡| 国产一区二区精品久久91| 欧洲美熟女乱又伦| 色狠狠桃花综合| 亚洲av激情无码专区在线播放| 美女福利精品视频| 自拍偷拍欧美日韩| 亚洲精品视频一二三| 三级欧美在线一区| 一起草在线视频| 午夜国产精品一区| 亚洲黄色小说网址| 久久亚洲精品视频| 在线视频成人| 老司机av福利| 国产在线精品免费av| 无码人中文字幕| 91久久精品一区二区二区| 全部免费毛片在线播放网站| 91精品国产免费久久久久久| 国产乱论精品| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 成人手机电影网| 日本熟妇毛茸茸丰满| 精品少妇一区二区三区视频免付费| 午夜小视频在线观看| 91网在线免费观看| 午夜电影亚洲| 国产人妖在线观看| 亚洲国产精品一区二区久久 | 精品丰满人妻无套内射| 成人一区二区三区视频在线观看 | 动漫精品一区二区三区| 午夜不卡在线视频| 四虎影视精品成人| 日韩免费观看网站| 欧美日韩中文一区二区| 五月婷婷激情久久| 中文字幕一区二区三区av | 国产手机视频精品| 国产伦精品一区二区三区视频金莲| 欧美人xxxxx| 日本欧美一区二区在线观看| 日本午夜精品视频| 欧美裸体一区二区三区| 在线看女人毛片| 国产伦精品一区二区三区照片| 亚洲综合精品| 国产小视频自拍| 欧美区视频在线观看| a免费在线观看| 久草精品电影| 麻豆国产一区二区| 麻豆成人在线视频| 日韩精品在线观看网站| 国产第一亚洲| 日韩欧美不卡在线| 久久众筹精品私拍模特| 中文字幕日本人妻久久久免费| 欧美成人精品一区二区| 亚洲精品国产动漫| 波多野结衣国产精品| 亚洲aⅴ怡春院| 成年人在线视频免费观看| 91久久久国产精品| 国产精品普通话对白| 中日韩一级黄色片| 91精品国产欧美一区二区18| 国产激情视频在线看| 亚洲砖区区免费| 99久久精品国产导航| 一本色道久久综合熟妇| 少妇高潮 亚洲精品| 国产乱人伦精品一区| 91精品999| 黑人欧美xxxx| 性xxxfreexxxx性欧美| 欧美精品亚洲精品| 国产suv精品一区二区三区| 日韩免费av网站| 国外成人免费在线播放| 99re6这里只有精品| 麻豆av免费看| 欧美久久久久中文字幕| 成人性生活av| 青青青在线视频播放|