Logs compatíveis e campos descobertos - CloudWatch Registros da Amazon

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á.

Logs compatíveis e campos descobertos

CloudWatch O Logs Insights oferece suporte a diferentes tipos de registros. Para cada registro enviado para um grupo de registros da classe Standard Amazon CloudWatch Logs, o CloudWatch Logs Insights gera automaticamente cinco campos do sistema:

  • @message contém o evento de log bruto não avaliado. Isso é o equivalente ao message campo em InputLogevent.

  • @timestamp contém o timestamp do evento contido no campo timestamp do evento de log. Isso é o equivalente ao timestamp campo em InputLogevent.

  • @ingestionTimecontém a hora em que o CloudWatch Logs recebeu o evento de log.

  • @logStream contém o nome do fluxo de logs ao qual o evento de log foi adicionado. Os fluxos de logs agrupam logs pelo mesmo processo que os gerou.

  • @log é um identificador de grupo de logs na forma de account-id:log-group-name. Ao consultar vários grupos de logs, isso pode ser útil para identificar a que grupo de logs um determinado evento pertence.

nota

A descoberta de campo é suportada somente para grupos de registros na classe de registros padrão. Para obter mais informações sobre classes de log, consulteClasses de log.

CloudWatch O Logs Insights insere o símbolo @ no início dos campos que ele gera.

Para muitos tipos de registro, o CloudWatch Logs também descobre automaticamente os campos de registro contidos nos registros. Esses campos de descoberta automática são mostrados na tabela a seguir.

Para outros tipos de registros com campos que o CloudWatch Logs Insights não descobre automaticamente, você pode usar o parse comando para extrair e criar campos extraídos para uso nessa consulta. Para obter mais informações, consulte CloudWatch Sintaxe de consulta do Logs Insights.

Se o nome de um campo de registro descoberto começar com o @ caractere, o CloudWatch Logs Insights o exibirá com um adicional @ anexado ao início. Por exemplo, se um nome de campo de log for @example.com, o nome desse campo será exibido como @@example.com.

Tipo de log Campos de log descobertos

Registros VPC de fluxo da Amazon

@timestamp, @logStream, @message, accountId, endTime, interfaceId, logStatus, startTime, version, action, bytes, dstAddr, dstPort, packets, protocol, srcAddr, srcPort

Logs do Route 53

@timestamp, @logStream, @message, edgeLocation, ednsClientSubnet, hostZoneId, protocol, queryName, queryTimestamp, queryType, resolverIp, responseCode, version

Logs do Lambda

@timestamp, @logStream, @message, @requestId, @duration, @billedDuration, @type, @maxMemoryUsed, @memorySize

Se uma linha de log do Lambda contiver um ID de rastreamento do X-Ray, ela também incluirá os seguintes campos: @xrayTraceId e @xraySegmentId.

CloudWatch O Logs Insights descobre automaticamente os campos de log nos registros do Lambda, mas somente para o primeiro fragmento JSON incorporado em cada evento de log. Se um evento de log do Lambda contiver vários JSON fragmentos, você poderá analisar e extrair os campos de log usando o comando. parse Para obter mais informações, consulte Campos em JSON registros.

CloudTrail troncos

Registros em JSON formato

Para obter mais informações, consulte Campos em JSON registros.

Outros tipos de log

@timestamp, @ingestionTime, @logStream, @message, @log.

Campos em JSON registros

Com o CloudWatch Logs Insights, você usa a notação de pontos para representar JSON campos. Esta seção contém um exemplo de JSON evento e trecho de código que mostra como você pode acessar JSON campos usando a notação de pontos.

Exemplo: JSON evento

{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EX_PRINCIPAL_ID", "arn": "arn: aws: iam: : 123456789012: user/Alice", "accessKeyId": "EXAMPLE_KEY_ID", "accountId": "123456789012", "userName": "Alice" }, "eventTime": "2014-03-06T21: 22: 54Z", "eventSource": "ec2.amazonaws.com", "eventName": "StartInstances", "awsRegion": "us-east-2", "sourceIPAddress": "192.0.2.255", "userAgent": "ec2-api-tools1.6.12.2", "requestParameters": { "instancesSet": { "items": [ { "instanceId": "i-abcde123" } ] } }, "responseElements": { "instancesSet": { "items": [ { "instanceId": "i-abcde123", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } } ] } } }

O JSON evento de exemplo contém um objeto chamadouserIdentity. userIdentitycontém um campo chamadotype. Para representar o valor de type com notação de ponto, você usa userIdentity.type.

O JSON evento de exemplo contém matrizes que se nivelam em listas de nomes e valores de campos aninhados. Para representar o valor de instanceId para o primeiro item em requestParameters.instancesSet, use requestParameters.instancesSet.items.0.instanceId. O número 0 que é colocado antes do campo instanceID refere-se à posição dos valores para o campo items. O exemplo a seguir contém um trecho de código que mostra como você pode acessar JSON campos aninhados em um JSON evento de log.

Exemplo: consulta

fields @timestamp, @message | filter requestParameters.instancesSet.items.0.instanceId="i-abcde123" | sort @timestamp desc

O trecho de código mostra uma consulta que usa notação de pontos com o filter comando para acessar o valor do campo aninhado. JSON instanceId A consulta filtra as mensagens para as quais o valor de instanceId é igual a "i-abcde123" e retorna todos os eventos de log que contêm o valor especificado.

nota

CloudWatch O Logs Insights pode extrair no máximo 200 campos de eventos de registro de um JSON registro. Para os campos adicionais que não são extraídos, você pode usar o comando parse para extrair os campos do evento de log não analisado bruto no campo de mensagem. Para obter mais informações sobre o parse comando, consulte Sintaxe de consulta no Guia do CloudWatch usuário da Amazon.