SQL洞察和审计

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当您在安全合规审计、性能分析、故障排除等场景下需要监控和管理RDS PostgreSQL实例中执行的SQL语句时,可以利用SQL洞察和审计功能对SQL语句的执行情况进行记录和聚合分析。开启该功能后会自动记录来自数据库内核的SQL语句,以及SQL语句的执行账号、IP地址、执行详情等信息,对实例性能没有影响。

前提条件

计费

请参见计费详情

说明

开通SQL洞察和审计之后,原SQL审计(数据库审计)将停止计费,新版本的SQL洞察和审计将按照DAS企业版进行收费。

功能介绍

  • 审计:查询并导出SQL语句执行历史及其对应的各种信息,包括所属数据库、执行状态、执行时间等相关信息。

    说明
    • SQL洞察和审计控制台页面中开启或关闭审计日志,会变更内核参数log_statement

      • 开启审计日志会设置log_statement = all

      • 关闭审计日志会设置log_statement = ddl

    • 还可使用ModifySqlLogConfig接口进行开启或关闭审计日志。

  • SQL洞察:对SQL进行健康情况诊断、性能问题排查、业务流量分析等。

注意事项

如果实例启用了PgBouncer连接池,通过PgBouncer执行的SQL不会被SQL洞察和审计记录。

开启SQL洞察和审计

说明

当前只能开通本实例支持的最新版本的SQL洞察和审计。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 单击开启审计日志,勾选需要开启的功能,并单击提交

    image

使用SQL洞察和审计

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏,选择自治服务 > SQL洞察和审计,按需使用审计SQL洞察功能。

修改SQL洞察和审计数据存储时长

警告

减少SQL洞察和审计数据存储时长后,DAS会立刻将超过存储时长的SQL审计日志清空。建议您将SQL审计日志导出并保存至本地后,再减少SQL洞察和审计数据存储时长。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 单击服务设置

  4. 服务设置页,修改存储时长并提交

    说明

    SQL洞察和审计数据的存储空间由DAS侧提供,不占用数据库实例的存储空间

关闭SQL洞察和审计

警告

SQL洞察和审计功能关闭后,SQL洞察和审计的日志会被清空。建议您将SQL洞察和审计的日志导出并保存至本地后,再关闭SQL洞察和审计功能。当重新开启SQL洞察和审计功能时,SQL洞察和审计的日志将从本次开启SQL洞察和审计的时间开始记录。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏中,选择自治服务 > SQL洞察和审计

  3. 日志列表区域,单击导出

    您可以选择导出字段和导出时间范围。对于采用冷热混合存储的SQL洞察和审计,导出数据时需要选择CSV分隔符

  4. 配置导出任务,待导出完成后,单击任务列表,下载已导出的文件并妥善保存。

  5. 单击服务设置,关闭SQL洞察和审计。

    如果您开通了DAS 企业版,请去掉SQL洞察和审计所有功能的勾选,单击提交

    重要
    • 关闭SQL洞察和审计功能1小时后,系统会释放SQL洞察和审计数据占用的存储空间

    • 如果您在日志服务的CloudLens for RDS开启了RDS PostgreSQL实例的审计日志采集功能,系统会自动开启对应RDS PostgreSQL实例的SQL洞察和审计功能,因此您还需要关闭该数据库实例的审计日志采集功能。详情请参见CloudLens for RDS

常见问题

Q:为什么无法查询到RDS PostgreSQL实例中执行失败的SQL?

A:对于RDS PostgreSQL实例,执行失败的SQL会被记录在实例的错误日志中,而不会被记录在审计日志中。查询实例的错误日志请参见查看日志

Q:为什么日志列表中展示的数据库名称和SQL语句中的不一致?

A:日志列表中所展示的数据库名称是从会话中获取的,而SQL语句中的数据库名称则由用户指定,取决于用户的输入或查询的设计,例如跨数据库查询、动态SQL等场景。两者之间可能存在不一致的情况。

Q:为什么实例控制台中SQL审计入口消失了?

A:由于SQL洞察和审计功能版本更新,最新版的入口已经变成了SQL洞察和审计

Q:还能开通旧版本的SQL审计吗?

A:当前只能开通本实例支持的最新版本的SQL洞察和审计。详情请参见产品系列及支持的功能