Filter dan sintaks pola - 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 sintaks pola

catatan

Jika Anda mencari informasi tentang cara menanyakan grup log Anda dengan bahasa kueri Amazon CloudWatch Logs Insights, lihat sintaks Kueri.

Anda dapat membuat filter metrik untuk mencocokkan istilah dalam peristiwa log dan mengonversi data log menjadi metrik. Ketika filter metrik cocok dengan istilah, itu menambah jumlah metrik. Misalnya, Anda dapat membuat filter metrik yang menghitung berapa kali kata ERROR terjadi dalam peristiwa log Anda.

Anda dapat menetapkan unit dan dimensi ke metrik. Misalnya, jika Anda membuat filter metrik yang menghitung berapa kali kata ERROR terjadi dalam peristiwa log Anda, Anda dapat menentukan dimensi yang dipanggil ErrorCode untuk menunjukkan jumlah total peristiwa log yang berisi kata ERROR dan memfilter data berdasarkan kode kesalahan yang dilaporkan.

Tip

Saat Anda menetapkan unit ke metrik, pastikan untuk menentukan yang benar. Jika Anda mengubah unit nanti, perubahan Anda mungkin tidak 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, 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 peka huruf besar/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 mengembalikan semua peristiwa log di mana pesan berisi kata ERROR.

ERROR

Pola filter cocok dengan pesan peristiwa log, seperti berikut ini:

  • [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 multi-istilah yang mengembalikan semua peristiwa log di mana pesan berisi kata-kata ERROR dan ARGUMENTS.

ERROR ARGUMENTS

Filter mengembalikan pesan peristiwa log, seperti berikut ini:

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Pola filter tidak mengembalikan pesan peristiwa log berikut karena tidak berisi 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 kata ERROR atau kata ARGUMENTS.

?ERROR ?ARGUMENTS

Pola filter cocok dengan pesan peristiwa log, seperti berikut ini:

  • [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 frase yang tepat INTERNAL SERVER ERROR.

"INTERNAL SERVER ERROR"

Pola filter mengembalikan pesan peristiwa log berikut:

  • [ERROR 500] INTERNAL SERVER ERROR

Contoh: Sertakan dan kecualikan persyaratan

Anda dapat membuat pola filter yang menampilkan peristiwa log di mana pesan menyertakan beberapa istilah dan mengecualikan istilah lain. Tempatkan simbol minus (“-”) sebelum istilah yang ingin Anda kecualikan. Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan peristiwa log di mana pesan menyertakan istilah ERROR dan mengecualikan istilah ARGUMEN.

ERROR -ARGUMENTS

Pola filter mengembalikan pesan peristiwa log, seperti berikut ini:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Pola filter tidak mengembalikan pesan peristiwa log berikut karena mengandung kata ARGUMENTS.

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Contoh: Cocokkan semuanya

Anda dapat mencocokkan semua yang ada di acara 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 mengekstrak nilai dari peristiwa log 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 mengekstrak nilai dari peristiwa log 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 peristiwa log 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

    Matikan pemilih properti dengan tanda dolar diikuti dengan titik (“$.”). Penyeleksi properti adalah string alfanumerik yang mendukung karakter tanda hubung (“-”) dan garis bawah (“_”). String tidak mendukung notasi ilmiah. Penyeleksi properti menunjuk ke node nilai dalam peristiwa log JSON. Node nilai dapat berupa string atau angka. Tempatkan array setelah pemilih properti. Unsur-unsur dalam array mengikuti sistem penomoran berbasis nol, yang berarti bahwa elemen pertama dalam array adalah elemen 0, elemen kedua adalah elemen 1, dan seterusnya. Lampirkan elemen dalam tanda kurung (“[]”). Jika pemilih properti menunjuk ke array atau objek, filter metrik tidak akan cocok dengan format log. Jika properti JSON berisi periode ("."), maka notasi braket dapat digunakan untuk memilih properti itu.

  • Operator kesetaraan

    Matikan operator kesetaraan dengan salah satu simbol berikut: sama (“=”) atau tidak sama (“! =”). Operator kesetaraan mengembalikan nilai Boolean (benar atau salah).

  • Tali

    Anda dapat melampirkan string dalam tanda kutip ganda (“”). String yang berisi tipe 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 agar sesuai dengan 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

    Matikan pemilih properti dengan tanda dolar diikuti dengan titik (“$.”). Penyeleksi properti adalah string alfanumerik yang mendukung karakter tanda hubung (“-”) dan garis bawah (“_”). String tidak mendukung notasi ilmiah. Penyeleksi properti menunjuk ke node nilai dalam peristiwa log JSON. Node nilai dapat berupa string atau angka. Tempatkan array setelah pemilih properti. Unsur-unsur dalam array mengikuti sistem penomoran berbasis nol, yang berarti bahwa elemen pertama dalam array adalah elemen 0, elemen kedua adalah elemen 1, dan seterusnya. Lampirkan elemen dalam tanda kurung (“[]”). Jika pemilih properti menunjuk ke array atau objek, filter metrik tidak akan cocok dengan format log. Jika properti JSON berisi periode ("."), maka notasi braket dapat digunakan untuk memilih properti itu.

  • Operator numerik

    Matikan 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 agar sesuai dengan 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 { $.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 }

Ketentuan yang cocok dalam peristiwa log JSON

Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana filter metrik dapat mencocokkan istilah dalam peristiwa log JSON.

Contoh: peristiwa log JSON

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null, "cluster.name": "c" }
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 array

Filter metrik cocok dengan elemen "value" dalam array"arrayKey".

{ $.arrayKey[0] = "value" }

Contoh: Filter metrik yang cocok dengan objek dalam array

Filter metrik cocok dengan objek "id":2 dalam array"objectList".

{ $.objectList[1].id = 2 }

Contoh: Filter metrik yang cocok dengan properti JSON dengan periode (.) di kunci.

{ $.['cluster.name'] = "c" }

Contoh: Filter metrik yang cocok dengan log JSON menggunakan IS

Anda dapat membuat filter metrik yang cocok dengan bidang di log JSON dengan IS variabel. ISVariabel dapat mencocokkan bidang yang berisi nilaiNULL,TRUE, atauFALSE. Filter metrik berikut mengembalikan log JSON di mana nilai SomeObject adalahNULL.

{ $.SomeObject IS NULL }

Contoh: Filter metrik yang cocok dengan log JSON menggunakan NOT EXISTS

Anda dapat membuat filter metrik dengan NOT EXISTS variabel untuk mengembalikan log JSON yang tidak berisi bidang tertentu dalam data log. Filter metrik berikut digunakan NOT EXISTS untuk mengembalikan log JSON yang tidak berisi bidangSomeOtherObject.

{ $.SomeOtherObject NOT EXISTS }
catatan

Variabel IS NOT dan EXISTS saat ini tidak didukung.

Menggunakan ekspresi majemuk untuk mencocokkan istilah dalam objek JSON

Anda dapat menggunakan operator logika AND (“&&”) dan OR (“||”) dalam filter metrik untuk membuat ekspresi gabungan yang cocok dengan peristiwa log di mana dua kondisi atau lebih benar. Ekspresi majemuk mendukung penggunaan tanda kurung (“()”) dan urutan operasi standar berikut: () > && > ||. Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana Anda dapat menggunakan filter metrik dengan ekspresi majemuk 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 majemuk "id" yang cocok "user" dengan nilai numerik 1 dan "users" masuk "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 majemuk "email" yang cocok "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 majemuk yang tidak menemukan kecocokan karena ekspresi tidak cocok dengan koordinat pertama dan kedua dalam "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 majemuk yang tidak menemukan kecocokan karena ekspresi tidak cocok dengan properti pertama "users" atau tindakan ketiga di"actions".

{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }

Menggunakan filter metrik untuk mengekstrak nilai dari peristiwa log yang dibatasi ruang

Anda dapat membuat filter metrik yang memetakan dan mengekstrak nilai dari bidang dalam peristiwa log yang dibatasi ruang. Contoh berikut berisi cuplikan kode yang menunjukkan 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 dan. timestamp request status_code bytes

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 mem-parsing 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 kartu liar yang menyatakan harus mengekstrak nilai dengan.html, dan status_code berisi kartu liar yang menyatakan harus mengekstrak nilai yang dimulai dengan4.

Jika Anda tidak mengetahui jumlah bidang yang Anda parsing dalam peristiwa log yang dibatasi spasi, Anda dapat menggunakan ellipsis (...) 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 pertama yang tidak disebutkan namanya yang ditunjukkan pada filter metrik contoh sebelumnya.

[..., request =*.html*, status_code = 4*, bytes]

Anda juga dapat menggunakan operator logika AND (&&) dan OR (||) untuk membuat ekspresi majemuk. Filter metrik berikut berisi ekspresi majemuk yang menyatakan nilai status_code must be 404 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 peristiwa log yang dibatasi ruang

Anda dapat menggunakan pencocokan pola untuk membuat filter metrik yang dibatasi ruang yang cocok dengan istilah dalam urutan tertentu. Tentukan urutan persyaratan Anda dengan indikator. Gunakan w1 untuk mewakili istilah pertama Anda dan w2 dan seterusnya untuk mewakili urutan persyaratan Anda berikutnya. Tempatkan 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: Ketentuan cocokkan secara berurutan

Filter metrik yang dibatasi spasi berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa log adalah ERROR.

[w1=ERROR, w2]
catatan

Saat Anda membuat filter metrik yang dibatasi spasi yang menggunakan pencocokan pola, Anda harus menyertakan indikator kosong setelah Anda menentukan urutan istilah Anda. Misalnya, jika Anda membuat filter metrik yang mengembalikan peristiwa log di mana kata pertama adalah ERROR, sertakan indikator w2 kosong setelah istilah w1.

Contoh: Cocokkan istilah dengan AND (&&) dan OR (||)

Anda dapat menggunakan operator logis AND (“&&”) dan OR (“||”) untuk membuat filter metrik yang dibatasi spasi yang berisi kondisi. Filter metrik berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa adalah ERROR atau PERINGATAN.

[w1=ERROR || W1=WARNING, w2]

Contoh: Kecualikan persyaratan dari kecocokan

Anda dapat membuat filter metrik yang dibatasi spasi 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 mengembalikan peristiwa log di mana kata-kata pertama tidak ERROR dan PERINGATAN.

[w1!=ERROR && w1!=WARNING, w2]

Mengkonfigurasi nilai metrik untuk filter metrik

Saat Anda membuat filter metrik, Anda menentukan pola filter dan menentukan nilai metrik dan nilai default Anda. Anda dapat mengatur nilai metrik ke angka, pengidentifikasi bernama, atau pengidentifikasi numerik. Jika Anda tidak menentukan nilai default, tidak CloudWatch akan melaporkan data saat filter metrik Anda tidak menemukan kecocokan. Kami menyarankan Anda menentukan nilai default, bahkan jika nilainya 0. Menyetel nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan CloudWatch mencegah agregasi metrik jerawatan. CloudWatch agregat dan melaporkan nilai metrik setiap menit.

Ketika filter metrik Anda menemukan kecocokan dalam peristiwa log Anda, itu menambah jumlah metrik Anda dengan nilai metrik Anda. Jika filter metrik Anda tidak menemukan kecocokan, CloudWatch laporkan nilai default metrik. Misalnya, grup log Anda menerbitkan dua catatan setiap menit, nilai metriknya adalah 1, dan nilai defaultnya adalah 0. Jika filter metrik Anda menemukan kecocokan di kedua catatan log dalam menit pertama, nilai metrik untuk menit itu adalah 2. Jika filter metrik Anda tidak menemukan kecocokan di kedua rekaman selama menit kedua, nilai default untuk menit itu adalah 0. Jika Anda menetapkan dimensi ke metrik yang dihasilkan oleh 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.

Menerbitkan dimensi dengan metrik dari nilai di JSON atau peristiwa log yang dibatasi ruang

Anda dapat menggunakan CloudWatch konsol atau AWS CLI untuk membuat filter metrik yang mempublikasikan dimensi dengan metrik yang dihasilkan oleh JSON dan peristiwa log yang dibatasi ruang. Dimensi adalah pasangan nilai nama/nilai dan hanya tersedia untuk JSON dan pola filter yang dibatasi ruang. Anda dapat membuat filter metrik JSON dan spasi-terbatas 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 sama dengan metrik kustom. Untuk mencegah muatan tak terduga, jangan tentukan bidang kardinalitas tinggi, seperti IPAddress ataurequestID, sebagai dimensi.

Jika Anda mengekstrak metrik dari peristiwa log, Anda dikenakan biaya untuk metrik khusus. Untuk mencegah Anda mengumpulkan muatan tinggi yang tidak disengaja, Amazon mungkin menonaktifkan filter metrik Anda jika menghasilkan 1000 pasangan nama/nilai yang berbeda untuk dimensi tertentu selama jangka waktu tertentu.

Anda dapat membuat alarm penagihan yang memberi tahu Anda tentang perkiraan biaya Anda. Untuk informasi selengkapnya, lihat Membuat alarm penagihan untuk memantau perkiraan AWS biaya.

Memublikasikan dimensi dengan metrik dari log acara JSON

Contoh berikut berisi cuplikan kode yang menjelaskan cara menentukan dimensi dalam filter metrik JSON.

Contoh: peristiwa log 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 filter metrik contoh 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 properti eventType dan. "sourceIPAddress"

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

Saat Anda membuat filter metrik JSON, Anda dapat menentukan properti apa pun di filter metrik sebagai dimensi. Misalnya, untuk mengatur eventType sebagai dimensi, gunakan yang berikut ini:

"eventType" : $.eventType

Contoh metrik berisi dimensi yang diberi nama"eventType", dan nilai dimensi dalam peristiwa 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 ruang.

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 menambah metrik ketika peristiwa log yang dibatasi spasi menyertakan salah satu bidang yang ditentukan dalam filter. Misalnya, filter metrik menemukan bidang dan nilai berikut dalam contoh peristiwa log yang dibatasi ruang.

{ "$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 Anda membuat filter metrik yang dibatasi spasi, Anda dapat menentukan salah satu bidang dalam filter metrik sebagai dimensi. Misalnya, untuk mengatur server sebagai dimensi, gunakan yang berikut ini:

"server" : $server

Contoh filter metrik memiliki dimensi yang diberi namaserver, dan nilai dimensi dalam peristiwa 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
Untuk membuat filter metrik yang menerbitkan nilai dalam peristiwa log
  1. Buka CloudWatch konsol di https://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, lihat Membuat grup log di CloudWatch Log di Panduan Pengguna CloudWatch Log Amazon.

  4. Pilih Tindakan, lalu pilih Buat filter metrik.

  5. Untuk Pola Filter{ $.latency = * }, masukkan, lalu pilih Berikutnya.

  6. Untuk Nama Metrik, masukkan MyMetric.

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

  8. (Opsional) Untuk Nilai Default, masukkan 0, lalu pilih Berikutnya.

    Kami menyarankan Anda menentukan nilai default, bahkan jika nilainya 0. Menyetel nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan CloudWatch mencegah agregasi metrik jerawatan. CloudWatch agregat dan melaporkan nilai metrik setiap menit.

  9. Pilih Create metric filter (Buat filter metrik).

Filter metrik contoh cocok dengan istilah "latency" dalam contoh peristiwa log JSON dan menerbitkan nilai numerik 50 ke MyMetric metrik.

{ "latency": 50, "requestType": "GET" }