druid之监控设置及问题小记
druid是什么注不再赘述了。想了解直接参见
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
本文主要记录监控相关部分
1、怎么配置监控
2、注意点
3、应用场景
配置监控
1.打开监控统计
核心配置是这个,一般通过ioc来配置。需要注意的参数是这个
filters : 'stat,wall'
'stat'用于统计,'wall'用于防火墙
2.展示监控统计
在web.xml里配置
<!-- 展示Druid的统计信息,统计数据源和sql --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 白名单 --> <param-name>allow</param-name> <param-value>192.168.1.120/24,111.206.116.68,127.0.0.1</param-value> </init-param> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>account</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>tyts</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping> <!-- 如果需要监控uri,设置Web关联监控配置 --> <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> <init-param> <param-name>exclusions</param-name> <!-- 排除统计干扰 --> <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
注意点
1.访问权限(这里有两层限制)
- 限定指定的ip可以访问。
- 需要通过用户名和密码才可以进入展示页面
限定指定的ip
规则:
如果是限定指定ip,可以直接写完整的ip。例如111.206.116.68。
如果是限定指定的子网里的所有ip都可以访问,那就是ip/子网掩码数。例如 192.168.1.120/24 就相当于192.168.1.*
通过用户名和密码
看web.xml里的例子即可。功能本身就带有。
2.统计的filters
druid提供了一些内置filter实例。这里用的是stat和wall。一个是用于监控,一个是用于防火墙
如果想使用sql防火墙,必须加上wall
3.weburi-detail.html详情页里不能显示带.json后缀的uri详情,因为在druid的代码进行了处理
if (url.startsWith("/weburi-") && url.indexOf(".json") > 0) { String uri = StringUtils.subString(url, "weburi-", ".json"); return returnJSONResult(RESULT_CODE_SUCCESS, getWebURIStatData(uri)); }
应用场景(或者说监控页面关注的选项)
数据源
连接数设置,事务及连接数使用情况以及使用详细情况
SQL监控
执行时间,最慢,读取行数,最大并发数,以及时间分布。不一一说明
SQL防火墙
可以看出表的使用情况
Web应用
并发,请求数,来源于哪个类型操作系统,来源于哪些浏览器
URI监控
请求次数,请求时间,最大并发,区间分布
参考资料:
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
http://blog.csdn.net/blogdevteam/article/details/7750513
http://blog.csdn.net/renfufei/article/details/39553639
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?