使用spring-boot-admin對(duì)spring-boot服務(wù)進(jìn)行監(jiān)控的實(shí)現(xiàn)方法
spring-boot-admin,簡(jiǎn)稱SBA,是一個(gè)針對(duì)spring-boot的actuator接口進(jìn)行UI美化封裝的監(jiān)控工具。他可以:在列表中瀏覽所有被監(jiān)控spring-boot項(xiàng)目的基本信息,詳細(xì)的Health信息、內(nèi)存信息、JVM信息、垃圾回收信息、各種配置信息(比如數(shù)據(jù)源、緩存列表和命中率)等,還可以直接修改logger的level。
官網(wǎng):https://github.com/codecentric/spring-boot-admin
使用指南:http://codecentric.github.io/spring-boot-admin/1.5.0/
只需簡(jiǎn)單幾步,就可以配置和使用SBA(分為監(jiān)控端和被監(jiān)控端):
監(jiān)控端:
1、創(chuàng)建項(xiàng)目(略)
2、引入依賴:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>1.5.0</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>1.5.0</version> </dependency>
3、配置文件(application.yml)配置(可選):
spring: application: name: svc-monitor boot: admin: context-path: /sba # 配置訪問路徑為:http://localhost:64000/svc-monitor/sba server: port: 64000 context-path: /svc-monitor/ #統(tǒng)一為訪問的url加上一個(gè)前綴
以上配置是為了指定一個(gè)特別的訪問路徑。如果不這樣配置,則訪問路徑為:http://localhost:64000
4、使用@EnableAdminServer注解激活SBA:
@SpringBootApplication @EnableScheduling @EnableAdminServer public class SvcMonitorApplication { public static void main(String[] args) { SpringApplication.run(SvcMonitorApplication.class, args); } }
被監(jiān)控端(spring-boot項(xiàng)目)向監(jiān)控端注冊(cè)自己:
1、添加依賴:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.5.0</version> </dependency>
2、配置文件(application.yml)配置:
spring: boot: admin: client: prefer-ip: true # 解決windows下運(yùn)行時(shí)無(wú)法識(shí)別主機(jī)名的問題 url: http://localhost:64000/svc-monitor # 向服務(wù)端注冊(cè)的地址 management: port: 64001 security: enabled: false # spring-boot 1.5.2之后嚴(yán)格執(zhí)行安全策略,所以需要配置這個(gè)為false info: #定義各種額外的詳情給服務(wù)端顯示 app: name: "@project.name@" #從pom.xml中獲取 description: "@project.description@" version: "@project.version@" spring-boot-version: "@project.parent.version@"
3、其他配置:
如果需要顯示項(xiàng)目版本號(hào),需要在pom.xml中添加這個(gè)(build-info):
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>build-info</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
4、問題解決:
如果發(fā)現(xiàn)被監(jiān)控端啟動(dòng)的時(shí)候出現(xiàn)InetAddress.getLocalHost() throws UnknownHostException
錯(cuò)誤,是因?yàn)闆]配置本機(jī)機(jī)器名和ip的對(duì)應(yīng)關(guān)系。
解決方法:
編輯hosts文件:
vi /etc/hosts
添加ip和機(jī)器名的關(guān)聯(lián):192.168.0.31 host31 myhost-31
監(jiān)控端和被監(jiān)控端都啟動(dòng)后,訪問:http://localhost:64000/svc-monitor/sba,就可以看到被監(jiān)控服務(wù)的各種詳情了。
以上是被監(jiān)控端主動(dòng)注冊(cè)法。
還有另外一種方法是:如果被監(jiān)控端已經(jīng)使用了Spring Cloud向Eureka注冊(cè)了服務(wù),則可以由監(jiān)控端直接去Euraka中發(fā)現(xiàn)并監(jiān)控這個(gè)服務(wù)。此方法調(diào)試起來(lái)比較復(fù)雜,這里先不介紹了。
總結(jié)
以上所述是小編給大家介紹的使用spring-boot-admin對(duì)spring-boot服務(wù)進(jìn)行監(jiān)控的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringBoot Redis緩存數(shù)據(jù)實(shí)現(xiàn)解析
這篇文章主要介紹了SpringBoot Redis緩存數(shù)據(jù)實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01java 實(shí)現(xiàn)圖片像素質(zhì)量壓縮與圖片長(zhǎng)寬縮放
這篇文章主要介紹了java 實(shí)現(xiàn)圖片像素質(zhì)量壓縮與圖片長(zhǎng)寬縮放,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Springboot如何優(yōu)雅地進(jìn)行字段校驗(yàn)
這篇文章主要給大家介紹了關(guān)于Springboot如何優(yōu)雅地進(jìn)行字段校驗(yàn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Spring?cloud?Hystrix注解初始化源碼過(guò)程解讀
這篇文章主要為大家介紹了Hystrix初始化部分,我們從源碼的角度分析一下@EnableCircuitBreaker以及@HystrixCommand注解的初始化過(guò)程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-12-12java算法入門之有效的括號(hào)刪除有序數(shù)組中的重復(fù)項(xiàng)實(shí)現(xiàn)strStr
大家好,我是哪吒,一個(gè)熱愛編碼的Java工程師,本著"欲速則不達(dá),欲達(dá)則欲速"的學(xué)習(xí)態(tài)度,在程序猿這條不歸路上不斷成長(zhǎng),所謂成長(zhǎng),不過(guò)是用時(shí)間慢慢擦亮你的眼睛,少時(shí)看重的,年長(zhǎng)后卻視若鴻毛,少時(shí)看輕的,年長(zhǎng)后卻視若泰山,成長(zhǎng)之路,亦是漸漸放下執(zhí)念,內(nèi)心歸于平靜的旅程2021-08-08