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