使用SpringBoot简单了解Druid的监控系统的配置方法

网友投稿 283 2022-12-05


使用SpringBoot简单了解Druid的监控系统的配置方法

Druid 介绍

说起 Druid,大家首先想到的是阿里的 Druid 数据库连接池

Apache Druid 具有以下特点:

亚秒级 OLAP 查询,包括多维过滤、Ad-hoc 的属性分组、快速聚合数据等等。

实时的数据消费,真正做到数据摄入实时、查询结果实时。

高效的多租户能力,最高可以做到几千用户同时在线查询。

扩展性强,支持 PB 级数据、千亿级事件快速处理,支持每秒数千查询并发。

极高的高可用保障,支持滚动升级。

Druid监控系统作用

查看慢SQL [ 可进行对 SQL 优化 ]

是否有恶意攻击

并发时的数量

事务的提交

JDBC执行的次数

访问时URL的监控

请求的次数等等…

下面是Druid 的监控系统首页截图, 只需要简单配置就可以使用

开始配置

首先创建一个SpringBoot的项目

需用引入以下几个工具

如图

在 pom.xml 文件中引入druid连接池的依赖

com.alibaba

druid

1.1.10

resources下新创建一个在 application.yml 文件, 指定使用druid的连接池

spring:

datasource: # Springboot默认会使用自带的 HikariDataSource

password: root

username: root

url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

driver-class-name: com.mysql.cj.jdbc.Driver

type: com.alibaba.druid.pool.DruidDataSource # 指定使用 druid 的连接池

创建一个DruidConfig.java配置类

package com.springboot.druid.config;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

import org.springframework.boot.context.properties.ConfigurationProperties;

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.Arrays;

import java.util.Hashttp://hMap;

import java.util.Map;

/**

* 对 Druid 的监控配置对象注入到容器中

* Created by YongXin Xue on 2020/06/04 15:18

*/

@Configuration

public class DruidConfig {

/**

*

* @return

*/

@Bean // 当前类如果是组件类,对象创建时容器也会调用此方法将方法的返回值注入到容器中

@ConfigurationProperties(prefix = "spring.datasource") // 加载配置文件中的配置设置给返回的对象

public DruidDataSource getDataSoures(){

return new DruidDataSource();

}

/**

* 配置一个管理后台的Servlet [ 配置Druid的监控系统 ]

* 访问时默认会生成一个页面

* @return

*/

@Bean

public ServletRegistrationBean statViewServlet() {

// 当前 Druid 的后台监控系统的访问地址 /druid/*

ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");

Map initParams = new HashMap<>();

initParams.put("loginUsername", "admin");

initParams.put("loginPassword", "admin");

// 默认就是允许所有访问

initParams.put("allow", "");

initParams.put("deny", "192.168.15.21");//ip黑名单

bean.setInitParameters(initParams);

return bean;

}

/**

* 配置一个web监控的filter:访问静态资源一定没有sql操作

* @return

*/

@Bean

public FilterRegistrationBean webStatFilter() {

FilterRegistrationBean bean = new FilterRegistrationBean();

bean.setFilter(new WebStatFilter());

Map initParams = new HashMap<>();

//排除过滤

initParams.put("exclusions", "*.jpg,*.avi,*.js,*.css,/druid/*");

bean.setInitParameters(initParams);

behttp://an.setUrlPatterns(Arrays.asList("/*"));

return bean;

}

}

配置完成后, 运行主程序在浏览器输入本机的地址加自己配置的tomcat端口加/druid/既可以打开druid的后台监控系统了

如图

赶紧来写两行代码测测性能吧 !!

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:深入了解JAVA Jersey框架
下一篇:SpringBoot上下文初始器加载过程详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~