电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

一文搞懂并學會使用SpringBoot的Actuator運行狀態監控組件的詳細教程

瀏覽:50日期:2023-08-16 13:46:27

目錄閑言碎語:背景Actuator介紹Rest方法來查看Actuatorpom.xml引入Actuator依賴配置application.yml運行項目Actuator配合SpringBootSecurity配置application.xml運行項目配置關閉項目API端口配置application.yml命令行執行post關閉指令附:Actuator端口信息附:SpringBoot自帶的健康指示器贈言

閑言碎語:

  最近刷抖音,看到了星爺的很多電影,感嘆星爺給后世留下了很多的經典作品,我就在想,作為一名程序員,如何留下影響后人的經典傳世之作呢,不經意間看到了一篇大佬的文章,已經近百萬人瀏覽,這就是對后人的一種影響,然后就有了寫這篇博客的沖動,結合最近在學習的SpringCloud,對每一個組件的原理和使用都進行深度的學習和理解,然后將心得寫在博客里,如果有不對的地方還請大佬進行指正,小弟不勝感激

背景

  微服務之后,系統結構拆分隨著業務發展越來越微型化,也意味著節點會呈現幾何數量級增長。每個一個節點都是系統組成部分,如何保持如此多節點的可用性是一件非常有挑戰的工作。  全方位監控變得越來越重要,當我們遇到bug時,總是希望可以看到更多信息,因此一般我們選用的服務開發框架都需要有方便又強大的監控功能支持。  Spring Boot Actuator便可以幫助我們全方面監控應用節點.  比如健康檢查、審計、統計、HTTP追蹤等。我們可以通過JMX或者HTTP endpoints來獲得。spring Boot Admin配合下可以進行頁面展示,也和可以與其它外部應用系統系統整合。

Actuator介紹

  Actuator是SpringBoot的一個非常重要的功能,Actuator 為開發人員提供了SpringBoot運行狀態信息,通過Actuator可以查看程序的運行狀態的信息。同時它提供了運行狀態的監控功能,Actuator的監控功能可以通過Rest、遠程shell、JMX方式獲得,首先我們介紹Rest方法來查看Actuator的節點方法,這種是十分簡單的方法。  Spring Boot Actuator 的關鍵特性是在應用程序里提供眾多的Web節點,通過這些節點可以實時地了解應用程序的運行狀況。有了Actuator,你可以知道Bean在Spring應用程序上下文里是如何組裝在一 起的,并且可以獲取環境屬性的信息和運行時度量信息等。

Rest方法來查看Actuator

pom.xml引入Actuator依賴

首先在pom.xml種引入spring-boot-starter-actuator依賴,代碼如下:

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

配置application.yml

  在application.yml中配置management.port和management.security.enabled,這倆是向外暴露actuator的端口和actuator的非安全驗證方式。  在這里指定actuator對外暴露的RestApi端口為9091,Spring1.5x默認采用了Actuator安全驗證,為了能夠在瀏覽器上展示效果,不做安全驗證,將其設置為false。

management: server: port: 9091 # 對外暴露API接口端口為9001 servlet: context-path: /sys security: enabled: false # 這是為了在瀏覽器上展示效果 所以設置為false endpoints: web: exposure: include: '*' # include表示需要暴露的endpoint,配置時使用“,”隔開,你也可以用*讓所有endpoint暴露出來 endpoint: health: enabled: true show-details: always # health endpoint只展示了簡單的UP和DOWN狀態。為了獲得健康檢查中所有指標的詳細信息,可以設置其展示詳細信息。 shutdown: enabled: true

  management.endpoint.health.show-details默認值為never,除了always之外還有when-authorized。  exclude表示在暴露endpoint時,排除掉哪些,同樣使用“,”隔開,例如management.endpoints.web.exposure.exclude=info # 排除info

  注意:如果不指定會默認采用程序的啟動端口,這樣做的目的就是將監控端口與項目端口進行區分。  不配置監控端口:localhost:8080/actuator/  配置監控端口:localhost:9091/sys/actuator/  特別注意:在2.0之后的版本訪問地址必須要加上/actuator/才可以

運行項目

  就可以看到詳細的信息了,以health為例:

請求路徑:http://localhost:9091/sys/actuator/health{status: 'UP',components: {diskSpace: {status: 'UP',details: {total: 161062318080,free: 103786217472,threshold: 10485760,exists: true}},ping: {status: 'UP'} }}

Actuator配合SpringBootSecurity

  actuator可以配合security進行權限控制,從而保護endpint。  首先在pom.xml中引入SpringBootSecurity依賴:

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

配置application.xml

  添加:

spring.security.user.name = adminspring.security.user.password = admin

  這樣在我們訪問localhost:9091/sys/actuator/的時候就會自動跳轉到安全登錄頁面,提示我們輸入用戶名和密碼。

security: user: name: admin password: admin

運行項目

  我們的請求路徑由http://localhost:9091/sys/actuator/自動變成了http://localhost:9091/sys/login,輸入配置好的用戶名和密碼,就可以看到對應的各種Api端口信息。

一文搞懂并學會使用SpringBoot的Actuator運行狀態監控組件的詳細教程

配置關閉項目API端口

配置application.yml

  在endpoint后配置shutdown端口為true,默認情況下系統是關閉該端口,防止他人的惡意關閉項目,是出于對系統的一種保護行為。

endpoint: health: enabled: true show-details: always shutdown: enabled: true

注意:在這里我們利用cmd窗口以命令行的形式來模擬post請求,如果在瀏覽器直接請求的話會報錯,后臺會提示Request method ‘GET’ not supported。也就是說不支持get請求,我們需要用post。

命令行執行post關閉指令

  在命令行中輸入:

$ curl -X POST localhost:9091/actuator/shutdown

  然后命令行提示:

{“message”:“Shutting down, bye…”}

  項目就處于關閉狀態了!

附:Actuator端口信息

類型 Api端口 描述 get auditevents 顯示應用暴露的審計事件 (比如認證進入、訂單失敗) get info 顯示應用的基本信息 get health 顯示應用的健康狀態 get metrics 顯示應用多樣的度量信息 get loggers 顯示和修改配置的loggers get logfile 返回log file中的內容(如果logging.file或者logging.path被設置) get httptrace 顯示Liquibase 數據庫遷移的纖細信息 get env 顯示當前的環境特性 get flyway 顯示數據庫遷移路徑的詳細信息 get liquidbase 顯示數據庫遷移路徑的詳細信息 post shutdown 讓你逐步關閉應用 get mappings 顯示所有的@RequestMapping路徑 get scheduledtasks 顯示應用中的調度任務 get threaddump 執行一個線程dump get heapdump 返回一個GZip壓縮的JVM堆dump

附:SpringBoot自帶的健康指示器

指示器 鍵 內容 ApplicationHealthIndicator none 永遠為UP DataSourceHealthIndicator db 如果數據庫能連上,則為up,否則為down DiskSpaceHealthIndicator diskSpace 如果可用空間大于閾值,則為up和可用磁盤空間,如果空間不足,則為down JmsHealthIndicator jms 如果能連上消息代理,則為up,否則為down MailHealthIndicator mail 如果能連上郵件服務器,則為up和郵件主機和端口,否則為down MangoHealthIndicator mongo 如果能連上MangoDB服務器,則為up和MongoDB服務器版本,否則為down RabbitHealthIndicator rabbit 如果能連上RabbitMQ服務器,則為up和MongoDB服務器版本,否則為down RedisHealthIndicator redis 如果能連上Redis服務器,則為up和服務器版本,否則為down SolrHealthIndicator solr 如果能連上Solr服務器,則為up和服務器版本,否則為down

總結

到此這篇關于一文搞懂并學會使用SpringBoot的Actuator運行狀態監控組件的文章就介紹到這了,更多相關spring boot 運行狀態監控內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | IHDW_TOSOKU_NEMICON_EHDW系列电子手轮,HC1系列电子手轮-上海莆林电子设备有限公司 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 仓储笼_金属箱租赁_循环包装_铁网箱_蝴蝶笼租赁_酷龙仓储笼租赁 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 亚克力制品定制,上海嘉定有机玻璃加工制作生产厂家—官网 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 |