Filter dan pola sintaks - CloudWatch Log Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Filter dan pola sintaks

catatan

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 disebutErrorCodeuntuk menunjukkan jumlah log acara yang berisi kataKESALAHANdan menyaring data dengan kode kesalahan yang dilaporkan.

Tip

Saat Anda menetapkan unit ke metrik, pastikan untuk menentukan yang benar. Jika Anda mengganti unit nanti, perubahan Anda mungkin tidak akan berlaku.

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.

catatan

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 }
catatan

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":2dalam 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 denganISvariabel. KlasterISvariabel dapat mencocokkan bidang yang berisi nilai-nilaiNULL,TRUE, atauFALSE. Filter metrik berikut mengembalikan log JSON di mana nilaiSomeObjectadalahNULL.

{ $.SomeObject IS NULL }

Contoh: Filter metrik yang cocok dengan log JSONNOT EXISTS

Anda dapat membuat filter metrik denganNOT EXISTSvariabel untuk mengembalikan log JSON yang tidak berisi bidang tertentu dalam data log. Filter metrik berikut menggunakanNOT EXISTSuntuk mengembalikan log JSON yang tidak berisi bidangSomeOtherObject.

{ $.SomeOtherObject NOT EXISTS }
catatan

VariabelIS NOTdanEXISTSsaat 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 numerik1dan"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
catatan

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,requestberisi wild card yang menyatakan harus mengekstrak nilai dengan.html, danstatus_codeberisi 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_codeharus404atau410.

[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]
catatan

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:

penting

Dimensi berisi nilai yang mengumpulkan biaya yang sama dengan metrik khusus. Untuk mencegah biaya tak terduga, jangan tentukan bidang kardinalitas tinggi, sepertiIPAddressataurequestID, 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 } ] }
catatan

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 propertieventTypedan"sourceIPAddress".

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

Saat membuat filter metrik JSON, Anda dapat menentukan properti apa pun di filter metrik sebagai dimensi. Misalnya, untuk mengatureventTypesebagai 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 mengaturserversebagai 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
  1. Buka CloudWatch konsolhttps://console.aws.amazon.com/cloudwatch/.

  2. Pada panel navigasi, pilih Log, lalu pilih Grup log.

  3. Pilih atau buat grup log.

    Untuk informasi tentang cara membuat grup log, lihatMembuat grup log di CloudWatch Beberapa catatandi dalamAmazon CloudWatch Panduan Pengguna Log.

  4. PilihTindakan, dan kemudian pilihBuat filter metrik.

  5. UntukPola filter, ENTER{ $.latency = * }, dan kemudian pilihSelanjutnya.

  6. UntukNama Metrik, ENTERMyMetric.

  7. Untuk Metric Value (Nilai Metrik), masukkan $.latency.

  8. (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.

  9. 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" }