Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sintaks aturan Contributor Insights di CloudWatch
Bagian ini menjelaskan aturan sintaksis untuk Wawasan Kontributor. Gunakan sintaks ini hanya ketika Anda membuat aturan dengan memasukkan blok JSON. Jika Anda menggunakan pemandu untuk membuat aturan, Anda tidak perlu mengetahui sintaksnya. Untuk informasi selengkapnya tentang membuat aturan menggunakan pemandu, silakan lihat Membuat aturan Contributor Insights di CloudWatch.
Semua pencocokan aturan untuk peristiwa log dan nilai bidang peristiwa peka huruf besar dan kecil.
Contoh berikut mengilustrasikan sintaks untuk log JSON.
{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "API-Gateway-Access-Logs*", "Log-group-name2" ], "LogFormat": "JSON", "Contribution": { "Keys": [ "$.ip" ], "ValueOf": "$.requestBytes", "Filters": [ { "Match": "$.httpMethod", "In": [ "PUT" ] } ] }, "AggregateOn": "Sum" }
Bidang dalam Aturan Wawasan Kontributor
- Skema
-
Nilai
Schema
untuk aturan yang menganalisis data CloudWatch Log harus selalu{"Name": "CloudWatchLogRule", "Version": 1}
- LogGroupNames
-
Sebuah susunan string. Untuk setiap elemen dalam susunan, Anda dapat secara opsional menggunakan
*
di akhir rangkaian untuk menyertakan semua grup log dengan nama yang dimulai dengan awalan itu.Berhati-hatilah menggunakan karakter pengganti dengan nama grup log. Anda dikenakan biaya untuk setiap peristiwa log yang sesuai dengan aturan. Jika secara tidak sengaja mencari lebih banyak grup log dari yang Anda inginkan, Anda mungkin akan dikenakan biaya tak terduga. Untuk informasi selengkapnya, lihat CloudWatch Harga Amazon
. - LogGroupARNs
-
Jika Anda membuat aturan ini di akun pemantauan observabilitas CloudWatch lintas akun, Anda dapat menggunakannya
LogGroupARNs
untuk menentukan grup log di akun sumber yang ditautkan ke akun pemantauan, dan untuk menentukan grup log di akun pemantauan itu sendiri. Anda harus menentukan salah satuLogGroupNames
atauLogGroupARNs
dalam aturan Anda, tetapi tidak keduanya.LogGroupARNs
adalah sebuah susunan string. Untuk setiap elemen dalam susunan, Anda dapat secara opsional menggunakan*
sebagai wildcard dalam situasi tertentu. Misalnya Anda dapat menentukanarn:aws:logs:us-west-1:*:log-group/MyLogGroupName2
grup log yang diberi namaMyLogGroupName2
di semua akun sumber dan di akun pemantauan, di Wilayah AS Barat (California Utara). Anda juga dapat menentukanarn:aws:logs:us-west-1:111122223333:log-group/GroupNamePrefix*
untuk menentukan semua grup log di AS Barat (California Utara) di 111122223333 yang memiliki nama yang dimulai denganGroupNamePrefix
.Anda tidak dapat menentukan sebagian ID AWS akun sebagai awalan dengan kartu liar.
Hati-hati menggunakan wildcard dengan grup ARNs log. Anda dikenakan biaya untuk setiap peristiwa log yang sesuai dengan aturan. Jika secara tidak sengaja mencari lebih banyak grup log dari yang Anda inginkan, Anda mungkin akan dikenakan biaya tak terduga. Untuk informasi selengkapnya, lihat CloudWatch Harga Amazon
. - LogFormat
-
Nilai yang valid adalah
JSON
danCLF
. - Kontribusi
-
Objek ini mencakup
Keys
susunan dengan sebanyak empat anggota, secara opsional satuValueOf
, dan secara opsional susunan sebanyak empatFilters
. - Kunci
-
Susunan hingga empat bidang log yang digunakan sebagai dimensi untuk mengklasifikasi kontributor. Jika Anda memasukkan lebih dari satu kunci, setiap kombinasi nilai unik untuk kunci tersebut dihitung sebagai kontributor unik. Bidang harus ditentukan menggunakan notasi format properti JSON.
- ValueOf
-
(Opsional) Tentukan ini hanya ketika Anda menentukan
Sum
sebagai nilai dariAggregateOn
.ValueOf
menentukan bidang log dengan nilai numerik. Dalam jenis aturan ini, kontributor diberikan peringkat berdasarkan jumlah nilai bidang ini, bukan jumlah kejadiannya dalam pencatatan log. Sebagai contoh, jika ingin menyortir kontributor berdasarkan totalBytesSent
selama satu periode, Anda akan menentukanValueOf
untukBytesSent
dan menentukanSum
untukAggregateOn
. - Filter
-
Menentukan array sebanyak empat filter untuk mempersempit peristiwa log yang termasuk dalam laporan. Jika Anda menetapkan beberapa penyaring, Wawasan Kontributor mengevaluasinya dengan operator DAN logis. Anda dapat menggunakan ini untuk menyaring peristiwa log yang tidak relevan dalam pencarian atau Anda dapat menggunakannya untuk memilih kontributor tunggal untuk menganalisis perilaku mereka.
Setiap anggota dalam susunan harus menyertakan
Match
bidang dan bidang yang menunjukkan jenis operator yang cocok untuk digunakan.Bidang
Match
menetapkan bidang log untuk mengevaluasi di penyaring. Bidang log ditentukan menggunakan notasi format properti JSON.Bidang operator yang cocok harus salah satu dari berikut:
In
,NotIn
,StartsWith
,GreaterThan
,LessThan
,EqualTo
,NotEqualTo
, atauIsPresent
. Bilang bidang operator adalahIn
,NotIn
, atauStartsWith
, itu diikuti dengan susunan rangkaian nilai untuk diperiksa. Wawasan Kontributor mengevaluasi susunan nilai rangkaian dengan operator OR. Susunan dapat mencakup sebanyak 10 nilai rangkaian.Jika bidang operator adalah
GreaterThan
,LessThan
,EqualTo
, atauNotEqualTo
, diikuti dengan nilai numerik tunggal untuk dibandingkan.Jika bidang operator adalah
IsPresent
, itu diikuti olehtrue
ataufalse
. Operator ini mencocokkan log acara berdasarkan pada apakah bidang log yang ditentukan ada di dalam peristiwa log.isPresent
hanya bekerja dengan nilai di simpul daun properti JSON. Misalnya, penyaring yang mencari kecocokan denganc-count
tidak mengevaluasi peristiwa log dengan nilaidetails.c-count.c1
.Lihat empat contoh penyaring berikut:
{"Match": "$.httpMethod", "In": [ "PUT", ] } {"Match": "$.StatusCode", "EqualTo": 200 } {"Match": "$.BytesReceived", "GreaterThan": 10000} {"Match": "$.eventSource", "StartsWith": [ "ec2", "ecs" ] }
- AggregateOn
-
Nilai yang valid adalah
Count
danSum
. Menentukan apakah akan menggabungkan laporan berdasarkan pada hitungan kejadian atau jumlah dari nilai bidang yang ditentukan dalam bidangValueOf
.
Rotasi format properti JSON
Bidang Keys
, ValueOf
, dan Match
mengikuti format properti JSON dengan notasi titik, ketika $
mewakili akar dari objek JSON. Hal ini diikuti dengan periode dan kemudian rangkaian alfanumerik dengan nama subproperti. Beberapa tingkat properti didukung.
Karakter pertama dari string hanya bisa A-Z atau a-z. Karakter string berikut ini dapat berupa A-Z, a-z, atau 0-9.
Daftar berikut menggambarkan contoh format properti JSON yang benar:
$.userAgent $.endpoints[0] $.users[1].name $.requestParameters.instanceId
Bidang tambahan di dalam aturan untuk log CLF
Peristiwa log Format Log Umum (CLF) tidak memiliki nama untuk bidang seperti JSON. Untuk menyediakan bidang yang digunakan untuk aturan Wawasan Kontributor, peristiwa log CLF dapat diperlakukan sebagai susunan dengan indeks mulai dari 1
. Anda dapat menentukan bidang pertama sebagai "1"
, bidang kedua sebagai "2"
, dan seterusnya.
Untuk membuat aturan untuk log CLF lebih mudah dibaca, Anda dapat menggunakan Fields
. Ini memungkinkan Anda untuk memberikan nama alias untuk lokasi bidang CLF. Misalnya, Anda dapat menentukan bahwa lokasi "4" adalah alamat IP. Setelah ditentukan, IpAddress
dapat digunakan sebagai properti di Keys
, ValueOf
, dan Filters
dalam aturan.
Berikut adalah contoh aturan untuk log CLF yang menggunakan bidang Fields
.
{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "LogGroupNames": [ "API-Gateway-Access-Logs*" ], "LogFormat": "CLF", "Fields": { "4": "IpAddress", "7": "StatusCode" }, "Contribution": { "Keys": [ "IpAddress" ], "Filters": [ { "Match": "StatusCode", "EqualTo": 200 } ] }, "AggregateOn": "Count" }