1.为什么使用监控工具

在项目中,我们经常需要关注生产环境的服务器运行状况,以及服务器的负载,以往我们经常去会使用一些命令去观察服务器的状态,然后去观测系统的log作对应的分析,这种方法虽然能够达到预期的目的,但是我们获得一些信息并不是很直观,所以有的时候并不能及时发现服务器的异常状态,最后导致服务中断。

2.javaMelody是什么

JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。 —来自github上面的介绍

3.javaMelody的使用

3.1与SpringBoot的整合使用

导包

  1. <dependency>
  2. <groupId>net.bull.javamelody</groupId>
  3. <artifactId>javamelody-spring-boot-starter</artifactId>
  4. <version>1.76.0</version>
  5. </dependency>

配置文件配置
github的作者配置讲解

  1. javamelody:
  2. #是否启用javaMelody
  3. enabled: true
  4. #排除不需要监控的数据源
  5. # excluded-datasources:
  6. #表示是否启用 spring的service与controller的监控,默认是true
  7. spring-moitoring-enabled: true
  8. # javaMelody的初始配置项
  9. init-parameters:
  10. # 是否记录http请求
  11. log: true
  12. #哪些http请求不需要记录
  13. #url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)
  14. #转换http的请求路径 删除动态部分 如 /xiaohu/1 /xiaohu/2 他都只记录/xiaohu这个路径
  15. # http-transform-pattern: \d+
  16. #登录账号跟密码
  17. authorized-users: admin:pwd
  18. #javaMelody的存储目录 ${spring.application.name} 服务名,因为一般一个配置可能要配置多个服务,所以每个服务的javamelody配置都不样,防止文件膨胀
  19. storage-directory: d:/tmp/javamelody/${spring.application.name}
  20. #启动后javaMelody的访问路径 /默认访问 /monitoring
  21. #monitoring-path: /admin/performance

Spring Boot的启动类启动
MybatisPlus整合javaMelody出现的问题解决链接,问题产生与解决
Hikari整合javaMelody报错

解决完问题当我们没有特别指定javaMelody的路径是默认访问 ip:端口/monitoring 如: localhost:8080/monitoring
image.png

image.png

对配置有疑问,因为springboot对有些属性没有提示 请全局搜索 : JavaMelodyAutoConfiguration 这个自动装配类就知道是有那个属性了
image.png