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á.
Sintaxe e cotas do índice de campo
Você cria índices de campo criando políticas de índice de campo. Você pode criar políticas de índice em nível de conta que se aplicam a toda a sua conta e também pode criar políticas que se aplicam somente a um único grupo de registros. Para políticas de indexação em toda a conta, você pode ter uma que se aplique a todos os grupos de registros na conta. Você também pode criar políticas de índice em nível de conta que se apliquem a um subconjunto de grupos de registros na conta, selecionados pelos prefixos dos nomes dos grupos de registros. Se você tiver várias políticas em nível de conta na mesma conta, os prefixos do nome do grupo de registros para essas políticas não podem se sobrepor.
As políticas de índice de campo em nível de grupo de registros substituem as políticas de índice de campo em nível de conta: se você criar uma política de índice em nível de grupo de registros, esse grupo de registros usará somente essa política e ignorará as políticas em nível de conta.
As correspondências de eventos de log com os nomes dos índices de campo diferenciam maiúsculas de minúsculas. Por exemplo, um índice de campo de RequestId
não corresponderá a um evento de registro contendorequestId
.
Você pode ter até 20 políticas de índice em nível de conta. Se você tiver várias políticas de índice em nível de conta filtradas para prefixos de nome de grupo de registros, nenhuma delas poderá usar prefixos de nome de grupo de registros iguais ou sobrepostos. Por exemplo, se você tiver uma política filtrada para grupos de registros que começam commy-log
, você não pode ter outra política de índice de campo filtrada para my-logpprod
ou. my-logging
Se você tiver uma política de índice em nível de conta que não tenha prefixos de nome e se aplique a todos os grupos de registros, nenhuma outra política de índice em nível de conta poderá ser criada.
Cada política de índice tem as seguintes cotas e restrições:
Até 20 campos podem ser incluídos na política.
Cada nome de campo pode incluir até 100 caracteres.
Para criar um índice de um campo personalizado em seus grupos de registros que comece com
@
, você deve especificar o campo com um extra@
no início do nome do campo. Por exemplo, se seus eventos de log incluírem um campo chamado@userId
, você deverá especificar@@userId
para criar um índice para esse campo.
Campos gerados e campos reservados
CloudWatch O Logs Insights gera automaticamente campos do sistema em cada evento de registro. Esses campos gerados são prefixados com @
Para obter mais informações sobre os campos gerados, consulteLogs compatíveis e campos descobertos.
Desses campos gerados, os seguintes são compatíveis para uso como índices de campo:
@logStream
@ingestionTime
@requestId
@type
@initDuration
@duration
@billedDuration
@memorySize
@maxMemoryUsed
@xrayTraceId
@xraySetmentId
Para indexar esses campos gerados, você não precisa adicionar um extra @
ao especificá-los, como é necessário fazer com campos personalizados que começam com@
. Por exemplo, para criar um índice de campo para@logStream
, basta especificar @logStream
como índice de campo.
Campos secundários e campos de matriz em JSON registros
Você pode indexar campos que são campos secundários aninhados ou campos de matriz em JSON registros.
Por exemplo, você pode criar um índice do campo accessKeyId
filho dentro do userIdentity
campo desse registro:
{ "eventVersion": "1.0", "userIdentity": { "type": "IAMUser", "principalId": "EXAMPLE_PRINCIPAL_ID", "arn": "arn: aws: iam: : 123456789012: user/Alice", "accessKeyId": "11112222", "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", "currentState": { "code": 0, "name": "pending" }, "previousState": { "code": 80, "name": "stopped" } }] } }
Para criar esse campo, você se refere a ele usando a notação de ponto (userIdentity.accessKeyId
) ao criar o índice do campo e ao especificá-lo em uma consulta. A consulta pode ter a seguinte aparência:
fields @timestamp, @message | filterIndex userIdentity.accessKeyId = "11112222"
No evento de exemplo anterior, o instanceId
campo está em uma matriz em requestParameters.instancesSet.items
Para representar esse campo ao criar o índice do campo e ao consultar, refira-o como requestParameters.instancesSet.items.0.instanceId
O 0 se refere ao lugar desse campo na matriz.
Então, uma consulta para esse campo pode ser a seguinte:
fields @timestamp, @message | filterIndex requestParameters.instancesSet.items.0.instanceId="i-abcde123"