德鲁伊(Druid)后台监控配置详细操作。生产环境定位问题方法

前言

从写System.out.println(“hello world!”)开始,到现在我一直认为,一个项目的系统上线,完成CURD(增删改查)的代码远远不够。为便于项目快速定位问题、排查思路、压力监控、加载缓慢等疑难杂症,你们如今又留了几手去捕捉呢?当然,成熟的软件公司会有运维部的支撑,极大程度上帮忙定位和解决了非代码上问题。对我现在的情况而言,拿到的产线环境,甚至还要自己去敲命令挂载磁盘…因此,不得不为上线后的问题排查做好几手的准备。今天就分下一下个人在项目中使用的Druid的监控配置。

1.1Druid 德鲁伊简介

1.Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。
2.Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。
3.Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。
4.Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。
5.Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成 Druid 数据源,如何实现数据库监控。

1.2Druid 德鲁伊监控配置

操作十分简单,总体就两步:1.引入依赖 2.配置Configuration
依赖:

 		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

编写配置类:

package com.zym.conf;

import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
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;

/**
 * 德鲁伊监控配置
 * @author zym
 * @date: 2022/11/1 下午10:43
 */
@Configuration
public class DruidConfig {
    @Bean
    public ServletRegistrationBean<StatViewServlet> registrationBean() {
        ServletRegistrationBean<StatViewServlet> servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
        // 添加IP白名单
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
        // 添加IP黑名单,当白名单和黑名单重复时,黑名单优先级更高
        servletRegistrationBean.addInitParameter("deny", "192.168.25.123");
        // 添加控制台管理用户
        servletRegistrationBean.addInitParameter("loginUsername", "zym");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
        // 是否能够重置数据
        servletRegistrationBean.addInitParameter("resetEnable", "false");
        return servletRegistrationBean;

    }

    /**
     * 配置服务过滤器
     *
     * @return 返回过滤器配置对象
     */
    @Bean
    public FilterRegistrationBean<WebStatFilter> statFilter() {
        FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<>(new WebStatFilter());
        // 添加过滤规则
        filterRegistrationBean.addUrlPatterns("/*");
        // 忽略过滤格式
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,");
        return filterRegistrationBean;
    }


}

1.3相关配置参数说明

德鲁伊(Druid)后台监控配置详细操作。生产环境定位问题方法_第1张图片

2.启动查看

访问项目地址/druid/webapp.html
查看如下:
德鲁伊(Druid)后台监控配置详细操作。生产环境定位问题方法_第2张图片
德鲁伊(Druid)后台监控配置详细操作。生产环境定位问题方法_第3张图片

德鲁伊的好出在于,配置完成后,可监控的范围很广泛,如当前系统请求次数最多的url,执行最多的sql,执行最缓慢的sql,并发量最高的时间点及功能…
具体的功能不再多说,感兴趣的同学可自己配置完查看,非常方便,监控内容非常详细,帮助我们线上项目准确的定位到service的方法及sql语句上。如有疑问,欢迎留言交流。

不应没有掌声,就不去做。
0 error(s) , 0 warning(s)

你可能感兴趣的:(java后台,java,spring,boot,开发语言,运维,数据库)