当前位置:   article > 正文

druid监控的使用_druid监控端口

druid监控端口

新建springboot项目

pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>2.7.15</version>
  9. <relativePath/> <!-- lookup parent from repository -->
  10. </parent>
  11. <groupId>com.shrimpking</groupId>
  12. <artifactId>springboot-vue-test15</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <name>springboot-vue-test15</name>
  15. <description>Demo project for Spring Boot</description>
  16. <properties>
  17. <java.version>1.8</java.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-starter-web</artifactId>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.projectlombok</groupId>
  26. <artifactId>lombok</artifactId>
  27. <optional>true</optional>
  28. </dependency>
  29. <dependency>
  30. <groupId>org.springframework.boot</groupId>
  31. <artifactId>spring-boot-starter-test</artifactId>
  32. <scope>test</scope>
  33. </dependency>
  34. <!--mybatisplus-->
  35. <dependency>
  36. <groupId>com.baomidou</groupId>
  37. <artifactId>mybatis-plus-boot-starter</artifactId>
  38. <version>3.4.1</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>mysql</groupId>
  42. <artifactId>mysql-connector-java</artifactId>
  43. <version>5.1.47</version>
  44. </dependency>
  45. <!-- mybatisplus自动生成代码器 -->
  46. <dependency>
  47. <groupId>com.baomidou</groupId>
  48. <artifactId>mybatis-plus-generator</artifactId>
  49. <version>3.4.1</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.freemarker</groupId>
  53. <artifactId>freemarker</artifactId>
  54. <version>2.3.30</version>
  55. </dependency>
  56. <!--swagger依赖-->
  57. <dependency>
  58. <groupId>io.springfox</groupId>
  59. <artifactId>springfox-swagger2</artifactId>
  60. <version>2.9.2</version>
  61. </dependency>
  62. <!--swagger ui-->
  63. <dependency>
  64. <groupId>io.springfox</groupId>
  65. <artifactId>springfox-swagger-ui</artifactId>
  66. <version>2.9.2</version>
  67. </dependency>
  68. <!-- druid -->
  69. <dependency>
  70. <groupId>com.alibaba</groupId>
  71. <artifactId>druid-spring-boot-starter</artifactId>
  72. <version>1.1.10</version>
  73. </dependency>
  74. <!-- 日志 -->
  75. <dependency>
  76. <groupId>log4j</groupId>
  77. <artifactId>log4j</artifactId>
  78. <version>1.2.17</version>
  79. </dependency>
  80. <dependency>
  81. <groupId>org.slf4j</groupId>
  82. <artifactId>slf4j-log4j12</artifactId>
  83. </dependency>
  84. <!-- 验证码生成 -->
  85. <dependency>
  86. <groupId>com.github.axet</groupId>
  87. <artifactId>kaptcha</artifactId>
  88. <version>0.0.9</version>
  89. </dependency>
  90. </dependencies>
  91. <build>
  92. <plugins>
  93. <plugin>
  94. <groupId>org.springframework.boot</groupId>
  95. <artifactId>spring-boot-maven-plugin</artifactId>
  96. <configuration>
  97. <excludes>
  98. <exclude>
  99. <groupId>org.projectlombok</groupId>
  100. <artifactId>lombok</artifactId>
  101. </exclude>
  102. </excludes>
  103. </configuration>
  104. </plugin>
  105. </plugins>
  106. </build>
  107. </project>

druid依赖

  1. <!-- druid -->
  2. <dependency>
  3. <groupId>com.alibaba</groupId>
  4. <artifactId>druid-spring-boot-starter</artifactId>
  5. <version>1.1.10</version>
  6. </dependency>

application.properties

  1. #服务端口
  2. server.port=8089
  3. #druid配置
  4. spring.datasource.name=druidDataSource
  5. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  6. spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
  7. spring.datasource.druid.url= jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimeZone=UTC
  8. spring.datasource.druid.username=root
  9. spring.datasource.druid.password=mysql123
  10. spring.datasource.druid.filters=stat,wall,log4j,config
  11. spring.datasource.druid.max-active=100
  12. spring.datasource.druid.initial-size=1
  13. spring.datasource.druid.max-wait=60000
  14. spring.datasource.druid.min-idle=1
  15. spring.datasource.druid.time-between-eviction-runs-millis=60000
  16. spring.datasource.druid.min-evictable-idle-time-millis=300000
  17. spring.datasource.druid.validation-query= select 'x'
  18. spring.datasource.druid.test-while-idle=true
  19. spring.datasource.druid.test-on-borrow=false
  20. spring.datasource.druid.test-on-return=false
  21. spring.datasource.druid.pool-prepared-statements=true
  22. spring.datasource.druid.max-open-prepared-statements=50
  23. spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
  24. #max-active=100 最大连接数
  25. #initial-size=1 初始化大小
  26. #max-wait=60000 获取连接等待超时时间
  27. #min-idle=1 最小连接数
  28. #time-between-eviction-runs-millis=60000 间隔多久进行一次检测,检测需要关闭空闲连接,单位毫秒
  29. #min-evictable-idle-time-millis=300000 一个连接在池中最小生存时间,单位毫秒
  30. #filters=stat,wall,log4j,config 配置监控统计拦截的filters,去掉后监控界面SQL无法进行统计,wall用于防火墙
  31. #日志
  32. mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
  33. #配置别名
  34. mybatis-plus.type-aliases-package=com.shrimpking.pojo
  35. #swagger2
  36. spring.mvc.pathmatch.matching-strategy=ant_path_matcher

配置类

DruidDataSourceProperties.java 

  1. package com.shrimpking.config;
  2. import lombok.Data;
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. /**
  5. * Created by IntelliJ IDEA.
  6. *
  7. * @Author : Shrimpking
  8. * @create 2023/9/10 16:58
  9. * 德鲁伊数据源的属性集合
  10. */
  11. @Data
  12. @ConfigurationProperties(prefix = "spring.datasource.druid")
  13. public class DruidDataSourceProperties
  14. {
  15. //jdbc
  16. private String name;
  17. private String type;
  18. private String driverClassName;
  19. private String url;
  20. private String username;
  21. private String password;
  22. //jdbc connection pool
  23. private int initialSize;
  24. private int minIdle;
  25. private int maxActive = 100;
  26. private long maxWait;
  27. private long timeBetweenEvictionRunsMills;
  28. private long minEvictableIdleTimeMills;
  29. private String validationQuery;
  30. private boolean testWhileIdle;
  31. private boolean testOnBorrow;
  32. private boolean testOnReturn;
  33. private boolean poolPreparedStatements;
  34. private int maxOpenPreparedStatements;
  35. private int maxPoolPreparedStatementPerConnectionSize;
  36. private String filters;
  37. }

DruidConfig.java 

  1. package com.shrimpking.config;
  2. import com.alibaba.druid.pool.DruidDataSource;
  3. import com.alibaba.druid.support.http.StatViewServlet;
  4. import com.alibaba.druid.support.http.WebStatFilter;
  5. import org.springframework.beans.BeanUtils;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  8. import org.springframework.boot.context.properties.EnableConfigurationProperties;
  9. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  10. import org.springframework.boot.web.servlet.ServletRegistrationBean;
  11. import org.springframework.context.annotation.Bean;
  12. import org.springframework.context.annotation.Configuration;
  13. import javax.sql.DataSource;
  14. import java.util.Arrays;
  15. import java.util.HashMap;
  16. import java.util.Map;
  17. /**
  18. * Created by IntelliJ IDEA.
  19. *
  20. * @Author : Shrimpking
  21. * @create 2023/9/10 16:28
  22. * 德鲁伊配置类,配置后台监控的
  23. */
  24. @Configuration
  25. @EnableConfigurationProperties({DruidDataSourceProperties.class})
  26. public class DruidConfig
  27. {
  28. @Autowired
  29. private DruidDataSourceProperties properties;
  30. @Bean
  31. @ConditionalOnMissingBean
  32. public DataSource druidDataSource(){
  33. DruidDataSource druidDataSource = new DruidDataSource();
  34. //复制属性的值
  35. BeanUtils.copyProperties(properties,druidDataSource);
  36. return druidDataSource;
  37. }
  38. //配置Druid的监控
  39. //1、配置一个管理后台的Servlet
  40. @Bean
  41. public ServletRegistrationBean statViewServlet(){
  42. ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
  43. Map<String,String> initParams = new HashMap<>();
  44. initParams.put("loginUsername","admin");
  45. initParams.put("loginPassword","1234");
  46. initParams.put("allow","");//默认就是允许所有访问
  47. initParams.put("deny","192.168.100.21");
  48. bean.setInitParameters(initParams);
  49. return bean;
  50. }
  51. //2、配置一个web监控的filter
  52. @Bean
  53. public FilterRegistrationBean webStatFilter(){
  54. FilterRegistrationBean bean = new FilterRegistrationBean();
  55. bean.setFilter(new WebStatFilter());
  56. Map<String,String> initParams = new HashMap<>();
  57. initParams.put("exclusions","*.js,*.css,/druid/*");
  58. bean.setInitParameters(initParams);
  59. bean.setUrlPatterns(Arrays.asList("/*"));
  60. return bean;
  61. }
  62. }

访问路径

http://localhost:8089/druid/login.html

账号密码

admin 1234

 

如果数据源点击了,没有显示,可以找一个controller的接口执行一下,再次访问,就可以看到了。

比如我这里是

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46495
推荐阅读
相关标签
  

闽ICP备14008679号