溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何創(chuàng)建SpringBoot Admin應(yīng)用

發(fā)布時間:2021-12-16 09:26:56 來源:億速云 閱讀:155 作者:iii 欄目:軟件技術(shù)

本篇內(nèi)容介紹了“如何創(chuàng)建SpringBoot Admin應(yīng)用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、SrpingBoot Admin 介紹

Spring Boot Admin 是一個開源社區(qū)項目,用于管理和監(jiān)控 SpringBoot 應(yīng)用程序,展示Spring Boot Admin Client 的 Actuator 端點上的一些監(jiān)控信息。

了解springcloud架構(gòu)可以加求求:三五三六二四七二五九

它為應(yīng)用程序提供以下功能:

顯示應(yīng)用健康狀況

關(guān)注并下載日志文件

查看jvm系統(tǒng)和環(huán)境屬性

查看Spring Boot配置屬性

支持Spring Cloud的postable / env-和/ refresh-endpoint

輕松的日志級管理

二、SrpingCloud Kubernetes 介紹

Spring Cloud Kubernetes 提供 Kubernetes 環(huán)境下服務(wù)發(fā)現(xiàn)的 Spring Cloud 通用接口實現(xiàn)。主要目的是促進(jìn)在 Kubernetes 中運行的 Spring Cloud 和 Spring Boot 應(yīng)用程序的集成。

這里我們主要用 SpringCloud Kubernetes 來為 SpringBoot Admin 提供 Kubernetes 環(huán)境下的服務(wù)發(fā)現(xiàn)。

三、創(chuàng)建 SpringBoot Admin 應(yīng)用

創(chuàng)建 SpringBoot Admin 應(yīng)用,且引入 SpringCloud Kubernetes 作為服務(wù)發(fā)現(xiàn)。

Maven 引入相關(guān)依賴

在 Maven 中引入 “spring-boot-admin-starter-server” 與 “spring-cloud-kubernetes-discovery” 依賴。

<?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>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath/>
    </parent>
    <groupId>club.mydlq</groupId>
    <artifactId>springboot-admin-k8s</artifactId>
    <version>0.0.2</version>
    <name>springboot-admin-k8s</name>
    <description>demo</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--SpringBoot Admin-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.1.5</version>
        </dependency>
        <!--SpringCloud Kubernetes-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-kubernetes-discovery</artifactId>
            <version>1.0.2.RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

配置 application 文件

加上兩個參數(shù):

  • spring.cloud.kubernetes.discovery.primaryPortName:

  • spring.cloud.kubernetes.discovery.serviceLabels:

server:
  port: 8080
  
management:
  server:
    port: 8081                          #---指定監(jiān)控數(shù)據(jù)端口為8081,避免和 server.port 一致產(chǎn)生風(fēng)險
  endpoints:
    web:
      exposure:
        include: "*"
spring:
  application:
    name: springboot-admin-k8s
  cloud:
    kubernetes:
      discovery:
        primaryPortName: management     #---按設(shè)要監(jiān)控 Service 的端口名稱
        serviceLabels:
          admin: enabled                #---設(shè)置要監(jiān)控 Service 的 Label 標(biāo)簽

啟動類

需要加上四個注解:

@SpringBootApplication:開啟 SpringBoot 相關(guān)注解,會自動配置相關(guān)信息。

@EnableDiscoveryClient:開啟 Spring服務(wù)發(fā)現(xiàn)機(jī)制。

@EnableAdminServer:開啟 SpringBoot Admin。

@EnableScheduling:開啟定時任務(wù),不加此注解服務(wù)發(fā)現(xiàn)不會執(zhí)行定時刷新。

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableDiscoveryClient
@EnableAdminServer
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

“如何創(chuàng)建SpringBoot Admin應(yīng)用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI