作为各种组织的数据储存和管理的核心,确保数据库的安全性和稳定性尤为重要。SQL数据库监控(query monitor)是确保数据库安全性和稳定性的关键。

历史监控主要用于存储和分析过去的数据库活动。它可以帮助数据库管理员找出性能瓶颈,解决问题,优化数据库性能。这个功能通过收集数据库活动的统计信息来工作。这些统计信息包括查询执行时间,表的读写次数,索引的使用情况等等。可以查看在特定时间内执行的查询,或者查看在某个时间点的数据库的总体性能。


OushuDB历史SQL监控功能的交互界面


这个功能也可以帮助你找出哪些查询在特定时间内消耗了最多的资源。可以使用这个信息来优化这些查询,提高数据库的性能。


OushuDB还支持历史SQL监控功能,可以让数据库管理员查看和分析数据库中过去的性能问题。

目前OushuDB 5.3版本的历史SQL监控功能除了支持语句历史角度的监控外还支持以下几点功能:

● 打开和关闭监控功能

● 配置监控的参数

● 查看监控日志 

● 维护监控日志


OushuDB 监控日志的格式

打开和关闭监控

监控功能的总开关通过参数 query_monitor_enabled 控制,支持 reload 加载。

oushudb config -c query_monitor_enabled -v on

oushudb reload cluster -a 


配置监控参数

OushuDB 支持的监控参数

目前支持设置监控语句的最小执行时间的参数,参数名称为:

query_monitor_log_min_duration。

单位是 ms,默认最小监控时间是 0 ms,即监控全部的 DML 语句。


使用 OushuDB 命令行配置监控参数

OushuDB 支持监控策略的动态加载。

以配置 query_monitor_log_min_duration 为例:

oushudb config -c query_monitor_log_min_duration -v 18000 

oushudb reload cluster -a 


查看监控日志

监控日志的目录为 ${OUSHUDB_LOG_PATH}/monitor, OUSHUDB_LOG_PATH 环境变量可以通过如下命令获取:

source /usr/local/oushu/oushudb/oushudb_path.sh

env ${OUSHUDB_LOG_PATH}

监控日志的文件名称为 oushudb-monitor-${worker_number}-${timestamp}.csv。

其中 ${worker_number} 是指当前工作的监控线程,${time_stamp} 是指监控线程创建监控日志文件时获取的系统时间戳。

监控日志的查看可以通过 Skylab 中 Lava 产品的数据库监控界面查看。


维护监控日志

监控日志支持文件的翻转 (log rotaion) 和清理 (purge) 功能。

监控日志的默认翻转策略是:

● 1 GB 进行一次日志翻转

● 24 小时进行一次日志翻转

● 监控目录维护 10 GB 的日志容量