druid监控详解

一、druid监控页面

druid监控页面是一个监控druid集群的Web界面。访问该页面可以查看集群中的数据源、监控指标、配置等信息。在浏览器中输入druid集群的IP地址和监控端口(默认8081),即可打开druid监控页面。

<http://your.druid.path:8081>

二、druid监控页面未授权访问

为了保证druid监控页面的安全性,druid默认不允许未经授权的访问。如果客户端和druid集群不在同一机器上,或者需要对druid监控页面进行授权访问,则需要修改druid的配置文件。在druid配置文件中,找到以下代码段:

druid.extensions.security=druid-basic-security
druid.auth.authenticatorChain=["default"]

将上述代码段修改为:

druid.extensions.security=druid-basic-security
druid.auth.authenticatorChain=myCustomAuth

其中,{@code myCustomAuth}是授权验证模块的实现类名。授权验证模块可以继承{@code com.alibaba.druid.support.http.WebStatFilter}类,并重写其方法,实现授权验证。例如:

public class MyCustomAuth extends WebStatFilter {
    @Override
    public boolean isPermitted(HttpServletRequest request) {
        //授权验证逻辑
        return true; //通过验证
    }
}

三、druid监控指标

druid监控页面可以查看druid集群的监控指标,包括HTTP请求、JVM信息、SQL执行信息等。其中,SQL执行信息是druid监控的核心部分,可以帮助开发人员快速发现SQL语句的性能问题。

以下是查看SQL执行信息的步骤:

  1. 在druid监控页面中,选择数据源。
  2. 在数据源页面中,点击“SQL”选项卡。
  3. 在SQL页面中,可以查看SQL语句、执行时间、执行次数、平均执行时间等信息。

四、druid监控平台登录

如果开启了druid监控页面的授权验证,访问页面时需要进行登录验证。默认情况下,druid监控平台的用户名和密码可以在配置文件中进行设置:

druid.monitor.username=admin
druid.monitor.password=123456

如果需要将用户名和密码存储在数据库中,则需要实现自定义登录逻辑。在druid配置文件中添加如下代码段:

druid.extensions.security=myCustomAuth
druid.auth.authenticatorChain=myCustomAuth

其中,{@code myCustomAuth}是自定义登录模块的实现类名。自定义登录模块可以继承{@code com.alibaba.druid.support.http.WebStatFilter}类,并重写其{@code getUserPrincipal}方法,实现登录认证。例如:

public class MyCustomAuth extends WebStatFilter {
    @Override
    public Principal getUserPrincipal(HttpServletRequest request) {
        //登录认证逻辑
        return new Principal() {
            @Override
            public String getName() {
                return "customUser"; //返回自定义用户名
            }
        };
    }
}

五、druid监控配置

druid监控的配置信息存储在{@code application.yml}文件中。以下是常见的监控配置属性:

  • {@code spring.datasource.druid.stat-view-servlet.url-pattern}:druid监控页面的访问路径,可修改为其他路径。
  • {@code spring.datasource.druid.stat-view-servlet.allow}:允许访问druid监控页面的IP地址。支持IP地址段(用*代替),多个地址之间用逗号分隔。
  • {@code spring.datasource.druid.stat-view-servlet.deny}:禁止访问druid监控页面的IP地址。支持IP地址段(用*代替),多个地址之间用逗号分隔。
  • {@code spring.datasource.druid.stat-view-servlet.login-username}:druid监控平台的用户名。
  • {@code spring.datasource.druid.stat-view-servlet.login-password}:druid监控平台的密码。

六、druid监控默认密码

如果没有在配置文件中指定druid监控平台的用户名和密码,则可以使用默认密码进行登录。默认情况下,用户名为“admin”,密码为“admin”。如果需要修改默认密码,则可以在druid配置文件中添加如下代码段:

druid.monitor.username=admin
druid.monitor.password=admin123

七、druid监控页面打不开

如果无法访问druid监控页面,则可能存在以下原因:

  • druid监控模块未正确引入到应用程序中。
  • druid监控页面的访问地址错误。
  • druid监控模块的版本与应用程序不兼容。
  • 防火墙或其他网络安全措施阻止了访问。

解决方法分别是:

  • 将druid监控模块添加到应用程序的依赖中。
  • 检查druid监控页面的访问地址是否正确。
  • 使用与应用程序兼容的druid监控模块版本。
  • 允许访问该地址的网络策略。

八、druid监控登录验证

当访问druid监控页面时,需要进行登录验证。可以通过配置文件设置登录用户名和密码,或者实现自定义的登录验证。以下是登录验证的步骤:

  1. 在浏览器中输入druid监控页面的地址。
  2. 输入登录用户名和密码。
  3. 提交表单进行认证。
  4. 如果认证通过,则可以访问druid监控页面。

九、druid监控页面如何关闭

关闭druid监控页面的方法取决于应用程序的运行方式和druid监控模块的配置方式。

如果应用程序以嵌入式Tomcat方式运行,则可以通过停止Tomcat来关闭druid监控页面:

bin/shutdown.sh #Linux/MacOS
bin/shutdown.bat #Windows

如果应用程序以外部Tomcat方式运行,则可以在Tomcat的Web应用程序管理界面中停止druid监控应用程序。

如果druid监控模块通过应用程序的依赖方式进行引入,则可以在应用程序中停用该模块,以关闭druid监控页面。

十、druid监控不显示数据源选取

如果在druid监控页面中无法看到数据源选项卡,则需要检查配置文件中是否已经设置了要监控的数据源。

在druid配置文件中,添加以下代码段:

spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin

其中,{@code spring.datasource.druid.filter.stat.enabled=true}表示开启统计监控。如果仍未显示数据源选项卡,则需检查数据源是否已经成功连接。

以上是druid监控的详细介绍,包括页面访问、授权验证、监控指标、登录验证、配置、默认密码、页面打开失败、页面关闭和数据源选取等方面,希望能为开发人员提供帮助。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/155510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-17 02:41
下一篇 2024-11-17 02:41

相关推荐

  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论