详解使用spring boot admin监控spring cloud应用程序

 更新时间:2017年11月16日 11:42:36   作者:Lovnx  
本篇文章主要介绍了详解使用spring boot admin监控spring cloud应用程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Spring Boot提供的监控接口,例如:/health、/info等等,实际上除了之前提到的信息,还有其他信息业需要监控:当前处于活跃状态的会话数量、当前应用的并发数、延迟以及其他度量信息。

最近在找一个spring cloud的监控组件,要求粒度要到每一个接口的,hystrix dashboard显然不适合,也不是这个应用场景。后来发现了spring boot admin这个神器,可以注册到Eureka和spring cloud无缝整合,页面AngularJS写的还算凑合,里面包含有许多功能:

显示 name/id 和版本号

显示在线状态

Logging日志级别管理

JMX beans管理

Threads会话和线程管理

Trace应用请求跟踪

应用运行参数信息,如:

Java 系统属性

Java 环境变量属性

内存信息

Spring 环境属性

好了,不多说,直接上和eureka整合的代码,它可以通过eureka注册表里面的信息来对每一个服务进行监控。

1、构建service-admin工程,pom如下:

<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>com.lovnx</groupId>
  <artifactId>micro-service</artifactId>
  <version>0.0.1-SNAPSHOT</version>
 </parent>
 <artifactId>service-admin</artifactId>
 <packaging>jar</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.7</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency> 
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-server</artifactId>
      <version>1.4.6</version>
    </dependency>
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-server-ui</artifactId>
      <version>1.4.6</version>
    </dependency>
    <dependency>
      <groupId>org.jolokia</groupId>
      <artifactId>jolokia-core</artifactId>
    </dependency> 
  </dependencies>

    <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Camden.SR5</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

2、启动主类:

package com.lovnx;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Configuration;

import de.codecentric.boot.admin.config.EnableAdminServer;

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class SpringBootAdminApplication {
  public static void main(String[] args) {
    SpringApplication.run(SpringBootAdminApplication.class, args);
  }
}

3、配置文件application.properties:

server.port=7088
spring.application.name=service-admin
eureka.client.serviceUrl.defaultZone=http://localhost:7070/eureka/
management.security.enabled=false
info.version=@project.version@

4、logback.xml(实现日志级别修改功能):

<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
  <jmxConfigurator/>
</configuration>

5、启动:

这里写图片描述 

这里写图片描述 

这里写图片描述 

这里写图片描述 

这里写图片描述

6、注意:

如果要监控注册到eureka的服务,必须要在这个服务里面引入:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

来开启一些管理功能,且须在配置文件加入一句:

management.security.enabled=false

关闭安全验证。

代码托管:https://github.com/Lovnx/micro-service

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于springboot加载yml配置文件的no字段自动转义问题

    关于springboot加载yml配置文件的no字段自动转义问题

    这篇文章主要介绍了关于springboot加载yml配置文件的no字段自动转义问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 一文读懂ava中的Volatile关键字使用

    一文读懂ava中的Volatile关键字使用

    volatile关键字的作用保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象。这篇文章主要介绍了ava中的Volatile关键字使用,需要的朋友可以参考下
    2020-03-03
  • Spring Boot2.X国际化文件编写配置

    Spring Boot2.X国际化文件编写配置

    这篇文章主要介绍了Spring Boot2.X国际化文件编写配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • springboot+vue+elementsUI实现分角色注册登录界面功能

    springboot+vue+elementsUI实现分角色注册登录界面功能

    这篇文章主要给大家介绍了关于springboot+vue+elementsUI实现分角色注册登录界面功能的相关资料,Spring Boot和Vue.js是两个非常流行的开源框架,可以用来构建Web应用程序,需要的朋友可以参考下
    2023-07-07
  • Java中equals()知识点总结

    Java中equals()知识点总结

    在本篇文章里小编给大家分享的是关于Java中equals()知识点总结内容,需要的朋友们可以学习参考下。
    2020-03-03
  • java并发编程专题(十一)----(JUC原子类)数组类型详解

    java并发编程专题(十一)----(JUC原子类)数组类型详解

    这篇文章主要介绍了JAVA JUC原子类 数组类型详解的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Java构造方法 super 及自定义异常throw合集详解用法

    Java构造方法 super 及自定义异常throw合集详解用法

    异常是程序中的一些错误,但不是所有错误都是异常,且错误有时候是可以避免的,super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类,构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化
    2021-10-10
  • java简单选择排序实例

    java简单选择排序实例

    这篇文章主要为大家详细介绍了java简单选择排序实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 详解Mybatis中的CRUD

    详解Mybatis中的CRUD

    这篇文章主要介绍了Mybatis中的CRUD的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java版水果管理系统源码

    Java版水果管理系统源码

    这篇文章主要为大家详细介绍了Java版水果管理系统源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01

最新评论