Durid 监控功能-Web 关联监控
需求: 配置Web 关联监控配置:Web 应用、URI 监控
官方文档
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
Web 关联监控配置-Web 应用、URI 监控
DruidDataSourceConfig.java , 注入/ 增加WebStatFilter 用于采集web-jdbc 关联监控的数据
1. //配置WebStatFilter, 用于采集web-jdbc关联的监控数据 2. @Bean 3. public FilterRegistrationBean webStatFilter() { 4. //创建 WebStatFilter 5. WebStatFilter webStatFilter = new WebStatFilter(); 6. 7. FilterRegistrationBean<WebStatFilter> filterRegistrationBean = 8. new FilterRegistrationBean<>(webStatFilter); 9. 10. //默认对所有的url请求进行监控 11. filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); 12. 13. //排除指定的url 14. filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); 15. return filterRegistrationBean; 16. }
为了测试方便,修改/WebConfig.java, 放行/sql 请求
重启项目,看看Web 应用和URI 监控页面
完成测试,重启项目,看看Web 应用和URI 监控是否生效
Durid 监控功能-SQL 防火墙
需求: 配置SQL 防火墙
官方文档https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
修改DruidDataSourceConfig.java ,加入防火墙监控
1. @ConfigurationProperties("spring.datasource") 2. @Bean 3. public DataSource dataSource() throws SQLException { 4. //1. 配置了 @ConfigurationProperties("spring.datasource") 5. // 就可以读取到application.yml的配置 6. //2. 我们就不需要调用DruidDataSource 对象的setXxx, 会自动关联 7. 8. DruidDataSource druidDataSource = new DruidDataSource(); 9. //加入监控功能, 加入了sql防火墙监控 10. druidDataSource.setFilters("stat,wall"); 11. return druidDataSource; 12. }
完成测试,重启项目,看看SQL 防火墙监控是否生效
Durid 监控功能-Session 监控
需求: 配置Session 监控
官方文档https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
Session 监控
重启项目, 先登录管理系统
完成测试, 查看监控页需要输入用户名和密码, 点击Session 监控,可以看到相关信息
(注意要登录用户系统,才能看到Session 监控信息)
Druid Spring Boot Starter
基本介绍
1. 前面我们使用的是自己引入druid+配置类方式整合Druid 和监控
2. Druid Spring Boot Starter 可以让程序员在Spring Boot 项目中更加轻松集成Druid 和监控
修改pom.xml 注销druid 的依赖
注销DruidDataSourceConfig.java
这时测试,druid 失效
查看druid 文档https://github.com/alibaba/druid,引入druid starter
确认druid starter 引入哪些依赖
修改resources/application.yml 增加配置参数
1. spring: 2. servlet: 3. multipart: 4. max-file-size: 10MB 5. max-request-size: 50MB 6. datasource: #配置数据源 7. # 说明: 如果你没有指定useSSL=true ,启动项目会报红警告, 环境的问题,灵活处理 8. url: jdbc:mysql://localhost:3306/spring_boot?useSSL=true&useUnicode=true&characterEncoding=UTF-8 9. username: root 10. password: 自己的密码 11. driver-class-name: com.mysql.jdbc.Driver 12. #配置druid和监控功能 13. druid: 14. stat-view-servlet: 15. enabled: true 16. login-username: jack 17. login-password: 666 18. reset-enable: false 19. web-stat-filter: #配置web监控 20. enabled: true 21. url-pattern: /* 22. exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' 23. filter: 24. stat: #sql监控 25. slow-sql-millis: 1000 26. log-slow-sql: true 27. enabled: true 28. wall: #配置sql防火墙 29. enabled: true 30. config: 31. drop-table-allow: false 32. select-all-column-allow: false
重启项目,完成测试
测试完成后,记得改回成原来的代码.(个人习惯) ...