Registri supportati e campi rilevati - CloudWatch Registri Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registri supportati e campi rilevati

CloudWatch Logs Insights supporta diversi tipi di log. Per ogni log inviato a un gruppo di log di classe Standard in Amazon CloudWatch Logs, CloudWatch Logs Insights genera automaticamente cinque campi di sistema:

  • @message contiene il log eventi non analizzato, non elaborato. Questo è l'equivalente del message campo in. InputLogevent

  • @timestamp contiene il timestamp dell'evento nel campo timestamp del log eventi. È l'equivalente del timestamp campo in InputLogevent.

  • @ingestionTimecontiene l'ora in cui CloudWatch Logs ha ricevuto l'evento di registro.

  • @logStream contiene il nome del flusso di log a cui il log eventi è stato aggiunto. I flussi di log raggruppano i registri in base allo stesso processo che li ha generati.

  • @log è un identificatore di gruppo di log sotto forma di account-id:log-group-name. Nelle query di più gruppi di log, può essere utile per identificare a quale gruppo di log appartiene un particolare evento.

  • @entitycontiene JSON appiattito relativo alle entità per la funzionalità di telemetria relativa a Explore.

    Ad esempio, questo JSON può rappresentare un'entità.

    { "Entity": { "KeyAttributes": { "Type": "Service", "Name": "PetClinic" }, "Attributes": { "PlatformType": "AWS::EC2", "EC2.InstanceId": "i-1234567890123" } } }

    Per questa entità, i campi di sistema estratti sarebbero i seguenti:

    @entity.KeyAttributes.Type = Service @entity.KeyAttributes.Name = PetClinic @entity.Attributes.PlatformType = AWS::EC2 @entity.Attributes.EC2.InstanceId = i-1234567890123
Nota

L'individuazione dei campi è supportata solo per i gruppi di log nella classe di log Standard. Per ulteriori informazioni sulle classi di log, vedereClassi di registro.

CloudWatch Logs Insights inserisce il simbolo @ all'inizio dei campi generati.

Per molti tipi di log, CloudWatch Logs rileva inoltre automaticamente i campi di log contenuti nei log. Questi campi di rilevamento automatici sono mostrati nella tabella seguente.

Per altri tipi di log con campi che CloudWatch Logs Insights non rileva automaticamente, puoi utilizzare il parse comando per estrarre e creare campi estratti da utilizzare in quella query. Per ulteriori informazioni, consulta CloudWatch Sintassi delle interrogazioni in linguaggio Logs Insights.

Se il nome di un campo di registro rilevato inizia con il @ carattere, CloudWatch Logs Insights lo visualizza con un altro @ aggiunto all'inizio. Ad esempio, se un nome di un campo di log è @example.com, questo nome di campo viene visualizzato come @@example.com.

Nota

Ad eccezione di@message, o @timestamp@log, è possibile creare indici di campo per i campi scoperti. Per ulteriori informazioni sugli indici di campo, vedere. Crea indici di campo per migliorare le prestazioni delle query e ridurre il volume di scansione

Tipo di log Campi di log rilevati

Log di flusso Amazon VPC

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

Log di Route 53

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

Log di Lambda

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

Se una riga di log Lambda contiene un ID di traccia X-Ray, include anche i seguenti campi: @xrayTraceId e @xraySegmentId.

CloudWatch Logs Insights rileva automaticamente i campi di registro nei log Lambda, ma solo per il primo frammento JSON incorporato in ogni evento di registro. Se un log eventi Lambda contiene più frammenti JSON, puoi analizzare ed estrarre i campi dei log utilizzando il comando parse. Per ulteriori informazioni, consulta Campi nei registri JSON.

CloudTrail registri

Log in formato JSON

Per ulteriori informazioni, consulta Campi nei registri JSON.

Altri tipi di log

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

Campi nei registri JSON

Con CloudWatch Logs Insights, si utilizza la notazione a punti per rappresentare i campi JSON. Questa sezione contiene un esempio di evento e di frammento di codice JSON che mostra come accedere ai campi JSON utilizzando la notazione con il punto.

Esempio: evento JSON

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

L'evento JSON di esempio contiene un oggetto denominato userIdentity. userIdentity contiene un campo denominato type. Per rappresentare il valore di type usando la notazione con il punto, utilizza userIdentity.type.

L'evento JSON di esempio contiene matrici che si livellano in elenchi di nomi e valori di campi annidati. Per rappresentare il valore di instanceId per il primo elemento di requestParameters.instancesSet, utilizza requestParameters.instancesSet.items.0.instanceId. Il numero 0 posizionato prima del campo instanceID si riferisce alla posizione dei valori per il campo items. L'esempio seguente contiene un frammento di codice che mostra come è possibile accedere ai campi JSON annidati in un log eventi JSON.

Esempio: query

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

Il frammento di codice mostra una query che utilizza la notazione con il punto con il comando filter per accedere al valore del campo JSON annidato instanceId. La query filtra i messaggi in cui il valore di instanceId è uguale a "i-abcde123" e restituisce tutti i log eventi che contengono il valore specificato.

Nota

CloudWatch Logs Insights può estrarre un massimo di 200 campi di eventi di registro da un registro JSON. Per i campi aggiuntivi che non vengono estratti, è possibile utilizzare il comando parse per estrarre questi campi dal log eventi non analizzato e non elaborato nel campo del messaggio. Per ulteriori informazioni sul parse comando, consulta la sintassi delle query nella Amazon CloudWatch User Guide.