CN114661558A - 一种基于离线分析数据库Log的通用数据库表监控方法 - Google Patents
一种基于离线分析数据库Log的通用数据库表监控方法 Download PDFInfo
- Publication number
- CN114661558A CN114661558A CN202210381373.2A CN202210381373A CN114661558A CN 114661558 A CN114661558 A CN 114661558A CN 202210381373 A CN202210381373 A CN 202210381373A CN 114661558 A CN114661558 A CN 114661558A
- Authority
- CN
- China
- Prior art keywords
- database
- log
- monitoring
- database table
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于离线分析数据库Log的通用数据库表监控方法,包括首先伪装应用模拟数据库的交互协议;伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;主数据库接收到dump协议后,推送log日志给伪装的应用;从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;消费消息队列中的解析结果,并生成数据库表的操作记录;将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;最后监控和追溯所述监控数据库表中的变更记录。本发明通过根据模拟数据库之间的交互协议,和获取主数据库的日志数据并进行解析、记录,可以快速找到有问题的操作和操作记录影响的范围,减少人工遍历日志产生的工作量。
Description
技术领域
本发明涉及数据库监控技术领域,具体来说,涉及一种基于离线分析数据库Log的通用数据库表监控方法。
背景技术
离线分析数据库Log的通用数据库表监控是对数据库表变更记录的一种有效的监控方案,数据库维护经常忽略表的相关监控,表数据的丢失和误操作很难直接定位到相关的操作记录,需要人工花费大量的时间去检索数据库日志,数据库日志占用空间也远超于一条数据记录的大小,数据量越大的数据库日志对应也会增加,更大的增加了遍历数据库日志的工作量。针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种基于离线分析数据库Log的通用数据库表监控方法,能够克服现有技术方法的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种基于离线分析数据库Log的通用数据库表监控方法,包括以下步骤:
S1:首先伪装应用模拟数据库的交互协议;
S2:伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;
S3:主数据库接收到dump协议后,推送log日志给伪装的应用;
S4:从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;
S5:消费消息队列中的解析结果,并生成数据库表的操作记录;
S6:将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;
S7:最后监控和追溯所述监控数据库表中的变更记录。
2 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述伪装应用需伪装成数据库的从节点来进行交互。
3 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述主数据库推送的log日志为主数据库中表发生的变更日志。
4. 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,操作记录根据DDL和DML进行分类,区分DDL和DML两个类和操作事项。
5. 根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,监控和分析监控数据库包括了解数据库表的操作记录和执行情况;若监控时,出现DML类型为update的记录时,则发起告警。
本发明的有益效果:通过根据模拟数据库之间的交互协议,伪装成数据库的从节点,然后获取主数据库的日志数据,进行解析记录,可以对数据库表的历史操作记录进行详细的查看,快速找到有问题的操作和操作记录影响的范围,减少人工遍历日志的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例所述的基于离线分析数据库Log的通用数据库表监控方法的流程框图。
图2是根据本发明实施例所述的基于离线分析数据库Log的通用数据库表监控方法的流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。为了方便理解本发明的上述技术方案,以下通过具体使用方式上对本发明的上述技术方案进行详细说明。
如图1-2所示,根据本发明实施例所述的基于离线分析数据库Log的通用数据库表监控方法,首先伪装数据库 (或应用)模拟数据库的交互协议,伪装成数据库的从节点进行交互。例如:当前数据库(192.168.51.128)模拟与主数据库(192.168.51.127)的数据库之间交互协议,从而达到伪装的前提,伪装当前数据库为主数据库的从节点,从而建立起来和主数据库之间的连接,通过建立的交互连接,向主数据库发送dump协议,来触发主数据库日志流的传输。
伪装成功后,当前数据库向主数据库发送dump协议,来获取主数据库的日志数据,例如:日志数据记录为:
# at 404
#210509 3:07:57 server id 1 end_log_pos 575 Query thread_id=2609800exec_time=0 error_code=0
use `airflow`/*!*/;
SET TIMESTAMP=1620500877/*!*/;
SET @@session.pseudo_thread_id=2609800/*!*/;
SET@@session.foreign_key_checks=1,@@session.sql_auto_is_null=0,@@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=2097152/*!*/;
SET@@session.auto_increment_increment=1,@@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET@@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
insert_intoOG(ID,SERIES_ID,CONTENT_ID,EPISODE_INDEX, CONTENT_CODE,SERIES_CODE,STATUS,TITLE,ISSUE_NO, EXCUTE_TIME)
values (945615,31955,2246375,25, '55853ae324304a64a1c51342fd02eaa3','f2490c8f0ee2c2ff826128b4812a1818',1,null,null, null)
/*!*/;
然后伪装的应用向主数据库发送dump协议,通知主数据库推送log日志, 主数据库收到dump协议后,会向应用发送日志数据,例如:日志为:
BINLOG '
ke2cYBOYAAAAOwAAAPhp+AEAAFoXAAAAAAEABnphYmJpeAAHaGlzdG9yeQAECAMFAwEIAAEBgJjQ
v+k=
ke2cYB6YAAAA0gAAAMpq+AEAAFoXAAAAAAEAAgAE/wDMnwAAAAAAAJHtnGDsUbgehesQQKEoQgIA
RKAAAAAAAACR7ZxgAAAAAAAAWUCqH1gDAIGgAAAAAAAAke2cYAAAAAAAcFBA6NX+EgA5nQAAAAAA
AJHtnGDml5SqslIDQNvFARMACaAAAAAAAACR7ZxgmpmZmZmZyT+SdwsYAM2fAAAAAAAAke2cYHsU
rkfhetQ//xFcIgBFoAAAAAAAAJHtnGCuR+G6e/EyQcGBlibZKbKz
'/*!*/;
从节点解析主数据库推送的log日志,并将解析结果存储到消息队列中保存,方便后续产生监控数据或者其他相关功能的二次开发,不仅仅限于数据库表的监控。例如:消息队列信息为:
{"data":[{"id":"1","name":"test","code":"001","platform":null,"last_version_code":"0000001","version_number":"1","status":"1","creater_id":null,"updater_id":null,"create_time":null,"update_time":null}],"database":"airflow","es":1579057991000,"id":1,"isDdl":false,"mysqlType":{"id":"bigint(20)","name":"varchar(64)","code":"varchar(64)","platform":"varchar(64)","last_version_code":"varchar(64)","version_number":"int(5)","status":"int(2)","creater_id":"varchar(32)","updater_id":"varchar(32)","create_time":"datetime","update_time":"datetime"},"old":null,"pkNames":["id"],"sql":"","sqlType":{"id":-5,"name":12,"code":12,"platform":12,"last_version_code":12,"version_number":4,"status":4,"creater_id":12,"updater_id":12,"create_time":93,"update_time":93},"table":"log","ts":1579057992325,"type":"INSERT"}。
然后对消息队列中的信息进行消费读取,生成数据库表的操作记录,根据操作记录内容,区分为DDL和DML两类和主要的操作事项,保存在监控数据库中,方便快速过滤数据和展示数据来源,并记录变更信息。
最后监控和追溯所述监控数据库表中的变更记录,监控数据库表的操作记录;按照执行时间、操作类型(DDL、DML)和影响行数等信息进行记录。
监控和分析监控数据库,了解数据库表的操作记录和执行情况,方便定位问题和进行数据同步分享,例如airflow库中dag_stats程序不会去update数据,若监控时,出现dml_type(DML类型)为update的记录时,则发起告警,提醒运维人员进行排查。
综上所述,借助于本发明的上述技术方案,通过根据模拟数据库的交互协议,伪装成数据库的从节点来获取主数据库的日志数据,进行分析记录;有效提高了对数据库表监控的可行性和降低了定位问题的难度;相比传统的人工遍历数据库日志文件来获取数据库表的操作记录大大提高监控的全面性和执行效率;对监控的数据库表进行监控和分析,了解数据库表的操作记录和执行情况,方便定位问题和进行数据同步分享,在数据库表全面监控的背景下,能够有很好的发现问题并解决问题,同时记录操作历史,可以用于其他方向的开发数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于离线分析数据库Log的通用数据库表监控方法,其特征在于,包括以下步骤:
S1:首先伪装应用模拟数据库的交互协议;
S2:伪装的应用向主数据库发送dump协议,通知主数据库推送log日志;
S3:主数据库接收到dump协议后,推送log日志给伪装的应用;
S4:从节点解析主数据库推送的log日志,将解析结果发至消息队列中保存;
S5:消费消息队列中的解析结果,并生成数据库表的操作记录;
S6:将操作记录存储至监控数据库,并根据DDL和DML进行分类,记录变更信息;
S7:最后监控和追溯所述监控数据库表中的变更记录。
2.根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述伪装应用需伪装成数据库的从节点来进行交互。
3.根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,所述主数据库推送的log日志为主数据库中表发生的变更日志。
4.根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,操作记录根据DDL和DML进行分类,区分DDL和DML两个类和操作事项。
5.根据权利要求1所述的基于离线分析数据库Log的通用数据库表监控方法,其特征在于,监控和分析监控数据库包括了解数据库表的操作记录和执行情况;若监控时,出现DML类型为update的记录时,则发起告警。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210381373.2A CN114661558A (zh) | 2022-04-12 | 2022-04-12 | 一种基于离线分析数据库Log的通用数据库表监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210381373.2A CN114661558A (zh) | 2022-04-12 | 2022-04-12 | 一种基于离线分析数据库Log的通用数据库表监控方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661558A true CN114661558A (zh) | 2022-06-24 |
Family
ID=82035069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210381373.2A Pending CN114661558A (zh) | 2022-04-12 | 2022-04-12 | 一种基于离线分析数据库Log的通用数据库表监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661558A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082117A (zh) * | 2023-10-16 | 2023-11-17 | 企查查科技股份有限公司 | 用户会话服务系统、用户会话的分布式管理方法及装置 |
-
2022
- 2022-04-12 CN CN202210381373.2A patent/CN114661558A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117082117A (zh) * | 2023-10-16 | 2023-11-17 | 企查查科技股份有限公司 | 用户会话服务系统、用户会话的分布式管理方法及装置 |
CN117082117B (zh) * | 2023-10-16 | 2024-01-26 | 企查查科技股份有限公司 | 用户会话服务系统、用户会话的分布式管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3968175B1 (en) | Data replication method and apparatus, and computer device and storage medium | |
US7496799B2 (en) | System and method for monitoring the performance of a server | |
CN107038162B (zh) | 基于数据库日志的实时数据查询方法和系统 | |
US7464097B2 (en) | Managing data integrity using a filter condition | |
CN111125260A (zh) | 一种基于SQL Server的数据同步方法及系统 | |
CN112445863A (zh) | 一种数据实时同步方法及系统 | |
CN112182104A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN111506556A (zh) | 一种多源异构的结构化数据同步方法 | |
CN114661558A (zh) | 一种基于离线分析数据库Log的通用数据库表监控方法 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及系统 | |
CN111339118A (zh) | 基于Kubernetes的资源变更历史记录方法及装置 | |
CN105930947B (zh) | 用于控制在离散生产线中的制造过程的方法和系统 | |
CN116501700B (zh) | 一种app格式化文件离线存储方法、装置、设备及存储介质 | |
CN117389825A (zh) | 一种Flink作业日志实时监控方法、系统及装置 | |
CN114911872B (zh) | 内外网数据同步方法、装置、系统、外网服务器及存储介质 | |
CN117149785A (zh) | 一种实现Oracle数据库日志变更处理的方法及装置 | |
CN115391457B (zh) | 跨数据库的数据同步方法、装置及存储介质 | |
CN106096804B (zh) | 一种智能电网调度控制系统模型维护全过程的监视方法 | |
CN115470192A (zh) | 一种数据库元数据采集与管理的方法 | |
CN115114132A (zh) | 一种审计程序的性能测试方法和系统 | |
CN113946556A (zh) | 一种MongoDB实例的慢日志采集方法 | |
CN117472463A (zh) | 一种在云环境下tomcat采集方法 | |
Fjällid | A comparative study of databases for storing sensor data | |
CN118069667A (zh) | 一种基于日志的异构数据库同步方法 | |
CN115455009A (zh) | 一种快速定位主从延迟的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |