Druid连接池开启数据库监控功能
web程序普遍的都会涉及到数据库的操作,为了提高系统的性能,在数据库操作上,几乎千篇一律的使用了数据库连接池技术,数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。
可以说,druid是目前为止最好的数据库连接池。下面就以实例的方式演示如何开启数据库监控功能。目前spring boot特别的火,就以spring boot项目为例吧。
一、创建spring boot项目,建好之后,目录层级如下:(注意配置maven)
二、在pom.xml中添加相关依赖,如下:
三、配置数据库连接池(springboot项目建好后会有一个application.properties,可以将配置填写到里面,在此我把application.properties改为application.yml,配置在此文件中,作用是一样的,具体原因,卖个关子,嘻嘻嘻)
四、开启监控功能
开启Druid连接池的监控功能,可以在应用运行期间,通过监控提供的多维度数据来分析使用数据库的运行情况,从而可以调整程序设计,以达到优化数据库访问性能的目的。接下来定义一个监控服务器和一个过滤器,监控服务器设定了访问监控后台的连接地址为“/gby/druid/*”,设定了访问数据库的白名单和黑名单,即通过访问者IP地址来控制访问来源,增加了数据库的安全设置,还设置了一个用来登录监控后台的账户和密码。代码如下:
package com.bing.demo;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 com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;/*** Druid 配置类* @author gby* 2018-09-04*/
@SuppressWarnings("all")
@Configuration
public class DruidConfigDemo {/*** 配置监控服务器** @return 返回监控注册的servlet对象*/ @Beanpublic ServletRegistrationBean statViewServletDemo() {ServletRegistrationBean srb = new ServletRegistrationBean(new StatViewServlet(), "/gby/druid/*");// 添加IP白名单srb.addInitParameter("allow", "127.0.0.1");// 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高srb.addInitParameter("deny", "192.168.25.123");// 添加控制台管理用户srb.addInitParameter("loginUsername", "gby");srb.addInitParameter("loginPassword", "123");// 是否能够重置数据srb.addInitParameter("resetEnable", "false");return srb;}/*** 配置服务过滤器** @return 返回过滤器配置对象*/@Beanpublic FilterRegistrationBean statFilterDemo() {FilterRegistrationBean frb = new FilterRegistrationBean(new WebStatFilter());// 添加过滤规则frb.addUrlPatterns("/*");// 忽略过滤格式frb.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,");return frb;}
}
五、启动springboot的启动类,如下:
六、当项目启动成功后,打开浏览器输入http://localhost:8080/gby/druid/login.html,出现如下界面:
七、输入用户名:gby,密码:123 进行登录
登录就可以查看SQL使用情况了。
Druid连接池开启数据库监控功能相关推荐
- SpringBoot2.0 基础案例(07):集成Druid连接池,配置监控界面
一.Druid连接池 1.druid简介 Druid连接池是阿里巴巴开源的数据库连接池项目.Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能.功能强大,能防SQL注入,内置Login ...
- druid连接池因数据库故障导致主线程挂起停止响应的优化
快速翻看 一.问题背景 二.问题排查 三.问题原因 四.问题解决 五.总结 一.问题背景 某天晚上,突然收到运维同事反馈说系统告警,A系统调用B系统出现大量超时,通过日志分析,B系统中出现了大量的my ...
- Druid连接池自定义数据库密码加解密的实现
Druid的功能 1.替换DBCP和C3P0.Druid提供了一个高效.功能强大.可扩展性好的数据库连接池. 2.可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能 ...
- springboot 2.0.5配置Druid连接池和web监控后台
配置类: import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewSe ...
- Druid连接池实现数据库加密
前言 不难发现,以我们现在的开发习惯,无论是公司的项目还是个人的项目,都会选择将源码上传到 Git 服务器(GitHub.Gitee 或是自建服务器),但只要将源码提交到公网服务器就会存在源码泄漏的风 ...
- druid连接池配置数据库密码加密
druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件.远程服务器等三种地方,这里只讲第一种方法. 1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp dr ...
- 注意:阿里Druid连接池监控的两个坑
image 阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性.但在实际情况中也有不少坑,说下最近遇到的一个坑吧! 问题1:不断打印error级别的错误日志 session ...
- 阿里Druid连接池监控的两个坑
转载自 注意:阿里Druid连接池监控的两个坑 阿里的Druid大家都知道是最好的连接池,其强大的监控功能是我们追求的重要特性.但在实际情况中也有不少坑,说下最近遇到的一个坑吧! 问题1:不断打印er ...
- 应用使用Druid连接池经常性断链问题分析
前段时间有应用使用Druid连接池经常的提示断链报错,整个问题排查分析过程很有意思.这里将Druid连接池.数据库层以及负载均衡层的配置分析下,记录整个问题的分析过程,同时梳理下Druid连接池的配置 ...
最新文章
- RESTful编程究竟是什么?
- 【正一专栏】欧冠四强猜想—不是冤家不聚首
- 用实例讲解Spark Sreaming--转
- DOS获取局域网内所有正在使用的ip地址
- 神策数据上线 IPTV Demo ,三大价值助力数据驱动
- yii2设置默认控制器
- 04 canvas——位移画布和旋转缩放
- 一个题目涉及到的50个Sql语句
- Java抽象类与接口的区别:
- 图像识别深度学习主流方案平台比较
- 得力计算机dl1526第15个音乐,得力dl1526乐谱 | 手游网游页游攻略大全
- DataBinding 的集成:点击AIL+Enter , 没有出现【convert to data binding layout】怎么办?
- linux ip转发 丢包,sendto频率过快导致发送丢包
- 光敏二极管的工作原理
- js多重循环遍历渲染
- windows10系统如何设置开机自启动
- word文档添加批注
- 在学习thymeleaf中,给function 方法传Controller传递过来的参数,报错:Uncaught SyntaxError: missing ) after argument list
- 保姆级使用PyTorch训练与评估自己的MobileNetV2网络教程
- 基于原生开发的全新中文安卓应用开发平台
热门文章
- SLIC 超像素分割详解(三):应用
- jQuery赋值checked的几种写法:
- ERP编制物料清单 基础
- $(this)与this的区别
- SQL leetcode 刷题答案(二)
- 有道词典工具(命令行+GUI)
- troubleshooting之解决YARN队列资源不足导致的application直接失败
- Centos7安装Promethus(普罗米修斯)监控系统完整版
- 4t gpt索引 linux如何挂载,LINUX教学:Ubuntu 16.04通过GPT挂载硬盘
- 远程连接Mysql报10038错误