您好,登錄后才能下訂單哦!
spring-boot-admin,簡稱SBA,是一個針對spring-boot的actuator接口進行UI美化封裝的監控工具。他可以:在列表中瀏覽所有被監控spring-boot項目的基本信息,詳細的Health信息、內存信息、JVM信息、垃圾回收信息、各種配置信息(比如數據源、緩存列表和命中率)等,還可以直接修改logger的level。
官網:https://github.com/codecentric/spring-boot-admin
使用指南:http://codecentric.github.io/spring-boot-admin/1.5.0/
只需簡單幾步,就可以配置和使用SBA(分為監控端和被監控端):
監控端:
1、創建項目(略)
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/ #統一為訪問的url加上一個前綴
以上配置是為了指定一個特別的訪問路徑。如果不這樣配置,則訪問路徑為:http://localhost:64000
4、使用@EnableAdminServer注解激活SBA:
@SpringBootApplication @EnableScheduling @EnableAdminServer public class SvcMonitorApplication { public static void main(String[] args) { SpringApplication.run(SvcMonitorApplication.class, args); } }
被監控端(spring-boot項目)向監控端注冊自己:
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 # 向服務端注冊的地址 management: port: 64001 security: enabled: false # spring-boot 1.5.2之后嚴格執行安全策略,所以需要配置這個為false info: #定義各種額外的詳情給服務端顯示 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、問題解決:
如果發現被監控端啟動的時候出現InetAddress.getLocalHost() throws UnknownHostException
錯誤,是因為沒配置本機機器名和ip的對應關系。
解決方法:
編輯hosts文件:
vi /etc/hosts
添加ip和機器名的關聯:192.168.0.31 host31 myhost-31
監控端和被監控端都啟動后,訪問:http://localhost:64000/svc-monitor/sba,就可以看到被監控服務的各種詳情了。
以上是被監控端主動注冊法。
還有另外一種方法是:如果被監控端已經使用了Spring Cloud向Eureka注冊了服務,則可以由監控端直接去Euraka中發現并監控這個服務。此方法調試起來比較復雜,這里先不介紹了。
總結
以上所述是小編給大家介紹的使用spring-boot-admin對spring-boot服務進行監控的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。