日志传递 - Amazon ElastiCache for Redis
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

日志传递

注意

使用 6.x 版以上引擎的 Redis 缓存集群和复制组支持此功能。

日志传递可让您流式传输 Redis慢日志到两个目的地之一:

  • Amazon Kinesis Data Firehose

  • Amazon CloudWatch Logs

使用创建或修改集群时,您可以启用和配置日志传输ElastiCacheAPI。每个日志条目将以两种格式之一传送到指定的目标:JSON或者TEXT

定期从 Redis 引擎检索固定数量的慢日志条目。取决于为引擎参数指定的值slowlog-max-len,则其他慢速日志条目可能无法传输到目标。

您可以随时选择更改传递配置或禁用日志传递,使用Amazon控制台或其中一个修改 API,无论是修改缓存集群或者modify-replication-group

您必须设置apply-immediately参数,用于所有日志传递修改。

注意

Amazon CloudWatch Logs在启用日志传递时收取费用,即使日志直接传送到Amazon Kinesis Data Firehose。有关更多信息,请参阅Amazon CloudWatch 定价

慢日志条目的内容

这些区域有:ElastiCache for Redis慢速日志包含以下信息:

  • 缓存集群 ID –缓存集群的 ID

  • 缓冲编码 –缓存节点的 ID

  • Id –每个慢日志条目的唯一渐进标识符

  • 时间戳 –处理记录命令的 Unix 时间戳

  • Duration –执行所需的时间(以微秒为单位)

  • 命令 –客户端使用的命令。例如,set foo bar其中foo是键,bar是值。ElastiCache for Redis将实际键名称和值替换为(2 more arguments)以避免暴露敏感数据。

  • 客户端地址 –客户端 IP 地址和端口

  • ClientName –客户端名称(如果通过CLIENT SETNAME命令

配置日志记录的权限

您需要在您的 IAM 用户/角色策略中包含以下 IAM 权限:

  • logs:CreateLogDelivery

  • logs:UpdateLogDelivery

  • logs:DeleteLogDelivery

  • logs:GetLogDelivery

  • logs:ListLogDeliveries

有关更多信息,请参阅 。访问管理概述:权限与策略

日志类型和日志格式规范

慢速日志同时支持 JSON 和文本

下面显示了 JSON 格式示例:

{ "CacheClusterId": "logslowxxxxmsxj", "CacheNodeId": "0001", "Id": 296, "Timestamp": 1605631822, "Duration (us)": 0, "Command": "GET ... (1 more arguments)", "ClientAddress": "192.168.12.104:55452", "ClientName": "logslowxxxxmsxj##" }

下面显示了 TEXT 格式示例:

logslowxxxxmsxj,0001,1605631822,30,GET ... (1 more arguments),192.168.12.104:55452,logslowxxxxmsxj##