JavaMelody的使用与产生问题的解决方式
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的整合使用
导包
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-spring-boot-starter</artifactId>
<version>1.76.0</version>
</dependency>
配置文件配置
github的作者配置讲解
javamelody:
#是否启用javaMelody
enabled: true
#排除不需要监控的数据源
# excluded-datasources:
#表示是否启用 spring的service与controller的监控,默认是true
spring-moitoring-enabled: true
# javaMelody的初始配置项
init-parameters:
# 是否记录http请求
log: true
#哪些http请求不需要记录
#url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)
#转换http的请求路径 删除动态部分 如 /xiaohu/1 /xiaohu/2 他都只记录/xiaohu这个路径
# http-transform-pattern: \d+
#登录账号跟密码
authorized-users: admin:pwd
#javaMelody的存储目录 ${spring.application.name} 服务名,因为一般一个配置可能要配置多个服务,所以每个服务的javamelody配置都不样,防止文件膨胀
storage-directory: d:/tmp/javamelody/${spring.application.name}
#启动后javaMelody的访问路径 /默认访问 /monitoring
#monitoring-path: /admin/performance
Spring Boot的启动类启动
MybatisPlus整合JavaMelody出现的问题分析与解决
Hikari整合javaMelody报错
解决完问题当我们没有特别指定javaMelody的路径是默认访问 ip:端口/monitoring 如: localhost:8080/monitoring
对配置有疑问,因为springboot对有些属性没有提示 请全局搜索 : JavaMelodyAutoConfiguration 这个自动装配类就知道是有那个属性了