zoukankan      html  css  js  c++  java
  • Spring boot 监控Actuator-Admin

    Actuator是监控管理,不过没有可视化,这里就引入了admin-ui来解决
     
    Spring Boot Admin 分为Client端和Server端
     
    Client端是客户端
    Server端是spring-boot-admin来监控client的.
     
    先来一个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的路径,不然找不到,有点类型erkura的注册中心地址.

    server:
      port: 8081
      servlet:
        context-path: /demo
    spring:
      application:
        # Spring Boot Admin展示的客户端项目名,不设置,会使用自动生成的随机id
        name: spring-boot-demo-admin-client
      boot:
        admin:
          client:
            # Spring Boot Admin 服务端地址
            url: "http://localhost:8080/"
            instance:
              metadata:
                # 客户端端点信息的安全认证信息
                user.name: ${spring.security.user.name}
                user.password: ${spring.security.user.password}
      security:
        user:
          name: xkcoding
          password: 123456
    management:
      endpoint:
        health:
          # 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
          show-details: always
      endpoints:
        web:
          exposure:
            # 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
            include: "*"
    

      

    Java文件就随便暴露个接口就行

    package com.xkcoding.admin.client.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * <p>
     * 首页
     * </p>
     *
     * @package: com.xkcoding.admin.client.controller
     * @description: 首页
     * @author: yangkai.shen
     * @date: Created in 2018/10/8 2:15 PM
     * @copyright: Copyright (c) 2018
     * @version: V1.0
     * @modified: yangkai.shen
     */
    @RestController
    public class IndexController {
       @GetMapping(value = {"", "/"})
       public String index() {
          return "This is a Spring Boot Admin Client.";
       }
    }
    

      

    接下来是Server服务端,作为监控平台使用
    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 
    运行服务端地址,发现已经检测到了注册过的客户端

    可以看到客户端的信息

    http追踪可以看到请求

  • 相关阅读:
    Nova中的系统状态分析
    nova Flavors
    NovaException: Unexpected vif_type=binding_failed
    nova Reboot (重启)
    nova Rescue 和 Unrescue
    nova shelve
    nova Evacuate
    ceilometer alarm 创建过程中的DB操作及优化
    Ceilometer 数据库比较
    network namespace连接的4种方法及性能
  • 原文地址:https://www.cnblogs.com/sunxun/p/13634230.html
Copyright © 2011-2022 走看看