暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a MPP Cluster审计日志

三金先生 2023-10-16
239

用于监控 SQL 语句的执行性能。它会记录一些执行用时超过 long_query_time 设定值的 SQL 语句, 供用户进行分析、优化、改写,从而提高 SQL 语句的执行效率。 审计日志信息的两个可选存储位置:

① 在系统表 gbase.audit_log 中存放(推荐);

② 在 /opt/gcluster/log/gcluster/gclusterd-audit.log 日志文件中存放(执行SQL的节点); 注:具体存储方式依赖于全局级变量 log_output 的配置。

配置参数:

SET GLOBAL audit_log = 1; --开启日志功能,设置为0即为关闭审计功能,默认为0。 SET GLOBAL log_output = ‘table’; --设置审计信息存储的位置,默认为file。 SET long_query_time=5; --记录超过5s的sql语句,默认为10秒(Build33之后版本无效,使用审计策略替代)。

审计策略

创建语法:

CREATE AUDIT POLICY [( = [, = ])];

配置举例:

CREATE AUDIT POLICY auditpolicy (enable =‘y’, long_query_time = 5); --记录 超过5s的sql语句,默认为0秒

注: 1. 如不指定可选参数,默认所有SQL均会记录至审计日志; 2. 当多条审计策略同时存在时,满足任一审计策略,都会记录至审计日志;

查询策略:

select * from gbase.audit_policy;

审计日志记录的主要内容包括:

• thread_id: 线程号,同 processlist 中的 ID;

• taskid:每个 sql 任务编号;

• start_time:开始执行时间;

• end_time:结束执行时间;

• user_host:登录的用户和 IP,显示格式为:priv_user[user]@hostname[ip];

• user:用户名;

• host_ip: 用户登录端 IP 地址;

• query_time:执行语句所用时间;

• rows:行数;

• db:执行语句所针对的数据库;

• table_list: 涉及表,格式:``.``[,...];

• sql_text:记录执行用时大于 long_query_time 设定值的 SQL 语句;

• sql_type:sql 类型,如 DDL、DML、DQL、OTHERS;

• sql_command: sql 命令类型,如 SELECT、UPDATE,INSERT,LOAD 等;

• operators: 涉及的算子,比如 JOIN、WHERE、GROUP、HAVING 等;

• status:sql 执行状态,如 SUCCESS、FAILED、KILLED 等;

• conn_type:用户登录方式(CAPI、ODBC、JDBC、ADO.NET、STUDIO);

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论