使用spring-boot-admin对spring-boot服务进行监控的实现方法

 更新时间:2018年02月11日 10:11:46   作者:Clement-Xu  
这篇文章主要介绍了使用spring-boot-admin对spring-boot服务进行监控的实现方法,需要的朋友可以参考下

spring-boot-admin,简称SBA,是一个针对spring-boot的actuator接口进行UI美化封装的监控工具。他可以:在列表中浏览所有被监控spring-boot项目的基本信息,详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,还可以直接修改logger的level。

官网:https://github.com/codecentric/spring-boot-admin

使用指南:http://codecentric.github.io/spring-boot-admin/1.5.0/

只需简单几步,就可以配置和使用SBA(分为监控端和被监控端):

监控端:

1、创建项目(略)

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/ #统一为访问的url加上一个前缀 

以上配置是为了指定一个特别的访问路径。如果不这样配置,则访问路径为:http://localhost:64000

4、使用@EnableAdminServer注解激活SBA:

@SpringBootApplication 
@EnableScheduling 
@EnableAdminServer 
public class SvcMonitorApplication { 
  public static void main(String[] args) { 
    SpringApplication.run(SvcMonitorApplication.class, args); 
  } 
} 

被监控端(spring-boot项目)向监控端注册自己:

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下运行时无法识别主机名的问题 
   url: http://localhost:64000/svc-monitor # 向服务端注册的地址 
management: 
 port: 64001 
 security: 
  enabled: false # spring-boot 1.5.2之后严格执行安全策略,所以需要配置这个为false 
info: #定义各种额外的详情给服务端显示 
 app: 
  name: "@project.name@" #从pom.xml中获取 
  description: "@project.description@" 
  version: "@project.version@" 
  spring-boot-version: "@project.parent.version@" 

3、其他配置:

如果需要显示项目版本号,需要在pom.xml中添加这个(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、问题解决:

如果发现被监控端启动的时候出现InetAddress.getLocalHost() throws UnknownHostException错误,是因为没配置本机机器名和ip的对应关系。
解决方法:

编辑hosts文件:

vi /etc/hosts

添加ip和机器名的关联:192.168.0.31 host31 myhost-31

监控端和被监控端都启动后,访问:http://localhost:64000/svc-monitor/sba,就可以看到被监控服务的各种详情了。

以上是被监控端主动注册法。

还有另外一种方法是:如果被监控端已经使用了Spring Cloud向Eureka注册了服务,则可以由监控端直接去Euraka中发现并监控这个服务。此方法调试起来比较复杂,这里先不介绍了。

总结

以上所述是小编给大家介绍的使用spring-boot-admin对spring-boot服务进行监控的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java中常见字符串拼接九种方式详细例子

    Java中常见字符串拼接九种方式详细例子

    这篇文章主要给大家介绍了关于Java中常见字符串拼接的九种方式,字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • java中的tostring方法的具体用法

    java中的tostring方法的具体用法

    这篇文章主要介绍了java中的tostring方法的具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起学习一下吧
    2019-06-06
  • 详解Java的MyBatis框架与Spring框架整合中的映射器注入

    详解Java的MyBatis框架与Spring框架整合中的映射器注入

    映射器注入方式可以将MyBatis与Spring映射好的XML文件实现配置共用,这里我们就来详解Java的MyBatis框架与Spring框架整合中的映射器注入:
    2016-06-06
  • Spring Cloud升级最新Finchley版本的所有坑

    Spring Cloud升级最新Finchley版本的所有坑

    这篇文章主要介绍了Spring Cloud升级最新Finchley版本的所有坑,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • springMVC前台传数组类型,后台用list类型接收实例代码

    springMVC前台传数组类型,后台用list类型接收实例代码

    这篇文章主要介绍了springMVC前台传数组类型,后台用list类型接收实例代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java并发编程之线程池实现原理详解

    Java并发编程之线程池实现原理详解

    池化思想是一种空间换时间的思想,期望使用预先创建好的对象来减少频繁创建对象的性能开销,java中有多种池化思想的应用,例如:数据库连接池、线程池等,下面就来具体讲讲
    2023-05-05
  • 关于java.util.Random的实现原理详解

    关于java.util.Random的实现原理详解

    Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法,下面这篇文章主要给大家介绍了关于java.util.Random实现原理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-08-08
  • 异常排查记录amqp协议链接陷阱

    异常排查记录amqp协议链接陷阱

    这篇文章主要介绍了一次关于amqp协议链接陷阱-An unexpected connection driver error occured的异常排查记录,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • 解决JAVA非对称加密不同系统加密结果不一致的问题

    解决JAVA非对称加密不同系统加密结果不一致的问题

    这篇文章主要介绍了解决JAVA非对称加密不同系统加密结果不一致的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Java实现将TXT文本文件转换为PDF文件

    Java实现将TXT文本文件转换为PDF文件

    与TXT文本文件,PDF文件更加专业也更适合传输,所以这篇文章小编主要为大家详细介绍了如何使用Java实现将TXT文本文件转换为PDF文件 ,需要的可以参考下
    2024-02-02

最新评论