sprinigboot(2.2.4)+mysql引入druid的性能监控StateFilter
生活随笔
收集整理的这篇文章主要介绍了
sprinigboot(2.2.4)+mysql引入druid的性能监控StateFilter
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
根据阿里的druid的官方文档,druid连接池不但性能比现在其他免费的连接池(proxxl、c3p0、dbcp等)性能优秀,更稳定,在高访问下表现优异(阿里自己说经过自己淘宝双十一的检验)而且提供了监控功能,这里整理了一下stat和wall的引入方法。
1.stat监控
1.1引入
阿里的文档有说只需在filters里加(如下),但是不起作用,大概是以前的版本还需要在其他地方配置拦截器吧
<bean id="dataSource" name="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><!--filters和proxyFilters是组合关系,如果单独写别名在filters里,会按照druid的默认的配置进行过滤如果在这里用默认的log4j2会输出很多信息,不专业,所有用proxyFilters配置log4j2,定制化日志输出--><property name="filters" value="stat"/> <bean>亲测有作用的方式是用切面拦截器的方式,如下:
a、引入springboot的切面包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>b、 配置拦截切面
<!--druid stat拦截监控,有三种配置方式,接口类型、方法名正则、BeanId。这里采用方法名正则表达式的方式 start--><bean id="druid-stat-interceptor"class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean><bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"scope="prototype"><property name="patterns"><list><value>com.example.demo.service.*</value><value>com.example.demo.dao.*</value></list></property></bean><aop:config><aop:advisor advice-ref="druid-stat-interceptor"pointcut-ref="druid-stat-pointcut"/></aop:config><!--druid stat拦截监控 end-->
配置完成,可以进行监控了
1.2使用方法,浏览器监控如下
里头的选项卡可以切换查看不同的面板的监控信息。
2.wall监控
wall是用来防止sql注入的拦截器,遵照阿里的文档配置如下,但是自己不会测,sorry
<!--定制化wallFilter,一个防止sql注入的过滤器--><bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter"><property name="dbType" value="mysql"/></bean> <bean id="dataSource" name="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"> <property name="proxyFilters"><list><ref bean="wall-filter"/></list></property> <bean>
总结
以上是生活随笔为你收集整理的sprinigboot(2.2.4)+mysql引入druid的性能监控StateFilter的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: springboot(2.2.4)配置d
- 下一篇: SecurityManager安全管理器