springboot 配置Druid 监控以及spring监控

不吃肉的犟驴 2021-05-06
161

这个五一过得很懒散! 本来说要写,然而假期就这样没了



以上都是废话,进入正题.

1.Druid是什么?

Apache Druid是一个实时分析型数据库,旨在对大型数据集进行快速的查询分析("OLAP"查询)。Druid最常被当做数据库来用以支持实时摄取、高性能查询和高稳定运行的应用场景,同时,Druid也通常被用来助力分析型应用的图形化界面,或者当做需要快速聚合的高并发后端API,Druid最适合应用于面向事件类型的数据。

1.1 pom添加

     <dependency>
       <groupId>com.alibaba</groupId>
       <artifactId>druid-spring-boot-starter</artifactId>
       <version>${druid-spring-boot.version}</version>
   </dependency>



1.2,添加配置,这里是多数据源 前几期有讲过 还是在之前的配置中



/**
     * 注册一个StatViewServlet
* @return
     */

    @Bean
    public ServletRegistrationBean druidStatViewServlet(){
        //org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
        //白名单:
        servletRegistrationBean.addInitParameter("allow","127.0.0.1,192.168.10.1/24");
        //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
        servletRegistrationBean.addInitParameter("deny","");
        //登录查看信息的账号密码.
        servletRegistrationBean.addInitParameter("loginUsername","admin");
        servletRegistrationBean.addInitParameter("loginPassword","123456");
        //是否能够重置数据.
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return servletRegistrationBean;
    }


/**
     * 注册一个:filterRegistrationBean
     * @return
     */

    @Bean
    public FilterRegistrationBean druidStatFilter(){
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        //添加过滤规则.
        filterRegistrationBean.addUrlPatterns("/*");
        //添加不需要忽略的格式信息.
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }


1.3 启动项目 访问 ip:port/context-path/druid


密码就是自己配置的 admin 123456 登录即可 为了查看数据我们用swagger 访问接口查看页面

在数据源页可以看到配置的多数据源以及参数




接口所执行的sql 列表



防火墙 黑白名单 统计拦截信息


 

url 并发监控


spring接口 服务监控



2.0 spring接口监控配置


2.1在resources 目录下创建 druid-bean.xml



<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd"
>


    <!-- 配置_Druid和Spring关联监控配置 -->
    <bean id="druid-stat-interceptor"
          class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"/>


    <!-- 方法名正则匹配拦截配置 -->
    <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"
          scope="prototype">

        <property name="patterns">
            <list>
                <value>com.ym.dao.*</value>
                <value>com.ym.malldao.*</value>
            </list>
        </property>
    </bean>

    <aop:config proxy-target-class="true">
        <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut"/>
    </aop:config>

</beans>


2.2在 程序入口添加 

@ImportResource(locations = { "classpath:druid-bean.xml" })


至此就全部讲完了  就这么简单


如果你喜欢本文

请长按二维码,关注 不吃肉的犟驴


转发至 朋友圈,是对我最大的支持
                                                             喜欢就点个在看







文章转载自不吃肉的犟驴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论