欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

五分钟解锁springboot admin监控新技巧

程序员文章站 2022-03-03 11:08:47
最近这一个月由于项目进度紧张,将近一个月没有动静。分享一下最近体会的springboot监控的一些心得体会,供一些规模不是很大的团队做一些监控。适用场景:1、项目规模不大2、用户量不是很大、并发要求不...

最近这一个月由于项目进度紧张,将近一个月没有动静。分享一下最近体会的springboot监控的一些心得体会,供一些规模不是很大的团队做一些监控。

适用场景:

1、项目规模不大

2、用户量不是很大、并发要求不强

3、无专门运维力量

4、精致的团队规模

对于一些常规的项目,或者企业职责分工不是非常明确的单位来说。往往一个系统从需求到设计,开发,测试到最终上线,运维。往往80%的任务由开发团队来完成。由此,开发人员除了要实现系统的功能,还要为客户进行问题咨询答疑以及生产问题解决。

试想,一个应用上线后,没有任何监控措施。跟开着一辆没有任何仪表盘的汽车一样,这样上路,任何人都没有安全感。如何在极简和追求效率上做平衡是一件特别值得思考的事情。

本文不会讲如何搭建企业的运维监控系统,有兴趣的可以去找找成熟的比如zabbix、prometheus,甚至比较简单的wgcloud都能满足一定的需求,不在此赘述。本文讲解如何使用springboot admin对spring boot项目进行应用监控。

一、springboot admin 是啥?

spring boot admin是一个开源社区项目,用于管理和监控springboot应用程序。应用程序作为spring boot admin client向为spring boot admin server注册(通过http)或使用springcloud注册中心(例如eureka,consul)发现。常见的功能或者监控如下:

1、显示健康状况

2、显示构建信息编号

3、关注并下载日志文件

4、查看jvm系统和环境属性

5、轻松的日志级管理

6、与jmx-beans交互

7、查看线程转储

8、查看http跟踪

9、状态变更通知(通过电子邮件,slack,hipchat,…)

10、状态更改的事件日志(非持久性)

......

二、关键集成介绍

1、pom.xml 声明

<properties>
    <java.version>1.8</java.version>
    <spring-boot-admin.version>2.3.1</spring-boot-admin.version>
</properties>

 2、spring-boot-admin 引入

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-actuator</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-web</artifactid>
</dependency>
<dependency>
    <groupid>de.codecentric</groupid>
    <artifactid>spring-boot-admin-starter-client</artifactid>
    <version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
    <groupid>de.codecentric</groupid>
    <artifactid>spring-boot-admin-starter-server</artifactid>
    <version>${spring-boot-admin.version}</version>
</dependency>

3、server配置

server:
  # 服务器的http端口,默认为8080
  port: 8085
# 日志配置
logging:
  # 已存在日志xml配置文件后,path与name 不生效
  config: classpath:logback.xml
spring:
  boot:
    admin:
      # spring boot admin server 服务端的相关配置
      context-path: /admin # 配置 spring

4、client配置

spring:
  application:
    name: springboot-admin-monitor
  boot:
    admin:
      # spring boot admin client 客户端的相关配置
      client:
        # 设置 spring boot admin server 地址
        url: http://localhost:${server.port}${spring.boot.admin.context-path}
        instance:
          prefer-ip: true # 注册实例时,优先使用 ip
 
# actuator 监控端点的配置项
management:
  endpoints:
    web:
      # actuator 提供的 api 接口的根目录。默认为 /actuator
      base-path: /actuator
      exposure:
        # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。
        include: '*'
  # 已存在日志xml配置文件后,需要配置该项
  endpoint:
    logfile:
      external-file: ./logs/sys-console.log

三、相关监控实例

1、监控首页

五分钟解锁springboot admin监控新技巧

2、应用监控信息查看

五分钟解锁springboot admin监控新技巧

3、实时日志输出

五分钟解锁springboot admin监控新技巧

4、动态调节日志级别

五分钟解锁springboot admin监控新技巧

5、jvm 

五分钟解锁springboot admin监控新技巧

四、总结

以上介绍了在生产中如何采用springboot admin来监控你的应用,其实admin的监控功能远不止上文介绍的,还可以集成邮件通知,有外网使用钉钉的,也可以进行相应集成,比如在应用下线的时候可以进行相应的通知。个人比较喜欢的功能是日志web可视化,开发人员再也不需要通过客户端工具连到服务器上去看日志,提高了效率,同时可以动态调整日志的级别,也能高效管理日志输出。另外jvm的管理也能随时管理,提高定位问题的效率。希望对你有所帮助。

本文参考代码gitee链接:https://gitee.com/javalionli/springboot-admin-demo(有帮助的话,可以给作者点个star)

以上就是五分钟解锁springboot admin监控新技巧的详细内容,更多关于springboot admin监控的资料请关注其它相关文章!