Entrega de logs - Amazon ElastiCache

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Entrega de logs

nota

O Slow Log é compatível com Valkey 7.x e versões posteriores, e clusters de OSS cache e grupos de replicação do Redis usando a versão 6.0 do motor em diante.

O Engine Log é compatível com Valkey 7.x e clusters de OSS cache e grupos de replicação do Redis usando a versão 6.2 do mecanismo em diante.

A entrega de registros permite que você transmita SLOWLOGo Engine Log para um dos dois destinos:

  • Amazon Data Firehose

  • CloudWatch Registros da Amazon

Você ativa e configura a entrega de registros ao criar ou modificar um cluster usando ElastiCache APIs. Cada entrada de registro será entregue ao destino especificado em um dos dois formatos: JSONou TEXT.

Um número fixo de entradas de registro lento é recuperado do mecanismo periodicamente. Dependendo do valor especificado para o parâmetro do mecanismo slowlog-max-len, é possível que entradas de log lentas adicionais não sejam entregues no destino.

Você pode optar por alterar as configurações de entrega ou desativar a entrega de registros a qualquer momento usando o AWS console ou uma das modificaçõesAPIs, modify-cache-clusterou modify-replication-group.

Você deve definir o parâmetro apply-immediately para todas as modificações de entrega de log.

nota

As cobranças do Amazon CloudWatch Logs se aplicam quando a entrega de registros está ativada, mesmo quando os registros são entregues diretamente ao Amazon Data Firehose. Para obter mais informações, consulte a seção Vended Logs na Amazon CloudWatch Pricing.

Conteúdo de uma entrada de log lento

O Slow Log contém as seguintes informações:

  • CacheClusterId— O ID do cluster de cache

  • CacheNodeId— O ID do nó de cache

  • Id: um identificador progressivo exclusivo para cada entrada de log lento

  • Timestamp: O timestamp do Unix no qual o comando registrado foi processado

  • Duration (Duração): a quantidade de tempo necessário para sua execução, em microssegundos

  • Command (Comando: o comando usado pelo cliente. Por exemplo, set foo bar onde foo está a chave e bar o valor. ElastiCache substitui o nome e o valor reais da chave por (2 more arguments) para evitar a exposição de dados confidenciais.

  • ClientAddress— Endereço IP e porta do cliente

  • ClientName— Nome do cliente, se definido por meio do CLIENT SETNAME comando

Conteúdo de uma entrada de log do mecanismo

O ElastiCache Engine Log contém as seguintes informações:

  • CacheClusterId— O ID do cluster de cache

  • CacheNodeId— O ID do nó de cache

  • Nível de registro — LogLevel pode ser um dos seguintes:VERBOSE("-"),NOTICE("*"),WARNING("#").

  • Hora — A UTC hora da mensagem registrada. A hora está no seguinte formato: "DD MMM YYYY hh:mm:ss.ms UTC"

  • Role (Função) - Função do nó de onde o log é emitido. Pode ser uma das seguintes opções: “M” para Primária, “S” para réplica, “C” para o processo filho do escritor trabalhando RDB em/ AOF ou “X” para sentinela.

  • Mensagem — Mensagem de registro do mecanismo.

Permissões para configurar os logs

Você precisa incluir as seguintes IAM permissões em sua política de IAM usuário/função:

  • logs:CreateLogDelivery

  • logs:UpdateLogDelivery

  • logs:DeleteLogDelivery

  • logs:GetLogDelivery

  • logs:ListLogDeliveries

Para obter mais informações, consulte Visão geral do gerenciamento de acesso: permissões e políticas.

Especificações de tipo de log e formato de log

Log lento

O log lento suporta tanto JSON quanto TEXT

Veja a seguir um exemplo de JSON formato:

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

Veja a seguir um exemplo de TEXT formato:

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

Log do mecanismo

O registro do motor suporta tanto JSON quanto TEXT

Veja a seguir um exemplo de JSON formato:

{ "CacheClusterId": "xxxxxxxxxzy-engine-log-test", "CacheNodeId": "0001", "LogLevel": "VERBOSE", "Role": "M", "Time": "12 Nov 2020 01:28:57.994 UTC", "Message": "Replica is waiting for next BGSAVE before synchronizing with the primary. Check back later" }

Veja a seguir um exemplo de TEXT formato:

xxxxxxxxxxxzy-engine-log-test/0001:M 29 Oct 2020 20:12:20.499 UTC * A slow-running Lua script detected that is still in execution after 10000 milliseconds.