千家信息网

UAVStack的慢SQL数据库监控功能及其实现是怎样的

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关UAVStack的慢SQL数据库监控功能及其实现是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。UAVS
千家信息网最后更新 2025年12月02日UAVStack的慢SQL数据库监控功能及其实现是怎样的

本篇文章给大家分享的是有关UAVStack的慢SQL数据库监控功能及其实现是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

UAVStack是一个全维监控与应用运维平台。UAV.Monitor具备监控功能,包含基础监控、应用/服务性能监控、日志监控、业务监控等。在应用监控中,UAV可以根据应用实例画像;其中应用实例组件可以对日志、服务、客户端等进行画像;基于客户端的画像又分为Http、Dubbo、MQ、Kafka、JDBC、Redis、MongoDB等等。

一、背景

作为一个工作多年的程序员或运维人员,相信你一定遇到过以下情况:

场景一:系统出现异常情况,运维人员没能在第一时间发现,反而是业务方在使用过程中反馈系统崩溃、页面点不开。查看系统日志,发现一直在报连接数据库异常;

场景二:新功能上线稳定运行一段时间后,用户反馈页面响应越来越慢,打开一个页面要等好久。排查问题,发现是一个慢SQL影响了整个功能的体验。

为此,UAVStack开发了数据库监控功能。最初,数据库监控功能只是对数据源、数据库连接池进行了指标采集,通过客户端画像可以查看实时的数据库连接池信息以及操作计数。最近UAVStack又解锁了一项新功能--慢SQL监控,使数据库监控功能更加完善。

今天小编就向大家介绍一下数据库监控的具体实现。文章中出现的以下关键字全部用简称代替:

· 中间件增强框架:英文MonitorFramework,简称MOF · 健康管理服务:英文HealthManager,简称HM · 监控代理程序:英文MonitorAgent,简称MA

二、关键技术&UAV自研框架

· MOF Agent注入机制:MOF Agent的注入机制以Java agent以及Javaassit技术作为基础支撑。Java agent负责拦截和转换字节码流,转换过程中使用Javaassist进行解析和修改,在应用服务器生命周期的关键位置注入切点,为MOF框架初始化、应用的画像信息和实时监控数据信息捕获提供基础。

· InterceptFramework框架:在应用启动的特定生命周期内改写字节码,植入特定的逻辑处理代码,即画像数据采集,采集的数据包含服务画像以及客户端画像;客户端画像包含Http、Dubbo、MQ、Kafka、JDBC、Redis、MongoDB等常见的开源组件,系统中调用的第三方服务都会被列为是客户端的对象,比如系统中调用了第三方系统的接口都属于客户端的范畴。

· CaptureFramework框架:通过InterceptFramework框架在特定的生命周期改写字节码植入特定的逻辑代码,在植入的逻辑代码中可以通过CaptureFramework画像的Monitor捕获体系的能力采集数据以及数据存储。具体实现为采用doCapture来实现在特定的捕获点执行抓取数据行为,采用doPreStore来实现在存储数据结构之前的一些捕获动作,对抓取的数据进行特殊数据的处理,获取到处理完成后的数据再通过UAVServer调用具体的Supporter,最后实现数据落地。

三、组成部分

慢SQL监控的实现分为四个组成部分:

· 慢SQL的动态启停:慢SQL的监控启/停依赖于MOF的Global Filter机制。在应用初始化时,UAV对应用的Filter进行了改写,提供了向MOF下发指令的接口。只要调用接口传入规定的参数便可以实现对慢SQL监控的动态启停。UAV系统中并不存在其它服务直接调用MOF的操作,都是通过MA来完成的。大家可以把MA理解为服务请求方与MOF之间的媒介。

· 慢SQL数据采集:依赖InterceptFramework框架在特定的生命周期改写字节码植入特定逻辑,同时采用MOF的CaptureFramework框架进行数据抓取并生成抓取结果。MA会对生成结果的文件进行定时采集并封装成固定的数据结构发送至MQ。

· 数据存储:在HM中创建独立的feature进行数据处理,消费MA推送至MQ中的数据,完成数据清洗再存储至ES。由于数据采集的结果进行了特殊的约定,从MQ拿到的数据并不能直接转换成相应的结果,需要进行相应的解析处理才能进行存储(由于采集的数据中字段较多、可能含有特殊的字符会影响对数据的解析,在生成数据结果时有规则约束才能实现数据的正确解析)。数据库监控的feature还提供了查询、统计慢SQL操作的相关接口。

· 页面展示:操作页面可自主启停数据库监控,设置慢SQL的时间阈值。启停以及时间阈值的设置依赖于MA向MOF发送指令。页面展示的SQL统计、追踪等信息则通过HM的接口获取。

四、功能展示

数据库监控目前已实现的功能有SQL分类统计、数据库连接池监控、慢SQL耗时分布统计、慢SQL统计、慢SQL追踪以及调用链/日志关联功能。

SQL分类统计:

· 数据来源:OpenTSDB(通过画像采集指标)

· 针对插入、删除、更新、查询、批量操作进行分类统计

· 根据时间分布展示数据库的访问情况,根据时间分布展示数据库的访问情况,展示所选时间段的总访问计数(累计值)

· 可以自定义时间条件查询历史数据

数据库连接池监控:

· 数据来源:OpenTSDB(通过画像采集指标)

· 可以查看连接池总连接数、活动连接数、空闲连接数的变化曲线

慢SQL耗时分布统计:

· 数据来源:ES

· 慢SQL统计可根据分类进行展示统计

· 针对慢SQL的耗时分布统计,最多查询100条

· 根据时间分布展示数据库慢SQL的访问情况,展示当前时间点的慢SQL访问时间、SQL、耗时

· 可以根据设置查询历史数据

慢SQL统计:

· 数据来源:ES

· 针对所有类型的SQL

· 根据时间分布展示数据库某时间段的慢SQL统计

· 可以根据设置查询历史数据

慢SQL追踪:

· 数据来源:ES

· 查询条件为:关键字、是否慢SQL追踪、时间范围

· 根据搜索条件查询SQL追踪列表,列表展示内容为:SQL语句、总执行次数、执行总时间、平均执行时间、操作-可查看详情

慢SQL追踪-详情查看:

· 数据来源:ES

· 慢SQL详情:点击某一条慢SQL统计可查看详情:包含开始执行时间、执行时长、入参、执行结果、影响条数

慢SQL追踪-调用链关联:

· 应用监控中需开启轻度调用链

· 点击某一行详细的执行时间,可以跳转至调用链页面,查看调用链的详细内容(相关的调用链高亮显示)

慢SQL追踪-日志关联:

· 应用监控中需开启日志归集

· 点击某一行详细的调用链内容的日志关联,可查看相应的日志信息,相关的日志行数高亮显示

五、总结

数据库监控是不容忽视的,好的数据库监控可以帮助优化系统并进行实时预警。通过文中介绍的数据库连接池监控,运维人员可以随时关注数据库连接池的状态,有效防止系统出现连接池活动连接数占满无法连接数据库的情况;而慢SQL监控功能可以动态展示一个系统的SQL情况,帮助优化SQL语句,让系统更稳定。

以上就是UAVStack的慢SQL数据库监控功能及其实现是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

数据 监控 数据库 时间 统计 画像 应用 功能 系统 日志 框架 服务 查询 客户 情况 页面 来源 结果 信息 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 社会网络安全防范措施 销售实时数据库软件哪家好 炫酷网络技术群 网络安全制度建设实施方案 查看服务器数据盘大小 王牌战争的服务器维护到什么时候 存储和服务器连接 青岛哪家网络技术公司最大 健康宝通勤数据库 服务器管理器角色添加 游戏服务器 性能测试 大数据和网络安全关系 2018网络安全宣传周标示 php安装数据库 江苏统一软件开发价格标准 网络安全信息化建设调研报告 我的世界网易服务器安全区指令 网络安全资产管理办法 大型分布式游戏服务器 河南推广软件开发诚信服务 禁毒手册网络安全教育 延庆区多功能网络技术哪里好 计算机数据库管理系统属于什么 上海摩足浴软件开发哪家好 网络安全模式能打印吗 广州电商软件开发要多少钱 正规软件开发哪家便宜 数据库连接池max和min 油之源网络安全 信息网络安全的重要性简单3点
0