使用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 监控系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot集成阿里巴巴Druid监控的示例代码

    druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能,本文要讲解一下springboot项目怎么集成druid. 本文在基于jpa的项目下开发,首先在pom文件中额外加入druid依赖,pom文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu

  • SpringBoot 监控管理模块actuator没有权限的问题解决方法

    SpringBoot 1.5.9 版本加入actuator依赖后,访问/beans 等敏感的信息时候报错,如下 Tue Mar 07 21:18:57 GMT+08:00 2017 There was an unexpected error (type=Unauthorized, status=401). Full authentication is required to access this resource. 肯定是权限问题了.有两种方式: 1.关闭权限:application.prop

  • SpringBoot集成Zipkin实现分布式全链路监控

    Zipkin 简介 Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data. If you have a trace ID in a log file, you ca

  • springboot 使用Spring Boot Actuator监控应用小结

    微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? 在这种框架下,微服务的监控显得尤为重要.本文主要结合Spring Boot Actuator,跟大家一起分享微服务Spring Boot Actuator的常见用法,方便我们在日常中对我们的微服务进行监控治理. Actuator监控 Spring Boot使用"习惯优于配置的理念",采用包

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

    Druid 介绍 说起 Druid,大家首先想到的是阿里的 Druid 数据库连接池 Apache Druid 具有以下特点: 亚秒级 OLAP 查询,包括多维过滤.Ad-hoc 的属性分组.快速聚合数据等等. 实时的数据消费,真正做到数据摄入实时.查询结果实时. 高效的多租户能力,最高可以做到几千用户同时在线查询. 扩展性强,支持 PB 级数据.千亿级事件快速处理,支持每秒数千查询并发. 极高的高可用保障,支持滚动升级. Druid监控系统作用 查看慢SQL [ 可进行对 SQL 优化 ] 是

  • PHP的邮件群发系统phplist配置方法详细总结

    本文实例讲述了PHP的邮件群发系统phplist配置方法.分享给大家供大家参考,具体如下: phplist是一个十分不错的邮件群发系统,让我们可以很方便地群发电子杂志.小广告(^_^)等. 最近帮一个老师搭建邮件群发系统,用的就是phplist.但是网上关于搭建该系统的资料很零碎,需要费些功夫组合起来才行.而既然我已经做了这个工作,就拿出来分享吧,希望对大家有用.(另外,phplist或是phpmailer通过gmail发送邮件比通过其他邮箱发送还要麻烦一些,如果你需要通过gmail发送,在看完

  • 使用Java编写一个简单的Web的监控系统

    公司的服务器需要实时监控,而且当用户空间已经满了,操作失败,或者出现程序Exception的时候就需要实时提醒,便于网管和程序员调式,这样就把这个实时监控系统分为了两部分,   第一部分:实时系统监控(cpu利用率,cpu温度,总内存大小,已使用内存大小) 第二部分:实时告警 由于无刷新实时性,所以只能使用Ajax,这里没有用到任何ajax框架,因为调用比较简单 大家知道,由于java的先天不足,对底层系统的调用和操作一般用jni来完成,特别是cpu温度,你在window下是打死用命令行是得不到

  • Springboot2 集成 druid 加密数据库密码的配置方法

    一:环境 springboot 2.x druid 1.1.21 二:druid加密数据库密码 本地下载druid-1.1.21.jar包,运行cmd,输入命令 java -cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码 java -cp druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码 运行成功输出 privateKey:MIIBVAIBA

  • Windows Server 2003 系统安全配置方法

    一.系统的安装 1.按照Windows2003安装光盘的提示安装,默认情况下2003没有把IIS6.0安装在系统里面. 2.IIS6.0的安装 开始菜单->控制面板->添加或删除程序->添加/删除Windows组件 应用程序 ---ASP.NET(可选) |--启用网络 COM+ 访问(必选) |--Internet 信息服务(IIS)---Internet 信息服务管理器(必选) |--公用文件(必选) |--万维网服务---Active Server pages(必选) |--Int

  • win2003 64位系统IIS配置方法

    1.因用模版安装ASP.NET 2.0需先卸载64位的.net2.0 命令:C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe –u 2.把IIS切换为32Bit模式运行 命令:Cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 3.重装安装32Bit .NET 2.0 命令:C:\WINDOWS

  • SpringBoot配置Druid数据监控代码实例

    druid,一个为监控而生的数据库连接池,提供可视化界面来查看sql执行情况. 1.pom文件引入druid数据源 <!--druid数据源--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version> </dependency> 2.新建一个DrruidC

  • SpringBoot中Mybatis + Druid 数据访问的详细过程

    目录 1.简介 2.JDBC 3.CRUD操作 4.自定义数据源 DruidDataSource 1.配置 Druid 数据源监控 2.配置 Druid web 监控 filter 5.SpringBoot 整合mybatis 1. 导入mybatis所需要的依赖 2.配置数据库连接信息 3,创建实体类 4.配置Mapper接口类 6.SpringBoot 整合 1.简介 ​ 对于数据访问层,无论是SQL(关系型数据库) 还是NOSQL(非关系型数据库),SpringBoot 底层都是采用 Sp

  • 分布式监控系统Zabbix3.2添加自动发现磁盘IO并注册监控(推荐)

    服务器磁盘的运作情况在一定程度上反应系统的负载. 磁盘通常是服务器最慢的设备,极容易出现瓶颈,通过监控可以判断出整个系统的短板. zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次

随机推荐