美文网首页alreadyDruidspringboot
Druid 监控分布式解决方案

Druid 监控分布式解决方案

作者: 冷冷zz | 来源:发表于2020-10-21 12:04 被阅读0次

什么是 Druid Monitor

Druid 是一个非常强大的数据库连接池,但是它的强大并不仅仅体现在作为一个高性能连接池加快数据访问上和连接管理上,它内置了一个强大的监控工具:Druid Monitor。不仅可以监控数据源和慢查询,还可以监控 Web 应用、URI 监控、Session 监控、Spring 监控等。

  • ip:port/druid/sql.html

什么是 Druid Admin

  • 如上文所述, Druid Monitor 提供强大的监控能力,但目前仅是针对对单个服务实例的监控。 在微服务架构日益流行的时下,同一个服务可能有会有 N 个实例,监控维度需要上升至 集群

  • 官方在 druid 1.2.1 版本后,提供 druid-admin 模块 来解决集群监控的问题。

  • 如下图我们可以在原有的监控集群上可以动态的切换服务名称,做到一个监控入口,实现不同服务的监控切换

Spring Cloud Stater 封装

  • 目前官方的 druid-admin 正在开发工程中,并不能直接编译运行(依赖包错误、不支持 java11 等)。

  • druid-admin 本身是一个直接可运行的 web 服务,对目前已有服务不太友好,不能做到 spring boot admin 那种即插即用

  • 所以基于上述问题,笔者对 druid-admin 进行了相关的修改,直接抽取成 spring boot starter 引入即用。

1. 增加依赖

        <dependency>
            <groupId>com.pig4cloud.plugin</groupId>
            <artifactId>spring-cloud-starter-druid-monitor</artifactId>
            <version>0.0.1</version>
        </dependency>


        <!--注册中心客户端(支持 nacos/eureka/consul)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2. 接入注册中心和需要监控的服务列表

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

# druid-admin 需要监控的列表
monitor:
  applications:
    - pigx-upms-biz
    - pigx-auth

3. 目标服务暴露 druid 监控端点

spring:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        allow: ""
        url-pattern: /druid/*

4. 访问 druid-admin 查看集群监控

  • ip:port/druid/sql.html

整合 Spring Boot Admin

  • 引入上述依赖,增加如下配置即可
spring:
  boot:
    admin:
      ui:
        external-views:
          - label: "SQL监控"
            url: /druid/sql.html
            order: 2000

使用限制

  • 由于 druid monitor 的登录校验基于 session 设计,所有在无状态的微服务中不适用。建议直接暴露所有 druid 相关的端点,通过前置网关统一接口权限。

  • 目前实例监控数据是保存在对应内存中,仅在查看时通过每个实例汇总后显示,后期会实现持久化。

相关文章

  • 2018-01-18

    Druid Sql 防御的监控截图 Druid SQL 监控的截图 Druid 应用监控的截图

  • Druid 监控分布式解决方案

    什么是 Druid Monitor Druid 是一个非常强大的数据库连接池,但是它的强大并不仅仅体现在作为一个高...

  • Druid 监控分布式解决方案

    什么是 Druid Monitor Druid 是一个非常强大的数据库连接池,但是它的强大并不仅仅体现在作为一个高...

  • 微架构 springcloud-06. springboot-监

    监控druid 数据源、异常全局捕获、打包 监控druid 数据源 从第[4]节开始,开始使用到druid连接池,...

  • springboot 集成 druid

    SpringBoot整合Druid完成MySQL数据访问,以及配置Druid监控模块整合。 添加Druid依赖

  • SpringBoot整合druid

    Druid是Alibaba开源的的数据库连接池。Druid能够提供强大的监控功能,比如sql监控、URI监控、Se...

  • Druid 监控实现原理

    Druid监控功能 druid提供了丰富的监控功能,这篇文章主要分析下监控功能的实现原理。 通过代理模式控制sta...

  • springboot整合druid数据源,开启监控管理

    druid依赖 添加druid配置类 启动springb项目,访问/druid,即可登录。 常见问题,开启监控之后...

  • SpringBoot Druid 配置详解

    SpringBoot Druid 配置详解 druid监控数据的外部化调用 赵小胖个人博客

  • 阿里Druid监控页面分析

    本文主要介绍Druid监控页面的生成流程及代码手法 监控效果图 以下是Druid自带的监控页面图,主要用于展示在D...

网友评论

    本文标题:Druid 监控分布式解决方案

    本文链接:https://www.haomeiwen.com/subject/hvismktx.html