Entrega de logs - Amazon ElastiCache

Entrega de logs

nota

O log lento é compatível com o Valkey 7.x e versões posteriores, e clusters e grupos de replicação do Redis OSS que usam o mecanismo versão 6.0 em diante.

O log do mecanismo é compatível com clusters e grupos de replicação do Valkey 7.x e superiores e do Redis OSS que usam o mecanismo versão 6.2 em diante.

A entrega de logs permite que você transmita SLOWLOG ou log do mecanismo para um de dois destinos:

  • Amazon Data Firehose

  • Amazon CloudWatch Logs

Você habilita e configura a entrega de log ao criar ou modificar um cluster usando APIs do ElastiCache. Cada entrada de log será entregue ao destino especificado em um dos dois formatos: JSON ou TEXT.

Um número fixo de entradas de log lento são recuperados periodicamente do mecanismo. 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 desabilitar a entrega de log a qualquer momento usando o console da AWS ou uma das APIs de modificação, modify-cache-cluster ou 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 logs é habilitada, mesmo quando os logs são entregues diretamente ao Amazon Data Firehose. Para obter mais informações, consulte a seção Logs vendidos em Definição de preços do Amazon CloudWatch.

Conteúdo de uma entrada de log lento

O log lento contém as seguintes informações:

  • CacheClusterId: o ID do cluster

  • 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 é a chave e baré o valor. O ElastiCache substitui o nome e valor reais da chave por (2 more arguments) para evitar expor dados confidenciais.

  • ClientAddress: endereço IP do cliente e porta

  • ClientName: nome do cliente, se definido através do comando CLIENT SETNAME

Conteúdo de uma entrada de log do mecanismo

O log do mecanismo do ElastiCache contém as seguintes informações:

  • CacheClusterId: o ID do cluster

  • CacheNodeId: o ID do nó de cache

  • Log Level (Nível de log): o LogLevel pode ser um dos seguintes: VERBOSE("-"), NOTICE("*"), WARNING("#").

  • Time (Hora) - O horário UTC 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 um dos seguintes: “M” para primário, “S” para réplica, “C” para um processo secundário de gravação que está trabalhando em RDB/AOF ou “X” para sentinela.

  • Mensagem: mensagem de log do mecanismo.

Permissões para configurar os logs

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

  • 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 JSON e TEXT

O exemplo a seguir mostra um exemplo de formato 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##" }

O exemplo a seguir mostra um exemplo de formato TEXT.

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

Log do mecanismo

O log do mecanismo é compatível com JSON e TEXT

O exemplo a seguir mostra um exemplo de formato JSON.

{ "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" }

O exemplo a seguir mostra um exemplo de formato TEXT.

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 1000 microseconds.