Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Filter dan pola sintaks
Jika Anda mencari informasi tentang cara membuat kueri grup log Anda dengan Amazon CloudWatch Log Wawasan bahasa kueri, lihatSintaksis permintaan.
Anda dapat membuat filter metrik untuk mencocokkan istilah dalam peristiwa log dan mengonversi data log menjadi metrik. Jika filter metrik cocok dengan istilah, filter ini akan menambah jumlah metrik. Misalnya, Anda dapat membuat filter metrik yang menghitung berapa kali kataKESALAHANterjadi dalam peristiwa log Anda.
Anda dapat menetapkan unit dan dimensi ke metrik. Misalnya, jika Anda membuat filter metrik yang menghitung berapa kali kataKESALAHANterjadi dalam peristiwa log Anda, Anda dapat menentukan dimensi yang disebutErrorCode
untuk menunjukkan jumlah log acara yang berisi kataKESALAHANdan menyaring data dengan kode kesalahan yang dilaporkan.
Saat Anda menetapkan unit ke metrik, pastikan untuk menentukan yang benar. Jika Anda mengganti unit nanti, perubahan Anda mungkin tidak akan berlaku.
Topik
- Menggunakan pola filter untuk mencocokkan istilah dalam peristiwa log
- Menggunakan filter metrik untuk mencocokkan istilah dan mengekstraksi nilai dari log acara JSON
- Menggunakan filter metrik untuk mengekstraksi nilai dari log acara yang dipisahkan dengan spasi
- Mengonfigurasi nilai metrik untuk filter metrik
- Memublikasikan dimensi dengan metrik dari value di JSON atau log acara yang dipisahkan dengan spasi
- Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik
Menggunakan pola filter untuk mencocokkan istilah dalam peristiwa log
Pola filter membentuk sintaks yang digunakan filter metrik untuk mencocokkan istilah dalam peristiwa log. Istilah dapat berupa kata-kata, frasa yang tepat, atau nilai numerik. Buat pola filter dengan istilah yang ingin Anda cocokkan. Pola filter hanya mengembalikan peristiwa log yang berisi istilah yang Anda tentukan. Anda dapat menguji pola filter di CloudWatch konsol. Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana Anda dapat menggunakan pola filter untuk mencocokkan istilah dalam peristiwa log Anda.
Pola filter mementingkan huruf besar atau kecil. Lampirkan frasa dan istilah yang tepat yang menyertakan karakter non-alfanumerik dalam tanda kutip ganda (“”).
Contoh: Cocokkan satu istilah
Cuplikan kode berikut menunjukkan contoh pola filter jangka tunggal yang menampilkan semua peristiwa log di mana pesan berisi kataKESALAHAN.
ERROR
Pola filter cocok dengan pesan log acara, seperti berikut:
[ERROR 400] BAD REQUEST
[ERROR 401] UNAUTHORIZED REQUEST
[ERROR 419] MISSING ARGUMENTS
[ERROR 420] INVALID ARGUMENTS
Contoh: Cocokkan beberapa istilah
Cuplikan kode berikut menunjukkan contoh pola filter jangka ganda yang menampilkan semua peristiwa log di mana pesan berisi kata-kataKESALAHANdanARGUMEN.
ERROR ARGUMENTS
Filter mengembalikan pesan log acara, seperti berikut:
[ERROR 419] MISSING ARGUMENTS
[ERROR 420] INVALID ARGUMENTS
Pola filter tidak mengembalikan pesan peristiwa log berikut karena tidak mengandung kedua istilah yang ditentukan dalam pola filter.
[ERROR 400] BAD REQUEST
[ERROR 401] UNAUTHORIZED REQUEST
Contoh: Cocokkan istilah tunggal dan ganda
Anda dapat menggunakan pencocokan pola untuk membuat pola filter yang mengembalikan peristiwa log yang berisi istilah tunggal dan ganda. Tempatkan tanda tanya (“?”) sebelum persyaratan yang ingin Anda cocokkan. Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan semua peristiwa log di mana pesan berisi kataKESALAHANatauARGUMENdan kata-kataKESALAHANdanARGUMEN.
?ERROR ?ARGUMENTS
Pola filter cocok dengan pesan log acara, seperti berikut:
[ERROR 400] BAD REQUEST
[ERROR 401] UNAUTHORIZED REQUEST
[ERROR 419] MISSING ARGUMENTS
[ERROR 420] INVALID ARGUMENTS
Contoh: Cocokkan frasa yang tepat
Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan peristiwa log di mana pesan berisi frasa yang tepatEROR PELADEN INTERNAL.
"INTERNAL SERVER ERROR"
Pola filter mengembalikan pesan peristiwa log berikut:
[ERROR 500] INTERNAL SERVER ERROR
Contoh: Menyertakan dan kecualikan istilah
Anda dapat membuat pola filter yang mengembalikan peristiwa log di mana pesan menyertakan beberapa istilah dan mengecualikan istilah lainnya. Tempatkan simbol minus (“-”) sebelum istilah yang ingin Anda kecualikan. Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan peristiwa log di mana pesan menyertakan istilahKESALAHANdan mengecualikan istilahARGUMEN.
ERROR -ARGUMENTS
Pola filter mengembalikan pesan log acara, seperti berikut:
[ERROR 400] BAD REQUEST
[ERROR 401] UNAUTHORIZED REQUEST
Pola filter tidak mengembalikan pesan peristiwa log berikut karena mengandung kataARGUMEN.
[ERROR 419] MISSING ARGUMENTS
[ERROR 420] INVALID ARGUMENTS
Contoh: Cocokkan semuanya
Anda dapat mencocokkan semuanya dalam peristiwa log Anda dengan tanda kutip ganda. Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan semua peristiwa log.
" "
Menggunakan filter metrik untuk mencocokkan istilah dan mengekstraksi nilai dari log acara JSON
Filter metrik adalah konfigurasi yang menyertakan pola filter. Anda dapat membuat filter metrik untuk mencocokkan istilah dalam peristiwa log dan mengonversi data log menjadi metrik. Jika filter metrik cocok dengan istilah, Anda dapat menambah jumlah metrik. Filter metrik hanya cocok dengan istilah yang Anda tentukan dalam pola filter Anda. Anda dapat menguji filter metrik di CloudWatch konsol. Anda juga dapat membuat filter metrik untuk mencocokkan istilah dan mengekstraksi nilai dari log acara JSON. Contoh berikut menjelaskan sintaks untuk filter metrik yang cocok dengan istilah JSON yang berisi string dan nilai numerik.
Contoh: Filter metrik yang cocok dengan string
Anda dapat membuat filter metrik untuk mencocokkan string dalam log acara JSON. Cuplikan kode berikut menunjukkan contoh sintaks untuk filter metrik berbasis string.
{
PropertySelector
EqualityOperator
String
}
Lampirkan filter metrik dalam kurung kurawal (“{}”). Filter metrik berbasis string harus berisi bagian-bagian berikut:
Pemilih properti
Berangkat penyeleksi properti dengan tanda dolar diikuti oleh periode (“$.”). pemilih properti string alfanumerik yang mendukung tanda hubung (“-”) dan garis bawah (“_”) karakter. String tidak mendukung notasi ilmiah. pemilih properti menunjuk ke node nilai dalam peristiwa log JSON. Nilai node dapat string atau angka. Tempatkan array setelah penyeleksi properti. Array berisi elemen yang mengikuti sistem pemesanan berbasis nol (0 = 1, 1 = 2, dan seterusnya). Lampirkan elemen dalam tanda kurung (“[]”). Jika pemilih properti menunjuk ke array atau objek, filter metrik tidak akan cocok dengan format log.
Operator kesetaraan
Berangkat operator kesetaraan dengan salah satu simbol berikut: sama (“=”) atau tidak sama (“! =”). Operator kesetaraan mengembalikan nilai Boolean (true atau false).
Tali
Anda dapat menyertakan string dalam tanda kutip ganda (“”). String yang berisi jenis selain karakter alfanumerik dan simbol garis bawah harus ditempatkan dalam tanda kutip ganda. Gunakan tanda bintang (“*”) sebagai kartu liar untuk mencocokkan teks.
Cuplikan kode berikut berisi contoh filter metrik yang menunjukkan bagaimana Anda dapat memformat filter metrik untuk mencocokkan istilah JSON dengan string.
{ $.eventType = "UpdateTrail" }
Contoh: Filter metrik yang cocok dengan nilai numerik
Anda dapat membuat filter metrik untuk mencocokkan nilai numerik dalam peristiwa log JSON. Cuplikan kode berikut menunjukkan contoh sintaks untuk filter metrik yang cocok dengan nilai numerik.
{
PropertySelector
NumericOperator
Number
}
Lampirkan filter metrik dalam kurung kurawal (“{}”). Filter metrik yang cocok dengan nilai numerik harus memiliki bagian berikut:
Pemilih properti
Berangkat penyeleksi properti dengan tanda dolar diikuti oleh periode (“$.”). pemilih properti string alfanumerik yang mendukung tanda hubung (“-”) dan garis bawah (“_”) karakter. String tidak mendukung notasi ilmiah. pemilih properti menunjuk ke node nilai dalam peristiwa log JSON. Nilai node dapat string atau angka. Tempatkan array setelah penyeleksi properti. Array berisi elemen yang mengikuti sistem pemesanan berbasis nol (0 = 1, 1 = 2, dan seterusnya). Lampirkan elemen dalam tanda kurung (“[]”). Jika pemilih properti menunjuk ke array atau objek, filter metrik tidak akan cocok dengan format log.
Operator numerik
Berangkat operator numerik dengan salah satu simbol berikut: lebih besar dari (“>”), kurang dari (“<”), sama (“=”), tidak sama (“! =”), lebih besar dari atau sama dengan (“>=”), atau kurang dari atau sama dengan (“<=”).
Nomor
Anda dapat menggunakan bilangan bulat yang berisi simbol plus (“+”) atau minus (“-”) dan mengikuti notasi ilmiah. Gunakan tanda bintang (“*”) sebagai kartu liar untuk mencocokkan angka.
Cuplikan kode berikut berisi contoh yang menunjukkan bagaimana Anda dapat memformat filter metrik untuk mencocokkan istilah JSON dengan nilai numerik.
// Metric filter with greater than symbol { $.bandwidth > 75 } // Metric filter with less than symbol { $.latency < 50 } // Metric filter with greater than or equal to symbol { $.refreshRate >= 60 } // Metric filter with less than or equal to symbol { $.responseTime <= 5 } // Metric filter with equal sign { $.errorCode = 400} // Metric filter with not equal sign and scientific notation { $.errorCode != 500 } // Metric filter with scientific notation and plus symbol { $.number[0] = 1e-3 } // Metric filter with scientific notation and minus symbol { $.number[0] != 1e+3 }
Pencocokan istilah dalam peristiwa log JSON
Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana filter metrik dapat mencocokkan istilah dalam peristiwa log JSON.
Contoh: Log acara JSON
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null }
Jika Anda menguji contoh filter metrik dengan contoh peristiwa log JSON, Anda harus memasukkan contoh log JSON pada satu baris.
Contoh: Filter metrik yang cocok dengan string
Filter metrik cocok dengan string"UpdateTrail"
di properti"eventType"
.
{ $.eventType = "UpdateTrail" }
Contoh: Filter metrik yang cocok dengan angka
Filter metrik berisi kartu liar dan cocok dengan properti"sourceIPAddress"
karena tidak mengandung angka dengan awalan"123.123."
.
{ $.sourceIPAddress != 123.123.* }
Contoh: Filter metrik yang cocok dengan elemen dalam larik
Filter metrik cocok dengan elemen"value"
dalam array"arrayKey"
.
{ $.arrayKey[0] = "value" }
Contoh: Filter metrik yang cocok dengan objek dalam larik
Filter metrik cocok dengan objek"id":2
dalam array"objectList"
.
{ $.objectList[1].id = 2 }
Contoh: Filter metrik yang cocok dengan log JSONIS
Anda dapat membuat filter metrik yang cocok dengan bidang di log JSON denganIS
variabel. KlasterIS
variabel dapat mencocokkan bidang yang berisi nilai-nilaiNULL
,TRUE
, atauFALSE
. Filter metrik berikut mengembalikan log JSON di mana nilaiSomeObject
adalahNULL
.
{ $.SomeObject IS NULL }
Contoh: Filter metrik yang cocok dengan log JSONNOT EXISTS
Anda dapat membuat filter metrik denganNOT EXISTS
variabel untuk mengembalikan log JSON yang tidak berisi bidang tertentu dalam data log. Filter metrik berikut menggunakanNOT EXISTS
untuk mengembalikan log JSON yang tidak berisi bidangSomeOtherObject
.
{ $.SomeOtherObject NOT EXISTS }
VariabelIS NOT
danEXISTS
saat ini tidak didukung.
Menggunakan ekspresi senyawa untuk mencocokkan istilah dalam objek JSON
Anda dapat menggunakan operator logis AND (“&&”) dan OR (“||”) dalam filter metrik untuk membuat ekspresi gabungan yang cocok dengan peristiwa log di mana dua atau lebih kondisi benar. Ekspresi senyawa mendukung penggunaan tanda kurung (“()”) dan urutan standar operasi berikut: () > && > ||. Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana Anda dapat menggunakan filter metrik dengan ekspresi gabungan untuk mencocokkan istilah dalam objek JSON.
Contoh: Objek JSON
{ "user": { "id": 1, "email": "John.Stiles@example.com" }, "users": [ { "id": 2, "email": "John.Doe@example.com" }, { "id": 3, "email": "Jane.Doe@example.com" } ], "actions": [ "GET", "PUT", "DELETE" ], "coordinates": [ [0, 1, 2], [4, 5, 6], [7, 8, 9] ] }
Contoh: Ekspresi yang cocok menggunakan AND (&&)
Filter metrik berisi ekspresi gabungan yang cocok"id"
di"user"
dengan nilai numerik1
dan"users"
di"email"
dengan string"John.Doe@example.com"
.
{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Contoh: Ekspresi yang cocok menggunakan OR (||)
Filter metrik berisi ekspresi gabungan yang cocok"email"
di"user"
dengan string"John.Stiles@example.com"
.
{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Contoh: Ekspresi yang tidak cocok menggunakan AND (&&)
Filter metrik berisi ekspresi gabungan yang tidak menemukan kecocokan karena ekspresi tidak cocok dengan koordinat pertama dan kedua di"coordinates"
dan tindakan ketiga di"actions"
.
{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
Contoh: Ekspresi yang tidak cocok menggunakan OR (||)
Filter metrik berisi ekspresi gabungan yang tidak menemukan kecocokan karena ekspresi tidak cocok dengan properti pertama di"users"
atau tindakan ketiga di"actions"
.
{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }
Menggunakan filter metrik untuk mengekstraksi nilai dari log acara yang dipisahkan dengan spasi
Anda dapat membuat filter metrik yang memetakan dan mengekstraksi nilai dari bidang dalam log acara yang dipisahkan dengan spasi. Contoh berikut berisi cuplikan kode yang menampilkan peristiwa log yang dibatasi spasi, filter metrik yang memetakan ke bidang dalam peristiwa log yang dibatasi spasi, dan nilai yang diekstrak filter metrik dari bidang dalam peristiwa log yang dibatasi spasi.
Contoh: Peristiwa log yang dibatasi ruang
Cuplikan kode berikut menunjukkan peristiwa log yang dibatasi spasi yang berisi tujuh bidang:ip
,user
,username
,timestamp
,request
,status_code
, danbytes
.
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Karakter antara tanda kurung (“[]”) dan tanda kutip ganda (“”) dianggap bidang tunggal.
Contoh: Filter metrik
Untuk membuat filter metrik yang memetakan dan mengekstrak nilai dari bidang dalam peristiwa log yang dibatasi spasi, lampirkan filter metrik dalam tanda kurung (“[]”), dan tentukan bidang dengan nama yang dipisahkan dengan koma (“,”). Filter metrik berikut mengurai tujuh bidang.
[ip, user, username, timestamp, request =*.html*, status_code = 4*, bytes]
Anda dapat menggunakan operator numerik (>, <, =,! =, >>=, atau < =) dan tanda bintang (*) sebagai kartu liar untuk memberikan kondisi filter metrik Anda. Dalam contoh filter metrik,request
berisi wild card yang menyatakan harus mengekstrak nilai dengan.html
, danstatus_code
berisi wild card yang menyatakan harus mengekstrak nilai yang dimulai dengan4
.
Jika Anda tidak mengetahui jumlah bidang yang sedang Anda parsing dalam peristiwa log yang dibatasi spasi, Anda dapat menggunakan elipsis (...) untuk mereferensikan bidang yang tidak disebutkan namanya. Elipsis dapat mereferensikan bidang sebanyak yang diperlukan. Contoh berikut menunjukkan filter metrik dengan elipsis yang mewakili empat bidang tanpa nama pertama yang ditunjukkan pada filter metrik contoh sebelumnya.
[..., request =*.html*, status_code = 4*, bytes]
Anda juga dapat menggunakan operator logis AND (&&) dan OR (||) untuk membuat ekspresi gabungan. Filter metrik berikut berisi ekspresi gabungan yang menyatakan nilaistatus_code
harus404
atau410
.
[ip, user, username, timestamp, request =*.html*, status_code = 404 || status_code = 410, bytes]
Contoh: Bidang dan nilai yang diekstraksi
Cuplikan kode berikut menunjukkan nilai yang diekstrak filter metrik dari bidang dalam peristiwa log yang dibatasi spasi.
{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$user": "Prod", "$ip": "127.0.0.1" }
Menggunakan pencocokan pola untuk mencocokkan istilah dalam log acara yang dipisahkan dengan spasi
Anda dapat menggunakan pencocokan pola untuk membuat filter metrik pembatas ruang yang cocok dengan istilah dalam urutan tertentu. Tentukan urutan persyaratan Anda dengan indikator. Gunakanw1untuk mewakili istilah pertama Anda danw2dan seterusnya untuk mewakili urutan istilah Anda selanjutnya. Tempatkan tanda koma (“,”) di antara istilah Anda. Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana Anda dapat menggunakan pencocokan pola dengan filter metrik yang dibatasi spasi.
Contoh: Istilah pertandingan secara berurutan
Filter metrik yang dibatasi spasi berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa log beradaKESALAHAN.
[w1=ERROR, w2]
Saat membuat filter metrik dengan batas ruang yang menggunakan pencocokan pola, Anda harus menyertakan indikator kosong setelah menentukan urutan persyaratan. Misalnya, jika Anda membuat filter metrik yang mengembalikan peristiwa log di mana kata pertama beradaKESALAHAN, termasuk kosongw2indikator setelahw1Istilah.
Contoh: Pertandingan istilah dengan AND (&&) dan OR (||)
Anda dapat menggunakan operator logis AND (“&&”) dan OR (“||”) untuk membuat filter metrik pembatas ruang yang berisi kondisi. Filter metrik berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa tersebutKESALAHANatauMEMPERINGATI.
[w1=ERROR || W1=WARNING, w2]
Contoh: Kecualikan ketentuan dari kecocokan
Anda dapat membuat filter metrik dengan batas ruang yang menampilkan peristiwa log tidak termasuk satu atau beberapa istilah. Tempatkan simbol yang tidak sama (“! =”) sebelum istilah atau istilah yang ingin Anda kecualikan. Cuplikan kode berikut menunjukkan contoh filter metrik yang menampilkan peristiwa log di mana kata pertama tidakKESALAHANdanMEMPERINGATI.
[w1!=ERROR && w1!=WARNING, w2]
Mengonfigurasi nilai metrik untuk filter metrik
Saat membuat filter metrik, Anda menentukan pola filter dan menentukan nilai metrik dan nilai default. Anda dapat mengatur nilai metrik ke angka, pengidentifikasi bernama, atau pengidentifikasi numerik. Jika Anda tidak menentukan nilai default, CloudWatch tidak akan melaporkan data saat filter metrik Anda tidak menemukan kecocokan. Kami menyarankan Anda menentukan nilai default, bahkan jika nilainya 0. Menetapkan nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan mencegah CloudWatch dari agregasi metrik jerawatan. CloudWatch agregat dan melaporkan nilai metrik setiap menit.
Saat filter metrik menemukan kecocokan dalam peristiwa log, filter metrik akan menambah jumlah metrik berdasarkan nilai metrik Anda. Jika filter metrik Anda tidak menemukan kecocokan, CloudWatch melaporkan nilai default metrik. Misalnya, grup log Anda menerbitkan dua rekaman setiap menit, nilai metrik adalah 1, dan nilai defaultnya adalah 0. Jika filter metrik menemukan kecocokan di kedua catatan log dalam menit pertama, nilai metrik untuk menit tersebut adalah 2. Jika filter metrik Anda tidak menemukan kecocokan di kedua rekaman selama menit kedua, nilai default untuk menit tersebut adalah 0. Jika Anda menetapkan dimensi ke metrik yang dihasilkan filter metrik, Anda tidak dapat menentukan nilai default untuk metrik tersebut.
Anda juga dapat mengatur filter metrik untuk menambah metrik dengan nilai yang diekstrak dari peristiwa log, bukan nilai statis. Untuk informasi selengkapnya, lihat Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik.
Memublikasikan dimensi dengan metrik dari value di JSON atau log acara yang dipisahkan dengan spasi
Anda dapat menggunakan CloudWatch konsolAWSCLI untuk membuat filter metrik yang mempublikasikan dimensi dengan metrik yang dihasilkan oleh JSON dan peristiwa log yang dibatasi spasi. Dimensi adalah pasangan nilai nama/nilai dan hanya tersedia untuk pola filter JSON dan spasi yang dibatasi. Anda dapat membuat filter metrik JSON dan pembatas ruang hingga tiga dimensi. Untuk informasi selengkapnya tentang dimensi dan informasi tentang cara menetapkan dimensi ke metrik, lihat bagian berikut:
Dimensidi dalamAmazon CloudWatch Panduan Pengguna
Contoh: Mengekstraksi bidang dari log Apache dan menetapkan dimensidi dalamAmazon CloudWatch Panduan Pengguna Log
Dimensi berisi nilai yang mengumpulkan biaya yang sama dengan metrik khusus. Untuk mencegah biaya tak terduga, jangan tentukan bidang kardinalitas tinggi, sepertiIPAddress
ataurequestID
, sebagai dimensi.
Jika Anda mengekstrak metrik dari peristiwa log, Anda dikenai biaya untuk metrik khusus. Untuk mencegah Anda mengumpulkan biaya tinggi yang tak disengaja, Amazon mungkin menonaktifkan filter metrik jika menghasilkan 1000 pasangan nama/nilai yang berbeda untuk dimensi yang ditentukan selama waktu tertentu.
Anda dapat membuat alarm penagihan yang memberi tahu Anda tentang perkiraan biaya Anda. Untuk informasi selengkapnya, lihatMembuat alarm penagihan untuk memantau estimasi AndaAWSbiaya.
Memublikasikan dimensi dengan metrik dari log acara JSON
Contoh berikut berisi cuplikan kode yang menjelaskan cara menentukan dimensi dalam filter metrik JSON.
Contoh: Log acara JSON
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
Jika Anda menguji contoh filter metrik dengan contoh peristiwa log JSON, Anda harus memasukkan contoh log JSON pada satu baris.
Contoh: Filter metrik
Filter metrik menambah metrik setiap kali peristiwa log JSON berisi propertieventType
dan"sourceIPAddress"
.
{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }
Saat membuat filter metrik JSON, Anda dapat menentukan properti apa pun di filter metrik sebagai dimensi. Misalnya, untuk mengatureventType
sebagai dimensi, gunakan yang berikut:
"eventType" : $.eventType
Contoh metrik berisi dimensi yang dinamai"eventType"
, dan nilai dimensi dalam event log contoh adalah"UpdateTrail"
.
Memublikasikan dimensi dengan metrik dari log acara yang dipisahkan dengan spasi
Contoh berikut berisi cuplikan kode yang menjelaskan cara menentukan dimensi dalam filter metrik yang dibatasi spasi.
Contoh: Peristiwa log yang dibatasi ruang
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Contoh: Filter metrik
[ip, server, username, timestamp, request, status_code, bytes > 1000]
Filter metrik akan menambahkan metrik saat log acara yang dipisahkan dengan spasi mencakup bidang mana pun yang ditentukan dalam filter. Misalnya, filter metrik menemukan bidang dan nilai berikut dalam contoh peristiwa log yang dibatasi spasi.
{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }
Saat membuat filter metrik yang dipisahkan dengan spasi, Anda dapat menentukan bidang apa pun di filter metrik sebagai dimensi. Misalnya, untuk mengaturserver
sebagai dimensi, gunakan yang berikut:
"server" : $server
Contoh filter metrik memiliki dimensi yang dinamaiserver
, dan nilai dimensi dalam event log contoh adalah"Prod"
.
Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik
Anda dapat membuat filter metrik yang mempublikasikan nilai numerik yang ditemukan di peristiwa log Anda. Prosedur di bagian ini menggunakan contoh filter metrik berikut untuk menunjukkan bagaimana Anda dapat mempublikasikan nilai numerik dalam peristiwa log JSON ke metrik.
{ $.latency = * } metricValue: $.latency
Membuat filter metrik yang memublikasikan nilai dalam log acara
Buka CloudWatch konsolhttps://console.aws.amazon.com/cloudwatch/
. -
Pada panel navigasi, pilih Log, lalu pilih Grup log.
-
Pilih atau buat grup log.
Untuk informasi tentang cara membuat grup log, lihatMembuat grup log di CloudWatch Beberapa catatandi dalamAmazon CloudWatch Panduan Pengguna Log.
-
PilihTindakan, dan kemudian pilihBuat filter metrik.
-
UntukPola filter, ENTER
{ $.latency = * }
, dan kemudian pilihSelanjutnya. -
UntukNama Metrik, ENTERMyMetric.
-
Untuk Metric Value (Nilai Metrik), masukkan
$.latency
. (Opsional) UntukNilai Default, ENTER0, dan kemudian pilihSelanjutnya.
Kami menyarankan Anda menentukan nilai default, bahkan jika nilainya 0. Menetapkan nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan mencegah CloudWatch dari menggabungkan metrik jerawatan. CloudWatch agregat dan melaporkan nilai metrik setiap menit.
Pilih Create metric filter (Buat filter metrik).
Contoh filter metrik cocok dengan istilah"latency"
dalam contoh peristiwa log JSON dan menerbitkan nilai numerik 50 ke metrikMyMetric.
{ "latency": 50, "requestType": "GET" }