springBoot使用druid数据源监控配置
2019-03-18 16:39
465 查看
前言之前项目我们采用的是jdbc数据源,今天我们采用druid数据源来监控我们项目的数据源,sql使用情况,web应用…等等
首选pom.xml中引入
<!-- alibaba的druid数据库连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</art 4000 ifactId> <version>1.1.9</version> </dependency>
修改 application-dev.yml文件下的spring-datasource
spring: datasource: url: jdbc:mysql://localhost:3306/web_test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC username: root password: 123 driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20
编写DruidDataSourceConfig类
package com.example.config; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.HashMap; import java.util.Map; /** * @author zhaozeren * @version 1.0 * @date 2019/3/18 */ @Configuration public class DruidDataSourceConfig { @Bean public ServletRegistrationBean druidServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); servletRegistrationBean.setServlet(new StatViewServlet()); servletRegistrationBean.addUrlMappings("/druid/*"); Map<String, String> initParameters = new HashMap<String, String>(); initParameters.put("loginUsername", "admin");// 用户名 initParameters.put("loginPassword", "admin");// 密码 initParameters.put("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能 initParameters.put("allow", ""); // IP白名单 (没有配置或者为空,则允许所有访问) //initParameters.put("deny", "192.168.20.38");// IP黑名单 (存在共同时,deny优先于allow) servletRegistrationBean.setInitParameters(initParameters); return servletRegistrationBean; } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; } }
注意:如果使用了拦截器,或安全框架等,需放行/druid/**
本文使用了shiro所以在shiroConfig中放行
测试
访问http://localhost:8888/druid/login.html
应用场景(或者说监控页面关注的选项)
数据源
连接数设置,事务及连接数使用情况以及使用详细情况
SQL监控
执行时间,最慢,读取行数,最大并发数,以及时间分布。不一一说明
SQL防火墙
可以看出表的使用情况
Web应用
并发,请求数,来源于哪个类型操作系统,来源于哪些浏览器
URI监控
请求次数,请求时间,最大并发,区间分布
相关文章推荐
- mybatis使用spring-druid数据源连接池配置log4j打印sql语句以及开启监控平台
- spring cloud使用spring data jpa配置druid做数据源和监控
- SpringBoot系列七:SpringBoot 整合 MyBatis(配置 druid 数据源、配置 MyBatis、事务控制、druid 监控)
- springboot学习笔记-4 整合Druid数据源和使用@Cache简化redis配置
- druid(德鲁伊)数据源的使用和配置 阿里出品
- Spring Boot使用Druid和监控配置
- SpringBoot: spring boot使用Druid和监控配置
- Druid基本使用配置以及如何查看sql信息监控日志
- Spring Boot 使用 Druid 和监控配置
- springboot-druid-mybatis多数据源使用
- Spring Boot 使用 Druid 和监控配置
- Spring Boot使用Druid和监控配置
- Druid数据库连接池及内置监控的配置和使用
- spring+mybatis使用druid配置数据源
- Spring Boot 使用 Druid 和监控配置
- Druid--基本配置及内置监控使用
- Druid--基本配置及内置监控使用
- SpringBoot:spring boot使用Druid和监控配置
- 应用数据源Druid监控SQL语句的执行情况配置
- Druid数据库连接池及内置监控的配置和使用