阿里的Druid插件有可视化监控数据库性能的界面。在SpringBoot中集成Druid后,可以进入可视化Html界面监控数据库运行情况。本文先介绍Druid的管理界面,然后在介绍Druid的详细配置。
首先访问http://localhost:8001/druid/ ,打开登录页面:
然后输入用户名admin,密码12345678,用户名和密码是在Druid的配置类中设置的,本文后面会介绍,登录成功后,进入管理后台:
菜单功能包括:数据源、SQL监控、SQL防火墙、WEB应用、URI监控、Session监控、Spring监控、JSON API。首先打开数据源:
这时是空的,可以用上节的例子调用接口访问下数据库:
http://localhost:8001/demo/queryParam?parmName=version
然后再刷新下数据源的页面,这时可以看到数据源的信息:
SQL监控界面:
SQL防火墙界面:
URI监控:
Session监控:
Spring监控:
在上节中简单介绍了Druid配置,这里还需增加新的配置和类。首先在主工程的pom.xml中增加log4j依赖,因为Druid需要用到log4j:
然后在openjweb-sys模块的application-dev.yml增加更多的数据源参数设置:
在生产环境中还需要对这些参数进行进一步优化。(另外filters的参数带逗号,在Druid后台中filter类名是空的,这样写是否正确还需要研究下。)
然后在org.openjweb.sys.config下建一个Druid监控类:
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 com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; @Configuration public class DruidMonitorConfiguration {@Beanpublic ServletRegistrationBean druidStatViewServlet() {//ServletRegistrationBean提供的类注册ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");//添加初始化参数 initParams//白名单:servletRegistrationBean.addInitParameter("allow", "127.0.0.1");//这个以后应该写在配置里//黑名单 (共同存在时,deny 优先allow)//如满足deny 就提示sorry ,you are not permitted view this pageservletRegistrationBean.addInitParameter("deny", "193.0.0.1");//登录查看信息的账号和密码servletRegistrationBean.addInitParameter("loginUsername","admin");servletRegistrationBean.addInitParameter("loginPassword","12345678");//是否能重置数据servletRegistrationBean.addInitParameter("resetEnable","false");return servletRegistrationBean ;}@Beanpublic FilterRegistrationBean druidStatFilter() {FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());//添加过滤规则filterRegistrationBean.addUrlPatterns("/*");//添加需要忽略的格式信息filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");return filterRegistrationBean;} }
生产环境下可对上面代码中的参数进行适当调整,并将一些参数写到配置文件里。以上配置完成后启动SpringBoot应用然后访问http://localhost:8001/druid/login.html 即可。
项目源码见Github地址:https://github.com/openjweb/cloud/tree/masterhttps://github.com/openjweb/cloud/tree/master