Spring boot監(jiān)控Actuator-Admin實(shí)現(xiàn)過(guò)程詳解
Actuator是監(jiān)控管理,不過(guò)沒(méi)有可視化,這里就引入了admin-ui來(lái)解決Spring Boot Admin 分為Client端和Server端Client端是客戶端Server端是spring-boot-admin來(lái)監(jiān)控client的.先來(lái)一個(gè)Client客戶端代碼;
<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <artifactId>spring-boot-demo-admin-client</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <name>spring-boot-demo-admin-client</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.xkcoding</groupId> <artifactId>spring-boot-demo-admin</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <finalName>spring-boot-demo-admin-client</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.yml文件,注意這里的url一定跑配置到Server的路徑,不然找不到,有點(diǎn)類型erkura的注冊(cè)中心地址.
server: port: 8081 servlet: context-path: /demospring: application: # Spring Boot Admin展示的客戶端項(xiàng)目名,不設(shè)置,會(huì)使用自動(dòng)生成的隨機(jī)id name: spring-boot-demo-admin-client boot: admin: client: # Spring Boot Admin 服務(wù)端地址 url: 'http://localhost:8080/' instance: metadata: # 客戶端端點(diǎn)信息的安全認(rèn)證信息 user.name: ${spring.security.user.name} user.password: ${spring.security.user.password} security: user: name: xkcoding password: 123456management: endpoint: health: # 端點(diǎn)健康情況,默認(rèn)值'never',設(shè)置為'always'可以顯示硬盤(pán)使用情況和線程情況 show-details: always endpoints: web: exposure: # 設(shè)置端點(diǎn)暴露的哪些內(nèi)容,默認(rèn)['health','info'],設(shè)置'*'代表暴露所有可訪問(wèn)的端點(diǎn) include: '*'
Java文件就隨便暴露個(gè)接口就行
package com.xkcoding.admin.client.controller; import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController; /** * <p> * 首頁(yè) * </p> * * @package: com.xkcoding.admin.client.controller * @description: 首頁(yè) * @author: yangkai.shen * @date: Created in 2018/10/8 2:15 PM * @copyright: Copyright (c) 2018 * @version: V1.0 * @modified: yangkai.shen */@RestControllerpublic class IndexController { @GetMapping(value = {'', '/'}) public String index() { return 'This is a Spring Boot Admin Client.'; }}
接下來(lái)是Server服務(wù)端,作為監(jiān)控平臺(tái)使用pom.xml
<?xml version='1.0' encoding='UTF-8'?><project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <artifactId>spring-boot-demo-admin-server</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <name>spring-boot-demo-admin-server</name> <description>Demo project for Spring Boot</description> <parent> <groupId>com.xkcoding</groupId> <artifactId>spring-boot-demo-admin</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <finalName>spring-boot-demo-admin-server</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
application.yml
server: port: 8080
運(yùn)行服務(wù)端地址,發(fā)現(xiàn)已經(jīng)檢測(cè)到了注冊(cè)過(guò)的客戶端
可以看到客戶端的信息
http追蹤可以看到請(qǐng)求
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊2. Spring如何使用xml創(chuàng)建bean對(duì)象3. Android Studio設(shè)置顏色拾色器工具Color Picker教程4. HTML 絕對(duì)路徑與相對(duì)路徑概念詳細(xì)5. python實(shí)現(xiàn)在內(nèi)存中讀寫(xiě)str和二進(jìn)制數(shù)據(jù)代碼6. python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法7. Vue proxyTable配置多個(gè)接口地址,解決跨域的問(wèn)題8. Java程序的編碼規(guī)范(6)9. python 利用toapi庫(kù)自動(dòng)生成api10. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法
