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 JSON blok. 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 menggambarkan sintaks untuk JSON log.
{ "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 AWS ID 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 JSON properti.
- 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
-
(Opsional) Menentukan susunan sebanyak empat penyaring untuk mempersempit peristiwa log yang disertakan dalam laporan. Jika Anda menentukan beberapa filter, Contributor Insights mengevaluasi mereka dengan operator logis. AND 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 JSON properti.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
Bekerja hanya dengan nilai-nilai di simpul daun JSON properti. 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
.
JSONnotasi format properti
Match
Bidang Keys
ValueOf
,, dan mengikuti format JSON properti dengan notasi titik, di mana $
mewakili akar JSON objek. 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 valid dari format JSON properti:
$.userAgent $.endpoints[0] $.users[1].name $.requestParameters.instanceId
Bidang tambahan dalam aturan untuk CLF log
Common Log Format (CLF) peristiwa log tidak memiliki nama untuk bidang seperti JSON itu. Untuk menyediakan bidang yang akan digunakan untuk aturan Contributor Insights, peristiwa CLF log dapat diperlakukan sebagai array dengan indeks mulai dari. 1
Anda dapat menentukan bidang pertama sebagai "1"
, bidang kedua sebagai "2"
, dan seterusnya.
Untuk membuat aturan agar CLF log lebih mudah dibaca, Anda dapat menggunakannyaFields
. Ini memungkinkan Anda untuk memberikan alias penamaan untuk lokasi CLF lapangan. 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 ini adalah contoh aturan untuk CLF log yang menggunakan Fields
bidang.
{ "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" }