SpringBoot服務如何開放指標監控與健康檢查?Actuator了解一下

2020-12-05 字母哥博客

一、 本文大綱

Spring Boot Actuator簡介

Actuator開啟與配置

常用監控端點說明

二、Spring Boot Actuator簡介

Spring Boot作為構建微服務節點的方案,一定要提供全面而且細緻的監控指標,使微服務更易於管理!微服務不同於單體應用,微服務的每個服務節點都單獨部署,獨立運行,大型的微服務項目甚至有成百上千個服務節點。這就為我們進行系統監控與運維提出了挑戰。為了應對這個挑戰,其中最重要的工作之一就是:微服務節點能夠合理的暴露服務的相關監控指標,用以對服務進行健康檢查、監控管理,從而進行合理的流量規劃與安排系統運維工作!

Spring Boot Actuator 可以監控我們的應用程式,收集流量和資料庫狀態、健康狀態等監控指標。在生產環境中,我們可以方便的通過HTTP請求獲取應用的狀態信息,以JSON格式數據響應。

Spring Boot Actuator監控端點的分類

靜態配置類:主要是一些靜態配置信息,比如: Spring Bean 加載信息、yml 或properties配置信息、環境變量信息、請求接口關係映射信息等;

動態指標類:主要用於展現程序運行期狀態,例如內存堆棧信息、請求鏈信息、健康指標信息等;

操作控制類:主要是shutdown功能,用戶可以遠程發送HTTP請求,從而關閉監控功能。

三、Actuator開啟與配置

在Spring Boot2.x項目中開啟Actuator非常簡單,只需要引入如下的mavn坐標即可。

Spring Boot Actuator啟用之後默認開放了兩個端點的訪問:

/actuator/health用以監控應用狀態。返回值是應用狀態信息,包含四種狀態DOWN(應用不正常), OUT_OF_SERVICE(服務不可用),UP(狀態正常), UNKNOWN(狀態未知)。如果服務狀態正常,我們訪問http:/lhost:port/actuator/health得到如下響應信息:

/actuator/info 用來響應應用相關信息,默認為空。可以根據我們自己的需要,向服務調用者暴露相關信息。如下所示,配置屬性可以隨意起名,但都要掛在info下面:

如果我們希望開放更多的監控端點給服務調用者,需要配置:開放部分監控端點,端點名稱用逗號分隔

management.endpoints.web.exposure.exclude=beans,env

開放所有監控端點:

management.endpoints.web.exposure.include=*

如果您使用的是yml配置文件,而不是properties配置文件。注意:星號在YAML配置文件中中有特殊的含義,所以使用YAML配置文件一定要加引號,如下所示:

三、常用監控端點說明

注意下圖中的服務啟用,不等於對外開放訪問。對外開放訪問的服務端點一定要先開啟服務。如果服務不是默認開啟的,使用如下方式開啟:

# shutdown是服務端點名稱,可以替換management.endpoint.shutdown.enabled=true

如果Spring Boot web應用(WebMVC, WebFlux, Jersey),還可以使用如下端點:

寫在最後

通過搜-suo-查詢「字母哥博客」,更多精品知識等待你!

本號只做持續的知識輸出,希望您能關注、評論、轉發!您的支持是我不竭的創作動力!讓知識產生價值、讓程式設計師改變世界!

相關焦點

  • Spring Boot Admin快速打造監控平臺
    Spring Boot Admin快速打造監控平臺 使用過Spring boot的開發者都知道actuator,它是Springboot提供的用來對應用系統進行自省和監控的功能模塊,藉助於Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。
  • SpringBoot+GitLab+Docker+Jenkins實現持續集成下
    JenkinsJenkins是一個開源軟體項目,是基於Java開發的一種持續集成工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平臺,使軟體的持續集成變成可能。6.1. 安裝Jenkins6.1.1.
  • 如何判斷孩子免疫功能低下?5項檢查了解一下
    原標題:如何判斷孩子免疫功能低下?5項檢查了解一下   孩子經常生病,感冒、發燒、中耳炎,是不是抵抗力太差?中華醫學會兒科分會免疫學組副組長,復旦大學附屬兒科醫院臨床免疫科主任王曉川教授提醒,家長只知道孩子生病了帶到來醫院看病,卻不知道兒科醫院還有一個免疫科,可以解決家長們上述煩心問題。
  • 監控產品中「告警服務」的設計及演化
    業務價值「告警服務」能極大解放用戶的注意力。通過對產品的業務數據設定規則,業務人員就可以7*24的掌握產品數據的健康狀態,得以將更多的精力專注於業務本身。「告警服務」能使用戶第一時間獲取期望的業務數據。
  • SpringBoot中Actuator提供的端點,你都知道嗎?
    SpringBoot Actuator的關鍵 特性是在應用程式中提供眾多的Web端點,我們可以通過這些Web端點來了解程序運行時的內部狀況。Actuator共提供了13個端點:/autoconfig提供一份自動配置報告,記錄自動配置條件是否通過/configprops提供一份報告,描述配置屬性如何注入Bean/beans
  • ELK入門使用-與springboot集成
    /bin/logstash-plugin install logstash-codec-json_linesValidating logstash-codec-json_linesInstalling logstash-codec-json_linesInstallation successful接下來,我們直接編寫我們springboot需要的配置方案,新建config/logstash-sample.conf
  • 基於Prometheus來做微服務監控,有多吃香?
    在以往的單體應用中,排查問題往往通過查看日誌定位錯誤信息和異常堆棧;但是在微服務架構中服務繁多,出現問題時的問題定位變得非常困難。另外,微服務往往通過組合已有的服務來創建新服務,一個服務的故障很可能會產生雪崩效應,導致整個系統的不可用。因此,如何監控微服務的運行狀況、當出現異常時能快速給出報警,這給開發人員帶來很大挑戰。
  • [易學springboot]對controller層進行單元測試
    在springboot中進行單元測試,大家已經非常熟悉。我們通常測試的是service層和dao層。對controller層的直接測試可能進行的較少。下面介紹一下在SpringBoot中進行Controller層的Rest請求測試的方法。
  • SpringBoot開發自己的@Enable功能
    @Enable*是springboot中用來啟用某一個功能特性的一類註解。EnableCaching@EnablePack(maxConnections = 10000)public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); }} 啟動服務後
  • 痛風檢查報告有什麼作用?指標如何診斷?
    核心提示:在確診和治療痛風病的過程中,醫生需要結合病人的檢查報告以及實際症狀來判斷和對症下藥。而檢查報告上常見的化驗指標有:血沉、類風溼因子、C—反應蛋白、抗鏈球菌溶血素、HLA-B27、抗核抗體、抗DNA雙鏈抗體。
  • 弘揚抗疫精神,守護腔健康——我院「醫院開放日」迎來特殊「客人」
    大家通過觀摩科普脫口秀、了解口腔護理知識、體驗口腔醫學前沿進展、接受免費口腔健康檢查與評估等活動,了解到醫院是如何將「一手抓常態化防疫,一手抓診療業務」落到實處,而市口腔醫院也以關懷抗疫志願者口腔健康的形式,將醫務工作者弘揚抗疫精神的情懷予以表達,從而更好地踐行「人民城市人民建,人民城市為人民」的理念。
  • 數據指標有哪些?什麼是好的數據指標?
    上篇文章梳理交流了關於數據監控體系的意義和搭建思路,明確了數據監控在數據分析中重要性,了解了數據監控體系搭建方法論。(關於數據監控體系,它的意義和搭建思路都在這裡了)本篇將繼續探討數據分析中又一環「數據指標」,所謂的數據指標有哪些呢?哪些又是有效的,來明確一下指標的定義。(本期主要介紹以APP的數據指標為主)數據指標有哪些呢?
  • 寵物生化檢查指標含義(中英文對照)
    生化檢查一般什麼情況下需要做生化檢查?常規體檢,術前檢查,生病時。醫生通過採集寵物的血液,用生物或化學的方法通過儀器來對寵物進行身體檢查,主要反映內臟健康狀況,我把中英文對照,對應臟器及我理解總結的可能疾病都整理好了,可用Ctrl+F輸入縮寫查找對應指標。
  • 血脂七項檢查有哪些?安全數值是多少?來了解一下!
    所以不論老少,經常對自己的血液進行檢查是有一定好處的。一、血脂七項檢查有哪些?安全數值是多少?來了解一下!血脂的檢查包括:總膽固醇、高密度和低密度的脂蛋白、甘油三酯、載脂蛋白a、a1以及B。平時我們去醫院檢查就是這七項,那麼這七項在那個範圍內是安全的呢?接著看!
  • 如何檢查你的iPhone電池的健康狀況
    這種情況可能發生在你比預期使用頻率更高的新設備上,也可能發生在充電能力不如以前的舊設備上,蘋果不再銷售舊iphone電池更換產品,但它提供了一個內置工具,可以幫助你監控設備的電池健康狀況。這一功能有助於打擊一些關於關心手機電池的錯誤信息,內置的電池健康工具可以讓你看到哪些應用程式和活動是最大的消耗,檢查你的iPhone的整體電池健康狀況,並啟用低功率模式來減少某些後臺活動,這個工具甚至可以幫助你決定你是否需要一個新的電池,或者可以從你現有的電池中擠出更多的壽命,雖然老款手機已經享受到了這一功能,但iOS 12.1的發布將其引入了iPhone 8和更高版本。
  • CT,PET-CT,MRI怎麼區分 胸科醫院開放日市民沉浸式體驗影像「檢查」
    今天上午,在上海市胸科醫院的核醫學檢查室內,市民代表陳先生興致勃勃地說道。在上海申康醫院發展中心的統一部署下,9月1日至7日,胸科醫院為期一周的第二屆「市民健康科普宣傳周」和「醫院開放日」活動正在火熱進行中。CT、冠脈CT、PET-CT、MRI、B超、心超……這些檢查究竟有什麼不一樣?又有哪些注意事項?
  • B肝兩對半檢查怎麼看?了解下5個指標的意義
    B肝兩對半檢查也就是B肝5項檢查,能判斷是否已經感染B肝,同時也能評估病毒複製水平,對感染性有一定的參考意義。當拿到B肝兩對半檢查報告時,人們很是茫然,不妨來了解一下各項指標意義。
  • 太陽能監控攝像頭故障如何排除?
    當安裝好太陽能監控攝像頭以後,經常會發現連接不上的情況,那麼要怎麼排除呢?首先我們要了解清楚太陽能監控有哪幾部分組成,由我公司東莞市易雲電子科技有限公司研發生產的太陽能監控有以下幾個部分組成。1.4.5米分段立杆2.太陽能單晶板3.防水箱控制器電池一體4.4G監控一體球機整體安裝的效果圖如下:太陽能監控攝像頭重要核心部分一體化太陽能配電箱,裡面有太陽能電池和控制器這兩塊核心部分組成,控制器把太陽能板的電轉為穩定的電流對電池進行充電,並同時負責對攝像頭的供電工作。
  • 驗血能檢查出什麼?關於驗血單上的指標,應該做到心中有數
    看著單子上的各項指標,有些箭頭向上,有些箭頭向下,就不知道具體是啥意思,心裡沒底,也就會容易產生擔憂,下面就來帶來仔細了解一下。驗血究竟可以查出哪些問題?在血常規報告單中,應該都有看到過紅細胞、血紅蛋白指標,這兩項指標主要是為了診斷是否貧血,也可以判斷能否輸血,可以說是個重要指標,也就說明驗血可以查出貧血。驗血,還能檢查出是否存在血液病,比如白血病和紫癜。
  • 你的Springboot應用到底啟動了哪些bean?這兩種方式可以幫你獲取
    提前了解一些沒有壞處。2. IoC容器bean是spring管理的應用程式的基礎,所有bean都駐留在IOC容器中,該容器負責管理它們的生命周期。我們來看這種方式如何獲取所有的bean。使用Spring Boot ActuatorSpring Boot Actuator提供了用於監控應用程式統計信息的端點。