一、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执行信息的步骤:
- 在druid监控页面中,选择数据源。
- 在数据源页面中,点击“SQL”选项卡。
- 在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监控页面时,需要进行登录验证。可以通过配置文件设置登录用户名和密码,或者实现自定义的登录验证。以下是登录验证的步骤:
- 在浏览器中输入druid监控页面的地址。
- 输入登录用户名和密码。
- 提交表单进行认证。
- 如果认证通过,则可以访问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监控的详细介绍,包括页面访问、授权验证、监控指标、登录验证、配置、默认密码、页面打开失败、页面关闭和数据源选取等方面,希望能为开发人员提供帮助。