采集RDS SQL审计日志

更新时间:
复制 MD 格式

本文介绍如何通过日志服务控制台采集RDS SQL审计日志。

前提条件

如果在日志服务控制台的接入向导中找不到目标RDS实例,或开启投递失败,请先在RDS控制台确认该实例的SQL洞察(RDS MySQL实例)或SQL审计(RDS SQL Server实例、RDS PostgreSQL实例)已开启且处于正常运行状态,再返回日志服务控制台重新操作。

操作步骤

重要

推荐使用 CloudLens for RDS 采集和管理 RDS SQL 审计日志。跨账号、跨地域场景建议使用日志审计服务。本文介绍的接入数据方式为备选方案,可由 CloudLens for RDS 代替。

如需使用接入数据方式,请按以下步骤操作。

  1. 登录日志服务控制台

  2. 接入数据区域,单击RDS 审计-云产品

  3. 选择日志空间页签中,选择您已创建的目标ProjectLogStore,单击下一步

  4. 数据源配置页签中,完成RAM 授权,单击开通投递 > 下一步

    重要
    • 如果您还未授权日志服务分发日志,请单击RAM 授权右侧的授权,根据页面提示完成授权。授权成功后会创建一个RAM角色AliyunLogArchiveRole,日志服务将扮演这个RAM角色收集日志信息。

    • 如果页面中未显示目标RDS实例或开启投递失败,可能是因为您的RDS实例不符合条件。您可以参见本文中的前提条件检查您的RDS实例。

    • 请选择自行创建、用于存储审计日志的ProjectLogStore。如果选择了系统为其他功能自动创建的专用资源(例如名称以sls-alert-开头的ProjectLogStore),可能导致开启投递后查询不到审计日志。如果已经关联了错误的目标资源,请先关闭该RDS实例的投递开关,再重新开启,并在向导中重新选择正确的ProjectLogStore。

    页面提示同一地域下的RDS实例只能投递到相同地域的日志服务日志库。实例列表包含实例名数据库类型地域开通投递(开关控件)和投递目标列,可在列表中找到目标实例并开启投递。

  5. 查询分析配置页签中,单击下一步

    日志服务默认为RDS SQL审计日志对应的LogStore开启并配置索引。如果您要修改索引,请参见创建索引

后续步骤

  • 在您需要监控和管理RDS MySQL实例中执行的SQL语句时,可以利用SQL洞察和审计功能对SQL语句的执行情况进行记录和分析,在RDS MySQL控制台开启、关闭SQL洞察和审计等信息,请参见SQL洞察和审计

  • 阿里云日志服务与云数据库RDS联合推出CloudLens for RDS。您可以通过CloudLens for RDS实时查看RDS SQL审计日志、错误日志和慢日志的采集状态,集中管理采集配置,并可基于采集到的日志进行后续的审计、分析、告警等操作。更多信息,请参见CloudLens for RDS(原RDS审计中心)

  • 日志服务采集到RDS SQL审计日志后,您可以执行查询分析、下载、投递、加工、创建告警等操作。具体操作,请参见云产品日志通用操作

常见问题

为什么日志服务中的RDS SQL审计日志出现重复采集?

重复数据通常是因为同一个RDS实例存在两份同时生效的采集配置:一份是RDS控制台早期版本的SQL审计日志功能自动创建的采集配置,日志被投递到云产品自动创建的Project;另一份是在日志服务中手动接入或纳管创建的配置。请按以下方式排查并去重:

  1. RDS控制台检查目标实例的SQL审计日志投递设置,确认其投递的目标ProjectLogStore。

  2. 在日志服务控制台检查该实例的RDS审计日志接入配置,确认其目标ProjectLogStore。

  3. 如果两处指向不同的ProjectLogStore,说明存在两份采集配置。只保留需要的那一份,关闭多余的配置。

关闭多余配置后不再产生重复数据,已经采集入库的历史数据不会自动清理。

如何基于RDS审计日志配置钉钉告警(例如慢查询、DELETE操作)?

  1. 按本文的操作步骤,或使用CloudLens for RDS,将RDS SQL审计日志和慢日志采集到日志服务。

  2. 在日志服务控制台,基于存储审计日志的LogStore创建告警规则。用查询语句筛选需要监控的SQL语句,例如筛选DELETE操作、执行时间超过阈值的慢查询,并可叠加表名、影响行数等条件作为触发条件。创建告警规则的具体操作,请参见“后续步骤”中列出的云产品日志通用操作文档。

  3. 在告警规则的通知方式中选择钉钉机器人,填入钉钉群机器人的WebHook地址,即可在触发告警时实时推送到钉钉群。