Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sintaks indeks bidang dan kuota
Anda membuat indeks bidang dengan membuat kebijakan indeks bidang. Anda dapat membuat kebijakan indeks tingkat akun yang berlaku untuk seluruh akun Anda, dan Anda juga dapat membuat kebijakan yang hanya berlaku untuk satu grup log. Untuk kebijakan indeks seluruh akun, Anda dapat memiliki kebijakan yang berlaku untuk semua grup log di akun. Anda juga dapat membuat kebijakan indeks tingkat akun yang berlaku untuk subset grup log di akun, yang dipilih berdasarkan awalan nama grup log mereka. Jika Anda memiliki beberapa kebijakan tingkat akun di akun yang sama, awalan nama grup log untuk kebijakan ini tidak dapat tumpang tindih.
Kebijakan indeks bidang tingkat grup log mengganti kebijakan indeks bidang tingkat akun: jika Anda membuat kebijakan indeks tingkat grup log, grup log tersebut hanya menggunakan kebijakan tersebut dan mengabaikan kebijakan tingkat akun.
Pencocokan peristiwa log dengan nama indeks bidang peka huruf besar/kecil. Misalnya, indeks bidang tidak RequestId
akan cocok dengan peristiwa log yang berisirequestId
.
Anda dapat memiliki sebanyak 20 kebijakan indeks tingkat akun. Jika Anda memiliki beberapa kebijakan indeks tingkat akun yang difilter untuk mencatat awalan nama grup, tidak ada dua dari mereka yang dapat menggunakan awalan nama grup log yang sama atau tumpang tindih. Misalnya, jika Anda memiliki satu kebijakan yang difilter untuk mencatat grup yang dimulaimy-log
, Anda tidak dapat memfilter kebijakan indeks bidang lain ke my-logpprod
ataumy-logging
.
Jika Anda memiliki kebijakan indeks tingkat akun yang tidak memiliki awalan nama dan berlaku untuk semua grup log, maka tidak ada kebijakan indeks tingkat akun lainnya yang dapat dibuat.
Setiap kebijakan indeks memiliki kuota dan batasan berikut:
-
Sebanyak 20 bidang dapat dimasukkan dalam kebijakan.
-
Setiap nama bidang dapat mencakup sebanyak 100 karakter.
-
Untuk membuat indeks bidang kustom di grup log Anda yang dimulai dengan
@
, Anda harus menentukan bidang dengan tambahan@
di awal nama bidang. Misalnya, jika peristiwa log Anda menyertakan bidang bernama@userId
, Anda harus menentukan@@userId
untuk membuat indeks untuk bidang ini.
Bidang yang dihasilkan dan bidang cadangan
CloudWatch Wawasan Log secara otomatis menghasilkan bidang sistem di setiap peristiwa log. Bidang yang dihasilkan ini diawali dengan @
Untuk informasi selengkapnya tentang bidang yang dihasilkan, lihatLog yang didukung dan bidang yang ditemukan.
Dari bidang yang dihasilkan ini, berikut ini didukung untuk digunakan sebagai indeks bidang:
-
@logStream
-
@ingestionTime
-
@requestId
-
@type
-
@initDuration
-
@duration
-
@billedDuration
-
@memorySize
-
@maxMemoryUsed
-
@xrayTraceId
-
@xraySetmentId
Untuk mengindeks bidang yang dihasilkan ini, Anda tidak perlu menambahkan tambahan @
saat menentukannya, seperti yang harus Anda lakukan untuk bidang khusus yang dimulai@
. Misalnya, untuk membuat indeks bidang untuk@logStream
, cukup tentukan @logStream
sebagai indeks bidang.
CloudWatch Log menyediakan indeks bidang default untuk semua grup log di kelas log Standar. Indeks bidang default secara otomatis tersedia untuk bidang berikut:
-
@aws.region
-
@aws.account
-
@source.log
-
traceId
Indeks bidang default merupakan tambahan dari indeks bidang kustom apa pun yang Anda tentukan dalam kebijakan Anda. Indeks bidang default tidak dihitung terhadap kuota indeks bidang Anda.
Bidang anak dan bidang array di log JSON
Anda dapat mengindeks bidang yang merupakan bidang turunan bersarang atau bidang array di log JSON.
Misalnya, Anda dapat membuat indeks bidang accessKeyId
anak dalam userIdentity
bidang dalam log ini:
{ "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" } }] } } }
Untuk membuat bidang ini, Anda merujuknya menggunakan notasi titik (userIdentity.accessKeyId
) baik saat membuat indeks bidang dan saat menentukannya dalam kueri. Kueri bisa terlihat seperti ini:
fields @timestamp, @message | filterIndex userIdentity.accessKeyId = "11112222"
Dalam contoh peristiwa sebelumnya, instanceId
bidang berada dalam array dalam requestParameters.instancesSet.items
Untuk mewakili bidang ini baik saat membuat indeks bidang dan saat query, lihat itu sebagai requestParameters.instancesSet.items.0.instanceId
0 mengacu pada tempat bidang itu dalam array.
Maka kueri untuk bidang ini bisa menjadi sebagai berikut:
fields @timestamp, @message | filterIndex requestParameters.instancesSet.items.0.instanceId="i-abcde123"