开发者社区 问答 正文

API参考 - API参考 - 日志管理 -DescribeSQLLogRecords



描述


查询实例的SQL审计日志。

请求参数

[tr=rgb(51, 205, 229)][td]名称 类型是否必须描述ActionString是系统规定参数,取值:DescribeSQLLogRecords。DBInstanceIdString是实例名。DatabaseString否默认为所有。UserString否默认为所有。FormString否File,触发审计日志文件的生成,若传入这个值,则只返回公共参数,需再调用DescribeSQLLogFiles接口获取文件的最终下载地址;Stream,返回数据流。默认为Stream。QueryKeywordsString否关键字查询,多个关键字以空格分隔,不超过10个关键字。StartTimeString是查询开始时间,格式如:yyyy-MM-dd’T’HH:mm:ssZ。EndTimeString是查询结束时间,格式如:yyyy-MM-dd’T’HH:mm:ssZ,且大于查询开始时间。PageSizeInteger否每页记录数,取值:30/50/100;默认值:30。PageNumberInteger否页码,大于0且不超过Integer的最大值;默认值:1。

返回参数

[tr=rgb(51, 205, 229)][td]名称 类型描述<公共返回参数>详见公共参数。TotalRecordCountInteger总记录数。PageNumberInteger页码。PageRecordCountInteger本页SQL日志明细个数。Items

List<SQLRecord>

SQLRecord参数

[tr=rgb(51, 205, 229)][td]名称 类型描述DBNameString数据库。AccountNameString账号名。HostAddressString客户端IP地址。SQLTextStringSQL语句。TotalExecutionTimesLong消耗时间,单位:微秒。ReturnRowCountsLong返回记录数。ThreadIDString线程ID。ExecuteTimeString执行时间;格式:yyyy-MM-dd’T’HH:mm:ssZ,如2011-05-30 T12:11:20Z。

请求示例



https: //rds.aliyuncs.com/?Action=DescribeSQLLogRecords &DBInstanceId=riauvjz6zajfiq6ba1370329449201 &StartTime=2011-06-11T15:00:00Z &EndTime=2013-06-05T15:00:00Z &<公共请求参数>

返回示例


XML格式

<DescribeSQLLogRecordsResponse> <RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828 </RequestId> <TotalRecordCount>1 </TotalRecordCount> <PageNumber>1 </PageNumber> <PageRecordCount >1 <PageRecordCount> <Items> <SQLRecord> <DBName>test </DBName> <AccountName>accounttest </AccountName> <HostAddress>192.168.0.121 </HostAddress> <SQLText>update test.zxb set id=0 limit 1 </SQLText> <TotalExecutionTimes >12 </TotalExecutionTimes> <ReturnRowCounts>34 </ReturnRowCounts> <ExecuteTime>2011-06-11T15:00:23Z </ExecuteTime> </SQLRecord> </Items> </DescribeSQLLogRecordsResponse>
JSON格式

{"PageNumber": 1,"TotalRecordCounts": 1,"ItemsCounts": 1 "SQLItems":{"SQLItem":[{"DBName":”test” "AccountName":”accounttest” "HostAddress":” 192.168 .0 .121"SQLText":”update test.zxb set id= 0 limit 1"TotalExecutionTimes": 12 "ReturnRowCounts": 34 "ExecuteTime":” 2011 -06 -11T15: 00: 23Z”}]},"RequestId": "08A3B71B-FE08-4B03-974F-CC7EA6DB1828"}

展开
收起
梨好橙 2018-09-14 23:28:18 1515 分享 版权
阿里云 AI 助理回答

查询实例的SQL审计日志可以通过调用DescribeSQLLogRecords接口来实现,但请注意,此接口已停止维护,推荐使用查询DAS企业版热存储数据明细功能。尽管如此,以下是根据您的请求参数和返回参数需求整理的指南:

请求参数说明

  1. Action (String, 必填): 系统规定参数,固定取值为 DescribeSQLLogRecords
  2. DBInstanceId (String, 必填): 指定要查询的RDS实例名。
  3. Database (String, 可选): 数据库名称,默认查询所有数据库。
  4. User (String, 可选): 用户名称,默认查询所有用户。
  5. Form (String, 可选): 定义响应形式,取值:
    • File: 触发审计日志文件生成,需进一步调用DescribeSQLLogFiles获取下载地址。注意:仅支持MySQL(本地盘)和SQL Server实例,且限制记录数为100万条。
    • Stream(默认): 直接返回SQL记录列表。
  6. QueryKeywords (String, 可选): 关键字查询,多个关键字以空格分隔,不超过10个关键字,逻辑关系为and
  7. StartTime (String, 必填): 查询起始时间,格式为yyyy-MM-dd'T'HH:mm:ssZ(UTC时间),可查询最近7天内的数据。
  8. EndTime (String, 必填): 查询结束时间,格式同上,需大于开始时间且间隔不超过7天。
  9. PageSize (Integer, 可选): 每页记录数,默认30,可选值为30、50、100。
  10. PageNumber (Integer, 可选): 页码,默认值为1。

返回参数结构

  • TotalRecordCount (Integer): 总记录数。
  • PageNumber (Integer): 当前页码。
  • PageRecordCount (Integer): 本页SQL日志明细数量。
  • Items: 包含以下字段的SQL审计日志列表:
    • DBName (String): 数据库名称。
    • AccountName (String): 执行操作的账号名称。
    • HostAddress (String): 客户端IP地址。
    • SQLText (String): SQL语句内容。
    • TotalExecutionTimes (Long): SQL执行消耗时间,单位微秒。
    • ReturnRowCounts (Long): SQL执行返回的记录数。
    • ThreadID (String): 线程ID。
    • ExecuteTime (String): SQL执行时间,格式为yyyy-MM-dd'T'HH:mm:ssZ

示例请求URL

https://rds.aliyuncs.com/?Action=DescribeSQLLogRecords&DBInstanceId=<您的实例ID>&StartTime=2023-04-01T00:00:00Z&EndTime=2023-04-07T23:59:59Z&PageSize=50

请替换 <您的实例ID> 为实际的实例标识,并根据需要调整其他参数。

重要提醒: 单用户每分钟调用次数上限为1000次,请合理安排查询频率。此外,该接口已被标记为停止维护,建议转向使用DAS企业版相关功能进行SQL洞察与审计日志查询。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答