spring 监控mysql_springboot整合mysql+druid以及druid监控台

本文介绍了如何在Spring Boot应用中整合Druid数据源以监控MySQL数据库。通过添加相关依赖、配置属性以及设置Druid监控台,实现了对数据库连接池的监控,包括SQL查询、连接池状态等。
摘要由CSDN通过智能技术生成

1.pom.xml加入依赖

mysql

mysql-connector-java

8.0.15

com.alibaba

druid

1.1.16

2.application.yml配置属性

#应用端口号

server:

port: 8091

#druid监控台配置信息,主要用作sql监控,还能用来监控url等

druid:

allow:

ip: 127.0.0.1

login:

user_name: root

password: root

#数据源配置

spring:

datasource:

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/shop?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false

username: root

password: 123456

type: com.alibaba.druid.pool.DruidDataSource

initial-size: 1

min-idle: 1

max-idle: 5

max-wait-millis: 60000

timeBetweenEvictionRunsMillis: 60000

# 配置一个连接在池中最小生存的时间,单位是毫秒

minEvictableIdleTimeMillis: 300000

validationQuery: SELECT 1 FROM DUAL

testWhileIdle: true

testOnBorrow: true

testOnReturn: false

maxPoolPreparedStatementPerConnectionSize: 20

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙

filters: stat,wall

# 通过connectProperties属性来打开mergeSql功能;慢SQL记录

connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

3.bean装载

package com.learn.couponapp.config;

import com.alibaba.druid.pool.DruidDataSource;

import com.alibaba.druid.support.http.StatViewServlet;

import com.alibaba.druid.support.http.WebStatFilter;

import org.springframework.beans.factory.annotation.Value;

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 javax.sql.DataSource;

import java.util.HashMap;

import java.util.Map;

@Configuration

public class DruidConfig {

@Value("${druid.login.user_name}")

private String userName;

@Value("${druid.login.password}")

private String password;

@Bean(name = "default_datadatasource")

@ConfigurationProperties(prefix = "spring.datasource")

public DataSource druidDataSource(){

return new DruidDataSource();

}

/**

* druid监控台配置

* @return

*/

@Bean

public ServletRegistrationBean druidServlet() {

ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();

servletRegistrationBean.setServlet(new StatViewServlet());

servletRegistrationBean.addUrlMappings("/druid/*");

Map initParameters = new HashMap<>();

initParameters.put("loginUsername", userName);// 用户名

initParameters.put("loginPassword", password);// 密码

initParameters.put("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能

servletRegistrationBean.setInitParameters(initParameters);

return servletRegistrationBean;

}

@Bean

public FilterRegistrationBean filterRegistrationBean() {

FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();

filterRegistrationBean.setFilter(new WebStatFilter());

filterRegistrationBean.addUrlPatterns("/*");

filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");

return filterRegistrationBean;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值