嗝屁小孩纸 2023-02-25 10:34 采纳率: 80.8%
浏览 22
已结题

Druid 怎么使用它的数据源监控?

在做分布式时,分布式大家都知道,数据库和业务层跟Controller 层是分离的,不在同一台机子。

问题:

  1. 怎么使用 Druid 达到数据源监控的目的,目前我在 Controller 层开启监控,只能监控到 url ,但无法监控 sql 执行,怎么解决?

img

img

  1. 我在 业务层使用 Druid 配置,全部失效,都无法监控到,难道 Druid 是通过监控 MyBatis 注解来实现的吗,在逻辑层做的监控,而不是在数据库上进行监控的吗?

img

img

  • 写回答

4条回答 默认 最新

  • bluetata 云计算领域优质创作者 2023-02-26 12:49
    关注

    可以看一下我的回答,其中部分参考自ChatGPT:
    针对你的问题1的解答:

    1. 在数据库层使用Druid的Filter功能,将SQL语句拦截下来,并用StatFilter来记录SQL执行的时间,慢查询,执行次数等信息。

    2. 在业务层使用Druid的DataSourceProxy,可以拦截Connection对象的操作,记录每个链接的创建时间,销毁时间,以及使用时长等信息。

    3. 在Controller层使用Druid的WebStatFilter,监控url的访问情况,以及访问时长,页面访问的次数等信息。

    通过上述方案,可以有效的实现Druid对分布式环境的数据源监控,从而更好的分析系统的运行状况,提高系统的性能。


    针对你的问题2解答:不是在数据库上进行监控的,Druid 可以监控你在业务层使用的数据库操作。它提供了一个高效的 JDBC 监控和管理功能,其中包括用户名、IP、SQL 语句、时间、执行时间等统计信息。它使用一个内置的数据库进行监控,可以通过 SQL 语句进行监控,而不是通过 MyBatis 注解来实现的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 创建了问题 2月25日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵