日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

老司机的应用级监控——spring?actuator

發布時間:2024/10/12 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老司机的应用级监控——spring?actuator 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://mt.sohu.com/20160824/n465783118.shtml

************************************************

?

  1什么是spring actuator?

  這是一個研發老司機與運維同學都會非常喜歡的東西,隨著點融集團的擴張,點融網的業務越來越復雜、服務越來越多,不論是微服務還是SOA都會大大加重運維的負擔。這時在應用層提供統一、強大的監控接口對于自動化運維來講就顯得非常重要!

對于研發來講,可以在應用啟動后拿到應用的各種數據,非常便于調試應用、分析應用的運行狀況,并且不需要研發去實現這些監控功能。

  對于運維來講,可以監控應用的健康信息、統計應用的瞬時信息。發現應用掛掉了、發現瞬時信息不正常都可以發送報警信息, 也可以將信息拉到監控系統的數據系統中,再展示到漂亮的UI上實時監控應用的運行狀態。這些actions 無疑將會大大保證系統的整體質量。

  而集成了actuator的springboot應用會在約定的endpoints上暴露自己應用的內部信息,又強大又統一標準,滿足復雜分布式系統的監控需求,一些endpoints簡介如下:

  Path

  Deion

health展示系統的各種組件運行狀態、硬盤使用狀況
metrics統計系統當前的一些瞬時信息,如:該系統接收了多少個請求、cache命中率、mq中有多少條信息待處理、CPU使用率、內存占用情況 等,后面會有更加詳細的介紹。
dump當前系統中線程的詳細信息
env展示系統變量 和 springboot的應用變量
trace顯示最近的http請求的request、response對(默認最多緩存100條)

  autoconfig

  展示所有auto-configuration候選者及它們被應用或未被應用的原因

  info

  顯示應用自定義的信息:如該應用的聯系人、名稱、版本等

  configprops

  顯示所有被@ConfigurationProperties mark的Bean的信息列表

  mappings

  顯示所有@RequestMapping mark 的url list

  shutdown

  允許以POST方式關閉應用

  beans

  顯示該應用中所有Spring Beans的完整信息,包括依賴了哪些bean、是singleton還是prototype

  研發會重點關注綠色的五項、而運維更關注深綠色的兩項,其他項筆者暫時沒有發現有特別的用處...

  2如何在springboot應用中enable actuator?

  compile

  'org.springframework.boot:spring-boot-starter-actuator:1.3.6.RELEASE'

  3自定義已有的endpoints

  1) 每個endpoint都可以在application.properties里面用 endpoints.[endpoint].[id|sensitive|enabled]來重定義其默認值。

  例如:

?這樣就將autoconfig這個endpoint的path修改為了auto_cfg,本著約定優于配置原則,沒有特殊需求,筆者不建議做此類修改。

  2) 自定義 /health endpoint

  當springboot應用跑起來之后,你可以通過訪問該接口獲得應用的健康狀態。

例如,圖片中的 “ status:"UP" ” 即表明應用的健康狀態,diskSpace 當中的單位為bytes. 表明了該應用目前硬盤的健康狀態:

  紅色箭頭為我在health endpoint中自定義的 rabbitMQ healthCheckIndicator. 用于檢查我的應用所依賴的rabbitMQ的健康狀態。具體實現方式如下:

  您需要實現HealthIndicator 接口或者繼承AbstractHealthIndicator

?

3) 自定義 /metrics endpoint

  正如一的表格當中所講的, metrics是最重要的endpoint之一。

?

紅色箭頭所指向兩個gauge指標是我fake的一個queue所對應有幾個consumer, 有幾條還在queue中未被消費的消息數量,具體自定義方式如下:

?

如果想要自定義一些metrics, 如api的訪問次數、消息數量成功處理次數、消息處理失敗次數則可以自定義如下,也會展示在metrics接口中:

?

4) 自定義 /info endpoint   在application.properties中, 添加自定義字段,如下

?

訪問效果:

?

4創建一個新的endpoint

  您需要實現Endpoint 接口或者繼承AbstractEndpoint。

?

訪問效果:

?

?

還有其他的一些自定義,開發可以不用特別關心 。

  5非Springboot的Spring應用, 集成spring actuator

  添加依賴:

  compile('org.springframework.boot:spring-boot-actuator'){ exclude group: 'org.springframework.boot',

  module:'spring-boot-starter-logging'}

  1) 使用 AnnotationConfigWebApplicationContext :

  并在 Spring初始化config bean的上面添加@EnableAutoConfiguration 即可。詳情見附錄3。

  2) 使用 XML 方式的nonboot - spring 應用

  在任一Spring生命周期的Component bean上 添加@EnableAutoConfiguration 即可。

  也可以@Autowire 這些Endpoint自定義訪問路徑。詳情見附錄4

  術語解釋:

  術語

  描述

  Gauge

  Gauge代表一個度量的即時值。當你開汽車的時候,當前速度是Gauge值。你測體溫的時候,體溫計的刻度是一個Gauge值。當你的程序運行的時候,內存使用量和CPU占用率都可以通過Gauge值來度量。

  Counter

  Counter是一個AtomicLong實例,可以增加或者減少值。例如,可以用它來計數隊列中加入的Job的總數、可以統計api總計的訪問次數。

  附錄:

  • 集成springboot actuator到非springboot spring應用中 : https://stackoverflow.com/questions/26913087/use-spring-boot-actuator-without-a-spring-boot-application

  • 本文所用的springboot源碼: https://github.com/Agileaq/springboot-actuator

  • 非springboot的annotationConfig spring web應用源碼: https://github.com/Agileaq/nonboot-actuator-example

  • 非springboot的xml base web應用源碼: https://github.com/Agileaq/nonboot-xml-spring-actuator

  • English version of Spring Actuator introduction: http://www.baeldung.com/spring-boot-actuators

  • 黑幫文章——神荼之眼監控系統(后臺回復【神荼之眼】即可查看)

  • 黑幫文章——高顏值繪圖工具Grafana(后臺回復【Grafana】即可查看)

  •   

    本文作者:錢晟龍 Arc_Qian(點融黑幫),現任點融網架構組產品研發工程師,主要任務是思考并嘗試解決各類點融網邁出第一公里之后遇到的現實問題。

      隨著點融網新一輪融資,點融網即將開始大規模的擴張,需要各種優秀人才的加入,如果你覺得自己夠優秀,歡迎加入我們!獲取更多職位信息,請關注點融黑幫。

    ?

    轉載于:https://www.cnblogs.com/zhao1949/p/6373104.html

    總結

    以上是生活随笔為你收集整理的老司机的应用级监控——spring?actuator的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。