使用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服务进行监控的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot Redis缓存数据实现解析

    SpringBoot Redis缓存数据实现解析

    这篇文章主要介绍了SpringBoot Redis缓存数据实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • java 实现图片像素质量压缩与图片长宽缩放

    java 实现图片像素质量压缩与图片长宽缩放

    这篇文章主要介绍了java 实现图片像素质量压缩与图片长宽缩放,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • JavaWeb Hibernate使用全面介绍

    JavaWeb Hibernate使用全面介绍

    在正式进入Hibernate的高级应用之前,需要了解声明是数据模型与领域模型,这两个概念将会帮助我们更好的理解实体对象的关联关系映射
    2022-10-10
  • java基础的详细了解第三天

    java基础的详细了解第三天

    这篇文章对Java编程语言的基础知识作了一个较为全面的汇总,在这里给大家分享一下。需要的朋友可以参考,希望能给你带来帮助
    2021-08-08
  • Springboot如何优雅地进行字段校验

    Springboot如何优雅地进行字段校验

    这篇文章主要给大家介绍了关于Springboot如何优雅地进行字段校验的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 如何用java给一个文件夹打成压缩包(附代码)

    如何用java给一个文件夹打成压缩包(附代码)

    项目中需要将文件夹打包成压缩包下载,所以下面这篇文章主要给大家介绍了关于如何用java给一个文件夹打成压缩包的相关资料,文中给出了详细的代码示例,需要的朋友可以参考下
    2023-10-10
  • Spring cloud Hystrix注解初始化源码过程解读

    Spring cloud Hystrix注解初始化源码过程解读

    这篇文章主要为大家介绍了Hystrix初始化部分,我们从源码的角度分析一下@EnableCircuitBreaker以及@HystrixCommand注解的初始化过程,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-12-12
  • java算法入门之有效的括号删除有序数组中的重复项实现strStr

    java算法入门之有效的括号删除有序数组中的重复项实现strStr

    大家好,我是哪吒,一个热爱编码的Java工程师,本着"欲速则不达,欲达则欲速"的学习态度,在程序猿这条不归路上不断成长,所谓成长,不过是用时间慢慢擦亮你的眼睛,少时看重的,年长后却视若鸿毛,少时看轻的,年长后却视若泰山,成长之路,亦是渐渐放下执念,内心归于平静的旅程
    2021-08-08
  • 浅谈Java中的高精度整数和高精度小数

    浅谈Java中的高精度整数和高精度小数

    本篇文章主要介绍了浅谈Java中的高精度整数和高精度小数,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Tomcat+JDK安装和配置教程

    Tomcat+JDK安装和配置教程

    这篇文章主要为大家详细介绍了Tomcat+JDK安装和配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论