本文介绍如何通过日志服务控制台采集RDS SQL审计日志。
前提条件
已创建RDS实例,且已开启SQL审计(RDS SQL Server实例、RDS PostgreSQL实例)或付费版的SQL洞察(RDS MySQL实例)功能。RDS MySQL实例必须开启付费版的SQL洞察,仅开启基础版SQL审计的实例,日志服务无法采集其SQL审计日志。
如果是RDS MySQL实例,请参见快速创建RDS MySQL实例、SQL洞察。
如果是RDS SQL Server实例,请参见快速创建并使用RDS SQL Server实例、SQL审计(数据库审计)。
如果是RDS PostgreSQL实例,请参见快速创建RDS PostgreSQL实例、SQL审计(数据库审计)。
在RDS实例所在地域,已创建日志服务Project和LogStore。具体操作,请参见创建Project和LogStore。
如果在日志服务控制台的接入向导中找不到目标RDS实例,或开启投递失败,请先在RDS控制台确认该实例的SQL洞察(RDS MySQL实例)或SQL审计(RDS SQL Server实例、RDS PostgreSQL实例)已开启且处于正常运行状态,再返回日志服务控制台重新操作。
操作步骤
推荐使用 CloudLens for RDS 采集和管理 RDS SQL 审计日志。跨账号、跨地域场景建议使用日志审计服务。本文介绍的接入数据方式为备选方案,可由 CloudLens for RDS 代替。
如需使用接入数据方式,请按以下步骤操作。
登录日志服务控制台。
在接入数据区域,单击RDS 审计-云产品。
在选择日志空间页签中,选择您已创建的目标Project和LogStore,单击下一步。
在数据源配置页签中,完成RAM 授权,单击。
重要如果您还未授权日志服务分发日志,请单击RAM 授权右侧的授权,根据页面提示完成授权。授权成功后会创建一个RAM角色
AliyunLogArchiveRole,日志服务将扮演这个RAM角色收集日志信息。如果页面中未显示目标RDS实例或开启投递失败,可能是因为您的RDS实例不符合条件。您可以参见本文中的前提条件检查您的RDS实例。
请选择自行创建、用于存储审计日志的Project和LogStore。如果选择了系统为其他功能自动创建的专用资源(例如名称以
sls-alert-开头的Project或LogStore),可能导致开启投递后查询不到审计日志。如果已经关联了错误的目标资源,请先关闭该RDS实例的投递开关,再重新开启,并在向导中重新选择正确的Project和LogStore。
页面提示同一地域下的RDS实例只能投递到相同地域的日志服务日志库。实例列表包含实例名、数据库类型、地域、开通投递(开关控件)和投递目标列,可在列表中找到目标实例并开启投递。
在查询分析配置页签中,单击下一步。
日志服务默认为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;另一份是在日志服务中手动接入或纳管创建的配置。请按以下方式排查并去重:
在RDS控制台检查目标实例的SQL审计日志投递设置,确认其投递的目标Project和LogStore。
在日志服务控制台检查该实例的RDS审计日志接入配置,确认其目标Project和LogStore。
如果两处指向不同的Project或LogStore,说明存在两份采集配置。只保留需要的那一份,关闭多余的配置。
关闭多余配置后不再产生重复数据,已经采集入库的历史数据不会自动清理。
如何基于RDS审计日志配置钉钉告警(例如慢查询、DELETE操作)?
按本文的操作步骤,或使用CloudLens for RDS,将RDS SQL审计日志和慢日志采集到日志服务。
在日志服务控制台,基于存储审计日志的LogStore创建告警规则。用查询语句筛选需要监控的SQL语句,例如筛选DELETE操作、执行时间超过阈值的慢查询,并可叠加表名、影响行数等条件作为触发条件。创建告警规则的具体操作,请参见“后续步骤”中列出的云产品日志通用操作文档。
在告警规则的通知方式中选择钉钉机器人,填入钉钉群机器人的WebHook地址,即可在触发告警时实时推送到钉钉群。