前言
依赖一个Jar就可以实现持久化的应用程序监控,监控面非常的全。
可以查看官网的在线示例:http://javamelody.org/demo/monitoring
集成
基于Spring Boot2,官网有spring-boot-starter直接引入依赖即可
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-spring-boot-starter</artifactId>
<version>1.87.0</version>
</dependency>
以下注解、类、方法会被自动监控
- @Controller
- @RestController
- @Service
- @Async
- @FeignClient
- RestTemplate
- ElasticsearchOperations
- 带有@Async、@Scheduled或@Schedules注释的方法被自动监控
- 如果要监视某些Spring Bean上的方法调用,则可以添加
@MonitoredWithSpring
这些类或方法。
查看报告
启动Boot项目,在浏览器访问http://localhost:8080/monitoring
即可。
报告PDF导出
如果要把报告使用PDF导出,则在pom.xml中添加itext
依赖
<!-- itext, option to add PDF export -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
<exclusions>
<exclusion>
<artifactId>bcmail-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bctsp-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
配置
javamelody:
# 启用JavaMelody自动配置(可选,默认值:true)
enabled: true
# 要从监视中排除的数据源名称(可选,以逗号分隔)
excluded-datasources: secretSource,topSecretSource
# 启用对Spring服务和控制器的监视(可选,默认值:true)
spring-monitoring-enabled: true
# JavaMelody的初始化参数(可选)
# See: https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parameters
init-parameters:
# 记录http请求
log: true
# 从监视中排除图像,css,字体和js网址
#url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)
# 汇总http请求中的数字
#http-transform-pattern: \d+
# 添加基本身份验证
#authorized-users: admin:pwd
# 更改默认存储目录:
#storage-directory: /tmp/javamelody
# 更改默认的“ / monitoring”路径:
#monitoring-path: /admin/performance
官方文档:
- https://github.com/javamelody/javamelody/wiki/SpringBootStarter