热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

这篇文章主要介绍了使用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连接池的依赖


 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.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 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);
  bean.setUrlPatterns(Arrays.asList("/*"));
  return bean;
 }
}

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

如图

在这里插入图片描述

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

总结

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


推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
author-avatar
雨水-_-打湿我的脸_950
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有