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

 更新时间:2020年06月05日 14:26:07   作者:ღ信哥  
这篇文章主要介绍了使用SpringBoot简单了解Druid的监控系统的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Druid 介绍

  1. 说起 Druid,大家首先想到的是阿里的 Druid 数据库连接池
  2. Apache Druid 具有以下特点:
  3. 亚秒级 OLAP 查询,包括多维过滤、Ad-hoc 的属性分组、快速聚合数据等等。

实时的数据消费,真正做到数据摄入实时、查询结果实时。
高效的多租户能力,最高可以做到几千用户同时在线查询。
扩展性强,支持 PB 级数据、千亿级事件快速处理,支持每秒数千查询并发。
极高的高可用保障,支持滚动升级。

Druid监控系统作用

  1. 查看慢SQL [ 可进行对 SQL 优化 ]
  2. 是否有恶意攻击
  3. 并发时的数量
  4. 事务的提交
  5. JDBC执行的次数
  6. 访问时URL的监控
  7. 请求的次数等等…

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

在这里插入图片描述

开始配置

首先创建一个SpringBoot的项目

需用引入以下几个工具

如图

在这里插入图片描述

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

<dependency>
 <groupId>com.alibaba</groupId>
 <artifactId>druid</artifactId>
 <version>1.1.10</version>
</dependency>

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.HashMap;
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<String, String> 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<String, String> initParams = new HashMap<>();
  //排除过滤
  initParams.put("exclusions", "*.jpg,*.avi,*.js,*.css,/druid/*");

  bean.setInitParameters(initParams);
  bean.setUrlPatterns(Arrays.asList("/*"));
  return bean;
 }
}

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

如图

在这里插入图片描述

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

总结

到此这篇关于使用SpringBoot简单了解Druid的监控系统的配置方法的文章就介绍到这了,更多相关springboot druid 监控系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot操作spark处理hdfs文件的操作方法

    SpringBoot操作spark处理hdfs文件的操作方法

    本文介绍了如何使用Spring Boot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Service处理地铁数据、运行项目以及观察Spark和HDFS的状态,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • Java 十大排序算法之冒泡排序刨析

    Java 十大排序算法之冒泡排序刨析

    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序
    2021-11-11
  • java数据结构基础:稀疏数组

    java数据结构基础:稀疏数组

    今天带大家了解一下Java稀疏数组的相关知识,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-08-08
  • 详解Java5、Java6、Java7的新特性

    详解Java5、Java6、Java7的新特性

    本编文章详细介绍了Java5、Java6、Java7的新特性,需要的朋友可以参考下
    2017-04-04
  • Java中的定时器Timer详解

    Java中的定时器Timer详解

    这篇文章主要为大家详细介绍了Java定时器Timer的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Idea2023配置JavaWeb项目(最新)

    Idea2023配置JavaWeb项目(最新)

    本文将介绍如何配置JavaWeb项目,以在Idea中实现开发环境,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 如何基于mybatis框架查询数据库表数据并打印

    如何基于mybatis框架查询数据库表数据并打印

    这篇文章主要介绍了如何基于mybatis框架查询数据库表数据并打印,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java实现宠物商店管理系统

    Java实现宠物商店管理系统

    这篇文章主要为大家详细介绍了Java实现宠物商店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • JustAuth-第三方Oauth2登录方式

    JustAuth-第三方Oauth2登录方式

    JustAuth是一款支持多种第三方登录的工具,本文通过实战介绍了如何在Springboot项目中集成JustAuth实现第三方登录,主要步骤包括引入依赖、配置Controller、设置登录和回调页面,通过访问登录页面并选择Gitee登录,系统会重定向至Gitee进行认证
    2024-09-09
  • SpringBoot 缓存 Caffeine使用解析

    SpringBoot 缓存 Caffeine使用解析

    这篇文章主要介绍了SpringBoot 缓存 Caffeine使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论