logo头像

一路过来,不过游牧自己。。

手撕SpringBoot(三)

使用Druid作为SpringBoot项目数据源(添加监控)

作为数据库链接池,druid比c3p0有更大的优势。最大的优势就是他提供了监控功能,可以实时观察数据库连接池和SQL查询的工作情况。Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目。Druid支持所有JDBC兼容数据库,包括了Oracle、MySQL、PostgreSQL、SQL Server、H2等。
Druid在监控、可扩展性、稳定性和性能方面具有明显的优势。使用Druid连接池在一定程度上可以提高数据访问效率。

一、添加Druid依赖

这个可以和前面一样,就是在pom中要去添加Druid依赖,可以上mvn repository去搜索,最新的已经到1.1.10版了,可以看下:

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>

加入依赖,

二、配置druid

我们需要子在application.yml配置文件,添加druid的支持,如下图所示:

上面配置中的filters:stat表示已经可以使用监控过滤器,这时结合定义一个过滤器,就可以用来监控数据库的使用情况。
然后我们启动上一个user的项目,可以看到访问是成功的。

三、开启Druid监控功能

开启druid监控功能的主要方法就是建立配置类,配置类可以参照如下:

我们实现的是Druid的访问Servlet以及Filter,好了,配置已经配置好了,重启项目。项目运行成功后,我们要访问Druid的监控界面,访问地址:127.0.0.1:8080/druid/login.html,效果如下图所示:

当我们访问成功登陆页面时,就表示基本访问时成功了,根据DruidConfiguration内配置的用户名、密码登录监控平台,进入监控平台首页,如下图所示:

可以看到,我们已经成功访问到了druid监控模块,主要的模块分为:数据源、SQL监控、SQL防火墙、Web应用、URI监控、Session监控、JSONAPI等。
数据源

可以看到项目中管理的所有数据源配置的详细情况,除了密码没有显示外其他都在。

SQL监控

可以查看所有的执行sql语句

SQL防火墙

druid提供了黑白名单的访问,可以清楚的看到sql防护情况。







Web应用

可以看到目前运行的web程序的详细信息。





URI监控




可以监控到所有的请求路径的请求次数、请求时间等其他参数。



Session监控


可以看到当前的session状况,创建时间、最后活跃时间、请求次数、请求时间等详细参数。

JSONAPI


通过api的形式访问Druid的监控接口,api接口返回Json形式数据。

多思考,所走路,越努力,越幸运!
————-YoungerFary

微信打赏

赞赏是不耍流氓的鼓励