使用spring-boot-admin對spring-boot服務(wù)進(jìn)行監(jiān)控的實(shí)現(xiàn)方法
spring-boot-admin,簡稱SBA,是一個(gè)針對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/
只需簡單幾步,就可以配置和使用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)控端注冊自己:
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í)無法識別主機(jī)名的問題
url: http://localhost:64000/svc-monitor # 向服務(wù)端注冊的地址
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)目版本號,需要在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)控端啟動的時(shí)候出現(xiàn)InetAddress.getLocalHost() throws UnknownHostException錯誤,是因?yàn)闆]配置本機(jī)機(jī)器名和ip的對應(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)控端都啟動后,訪問: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)控這個(gè)服務(wù)。此方法調(diào)試起來比較復(fù)雜,這里先不介紹了。
總結(jié)
以上所述是小編給大家介紹的使用spring-boot-admin對spring-boot服務(wù)進(jìn)行監(jiān)控的實(shí)現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java的新特性反射機(jī)制應(yīng)用及操作示例詳解
這篇文章主要為大家介紹了java的新特性反射機(jī)制的操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
關(guān)于Java8的foreach中使用return/break/continue產(chǎn)生的問題
這篇文章主要介紹了關(guān)于Java8的foreach()中使用return/break/continue產(chǎn)生的問題,在使用foreach()處理集合時(shí)不能使用break和continue這兩個(gè)方法,也就是說不能按照普通的for循環(huán)遍歷集合時(shí)那樣根據(jù)條件來中止遍歷,需要的朋友可以參考下2023-10-10
Java 序列化詳解及簡單實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了 Java 序列化詳解及簡單實(shí)現(xiàn)實(shí)例的相關(guān)資料,使用序列化目的:以某種存儲形式使自定義對象持久化,將對象從一個(gè)地方傳遞到另一個(gè)地方,需要的朋友可以參考下2017-03-03
如何使用IDEA2022.1?創(chuàng)建Spring?Boot項(xiàng)目
這篇文章主要介紹了如何使用IDEA2022.1?創(chuàng)建Spring?Boot項(xiàng)目,大家在使用idea開發(fā)工具時(shí)發(fā)現(xiàn)給以往的版本略微的不同,細(xì)心的小編在此記錄下,需要的朋友可以參考下2022-08-08
JavaWeb實(shí)現(xiàn)同一帳號同一時(shí)間只能一個(gè)地點(diǎn)登陸(類似QQ登錄的功能)
最近做了企業(yè)項(xiàng)目,其中有這樣的需求要求同一帳號同一時(shí)間只能一個(gè)地點(diǎn)登陸類似QQ登錄的功能。下面小編通過本文給大家分享實(shí)現(xiàn)思路,感興趣的朋友參考下吧2016-11-11
詳解SpringBoot結(jié)合策略模式實(shí)戰(zhàn)套路
這篇文章主要介紹了詳解SpringBoot結(jié)合策略模式實(shí)戰(zhàn)套路,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

