Filter sintaks pola untuk filter metrik, filter langganan, peristiwa log filter, dan Live Tail - CloudWatch Log Amazon

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

Filter sintaks pola untuk filter metrik, filter langganan, peristiwa log filter, dan Live Tail

catatan

Untuk informasi tentang cara menanyakan grup log Anda dengan bahasa kueri Amazon CloudWatch Logs Insights, lihatCloudWatch Sintaks kueri Log Insights.

Dengan CloudWatch Log, Anda dapat menggunakan filter metrik untuk mengubah data log menjadi metrik yang dapat ditindaklanjuti, filter langganan untuk merutekan peristiwa log ke AWS layanan lain, memfilter peristiwa log untuk mencari peristiwa log, dan Live Tail untuk secara interaktif melihat log Anda secara real-time saat tertelan.

Pola filter membentuk sintaks yang digunakan oleh filter metrik, filter langganan, peristiwa log filter, dan Live Tail untuk mencocokkan istilah dalam peristiwa log. Istilah dapat berupa kata, frasa yang tepat, atau nilai numerik. Ekspresi reguler (regex) dapat digunakan untuk membuat pola filter mandiri, atau dapat digabungkan dengan JSON dan pola filter yang dibatasi ruang.

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.

Sintaks ekspresi reguler (regex) yang didukung

Saat menggunakan regex untuk mencari dan memfilter data log, Anda harus mengelilingi ekspresi Anda dengan. %

Pola filter dengan regex hanya dapat mencakup yang berikut:

  • Karakter alfanumerik — Karakter alfanumerik adalah karakter yang berupa huruf (dari A ke Z atau a hingga z) atau digit (dari 0 hingga 9).

  • Karakter simbol yang didukung - Ini termasuk: _ '#', '=', '@', '/', ';', ',', dan '-'. Misalnya, %something!% akan ditolak karena '!' tidak didukung.

  • Operator yang didukung - Ini termasuk: ^ '$', '?', '[', ']', '{', '}', '|', '\', '*', '+', dan '.'.

)Operator ( dan tidak didukung. Anda tidak dapat menggunakan tanda kurung untuk mendefinisikan subpola.

Karakter multi-byte tidak didukung.

catatan

Kuota

Ada maksimal 5 pola filter yang berisi regex untuk setiap grup log saat membuat filter metrik atau filter langganan.

Ada batas 2 regex untuk setiap pola filter saat membuat pola filter terbatas atau JSON untuk filter metrik dan filter langganan atau saat memfilter peristiwa log atau Live Tail.

Penggunaan operator yang didukung

  • ^: Jangkar pertandingan ke awal string. Misalnya, %^[hc]at% cocok dengan “topi” dan “kucing”, tetapi hanya di awal tali.

  • $: Jangkar korek api ke ujung string. Misalnya, %[hc]at$% cocok dengan “topi” dan “kucing”, tetapi hanya di ujung tali.

  • ?: Cocokkan nol atau lebih contoh dari istilah sebelumnya. Misalnya, %colou?r% dapat mencocokkan “warna” dan “warna”.

  • []: Mendefinisikan kelas karakter. Cocokkan daftar karakter atau rentang karakter yang terkandung dalam tanda kurung. Misalnya, %[abc]% cocok dengan “a”, “b”, atau “c”; %[a-z]% cocok dengan huruf kecil dari “a” ke “z”; dan %[abcx-z]% cocok dengan “a”, “b”, “c”, “x”, “y”, atau “z”.

  • {m, n}: Cocokkan istilah sebelumnya setidaknya m dan tidak lebih dari n kali. Misalnya, hanya %a{3,5}% cocok dengan “aaa”, “aaaa”, dan “aaaaa”.

    catatan

    Entah m atau n dapat dihilangkan jika Anda memilih untuk tidak menentukan minimum atau maksimum.

  • |: Boolean “Atau”, yang cocok dengan istilah di kedua sisi bilah vertikal. Misalnya, %gra|ey% bisa cocok dengan “abu-abu” atau “abu-abu”.

    catatan

    Sebuah istilah adalah sebagai karakter tunggal atau kelas karakter berulang yang menggunakan salah satu operator berikut:?,, *+, atau{n,m}.

  • \: Karakter melarikan diri, yang memungkinkan Anda untuk menggunakan arti literal dari operator alih-alih makna khusus. Misalnya, %\[.\]% cocok dengan karakter tunggal yang dikelilingi oleh “[” dan “]” karena tanda kurung diloloskan, seperti “[a]”, “[b]”, “[7]”, “[@]”, “[]]”, dan “[]”.

    catatan

    %10\.10\.0\.1%adalah cara yang benar untuk membuat regex agar sesuai dengan alamat IP 10.10.0.1.

  • *: Cocokkan nol atau lebih contoh dari istilah sebelumnya. Misalnya, %ab*c% dapat mencocokkan “ac”, “abc”, dan “abbbc”; %ab[0-9]*% dapat mencocokkan “ab”, “ab0", dan “ab129".

  • +: Cocokkan satu atau lebih contoh dari istilah sebelumnya. Misalnya, %ab+c% dapat mencocokkan “abc”, “abbc”, dan “abbbc”, tetapi tidak “ac”.

  • .: Cocokkan karakter tunggal apa pun. Misalnya, %.at% mencocokkan tiga string karakter yang diakhiri dengan “at”, termasuk “hat”, “cat”, “bat”, “4at”, "#at" dan "at” (dimulai dengan spasi).

    catatan

    Saat membuat regex agar sesuai dengan alamat IP, penting untuk melarikan diri dari operator. . Misalnya, %10.10.0.1% dapat mencocokkan “10010,051" yang mungkin bukan tujuan sebenarnya dari ekspresi tersebut.

  • \d,\D: Cocokkan karakter digit/non-digit. Misalnya, %\d% setara dengan %[0-9]% dan %\D% setara dengan%[^0-9]%.

    catatan

    Operator huruf besar menunjukkan kebalikan dari rekan huruf kecil.

  • \s,\S: Cocokkan karakter spasi/karakter non-spasi putih.

    catatan

    Operator huruf besar menunjukkan kebalikan dari rekan huruf kecil. Karakter spasi termasuk karakter tab (\t), spasi ( ), dan baris baru (\n).

  • \w,\W: Cocokkan karakter alfanumerik/karakter non-alfanumerik. Misalnya, %\w% setara dengan %[a-zA-Z_0-9]% dan %\W% setara dengan%[^a-zA-Z_0-9]%.

    catatan

    Operator huruf besar menunjukkan kebalikan dari rekan huruf kecil.

  • \xhh: Cocokkan pemetaan ASCII untuk karakter heksadesimal dua digit. \xadalah urutan escape yang menunjukkan bahwa karakter berikut mewakili nilai heksadesimal untuk ASCII. hhmenentukan dua digit heksadesimal (0-9 dan A-F) yang menunjuk ke karakter dalam tabel ASCII.

    catatan

    Anda dapat menggunakan \xhh untuk mencocokkan karakter simbol yang tidak didukung oleh pola filter. Misalnya, %\x3A% pertandingan:; dan %\x28% pertandingan(.

Menggunakan pola filter untuk mencocokkan istilah dengan ekspresi reguler (regex)

Anda dapat mencocokkan istilah dalam peristiwa log Anda menggunakan pola regex yang dikelilingi dengan % (tanda persentase sebelum dan sesudah pola regex). Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan semua peristiwa log yang terdiri dari kata kunci AUTHORIZED.

Untuk daftar ekspresi reguler yang didukung, lihat Ekspresi reguler yang didukung.

%AUTHORIZED%

Pola filter ini mengembalikan pesan peristiwa log, seperti berikut ini:

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

Menggunakan pola filter untuk mencocokkan istilah dalam peristiwa log tidak terstruktur

Contoh berikut berisi cuplikan kode yang menunjukkan bagaimana Anda dapat menggunakan pola filter untuk mencocokkan istilah dalam peristiwa log tidak terstruktur.

catatan

Pola filter peka huruf besar/kecil. Lampirkan frasa dan istilah yang tepat yang menyertakan karakter non-alfanumerik dalam tanda kutip ganda (“”).

Example: Match a single term

Cuplikan kode berikut menunjukkan contoh pola filter jangka tunggal yang mengembalikan semua peristiwa log di mana pesan berisi kata ERROR.

ERROR

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

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match multiple terms

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 ini tidak mengembalikan pesan peristiwa log berikut karena tidak berisi kedua istilah yang ditentukan dalam pola filter.

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Example: Match optional terms

Anda dapat menggunakan pencocokan pola untuk membuat pola filter yang menampilkan peristiwa log yang berisi istilah opsional. 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 ini cocok dengan pesan peristiwa log, seperti berikut ini:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

catatan

Anda tidak dapat menggabungkan tanda tanya (“?”) dengan pola filter lainnya, seperti menyertakan dan mengecualikan istilah. Jika Anda menggabungkan “?” dengan pola filter lainnya, tanda tanya (“?”) akan diabaikan.

Misalnya, pola filter berikut cocok dengan semua peristiwa yang mengandung kataREQUEST, tetapi tanda tanya (“?”) filter diabaikan dan tidak berpengaruh.

?ERROR ?ARGUMENTS REQUEST

Log pertandingan acara

  • [INFO] REQUEST FAILED

  • [WARN] UNAUTHORIZED REQUEST

  • [ERROR] 400 BAD REQUEST

Example: Match exact phrases

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 ini mengembalikan pesan peristiwa log berikut:

  • [ERROR 500] INTERNAL SERVER ERROR

Example: Include and exclude terms

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 ini mengembalikan pesan peristiwa log, seperti berikut ini:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

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

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match everything

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 pola filter untuk mencocokkan istilah dalam peristiwa log JSON

Berikut ini menjelaskan cara menulis sintaks untuk pola filter yang cocok dengan istilah JSON yang berisi string dan nilai numerik.

Writing filter patterns that match strings

Anda dapat membuat pola filter untuk mencocokkan string dalam peristiwa log JSON. Cuplikan kode berikut menunjukkan contoh sintaks untuk pola filter berbasis string.

{ PropertySelector EqualityOperator String }

Lampirkan pola filter dalam kurung kurawal (“{}”). Pola filter 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, pola filter tidak akan cocok dengan format log. Jika properti JSON berisi periode ("."), maka notasi braket dapat digunakan untuk memilih properti itu.

    catatan

    Pemilih wildcard

    Anda dapat menggunakan wildcard JSON untuk memilih elemen array atau bidang objek JSON apa pun.

    Kuota

    Anda hanya dapat menggunakan hingga satu pemilih wildcard di pemilih properti.

  • 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.

    catatan

    Anda dapat menggunakan ekspresi reguler bersyarat apa pun saat membuat pola filter untuk mencocokkan istilah dalam peristiwa log JSON. Untuk daftar ekspresi reguler yang didukung, lihat Ekspresi reguler yang didukung.

Cuplikan kode berikut berisi contoh pola filter yang menunjukkan bagaimana Anda dapat memformat pola filter agar sesuai dengan istilah JSON dengan string.

{ $.eventType = "UpdateTrail" }
Writing filter patterns that match numeric values

Anda dapat membuat pola filter untuk mencocokkan nilai numerik dalam peristiwa log JSON. Cuplikan kode berikut menunjukkan contoh sintaks untuk pola filter yang cocok dengan nilai numerik.

{ PropertySelector NumericOperator Number }

Lampirkan pola filter dalam kurung kurawal (“{}”). Pola filter yang cocok dengan nilai numerik harus memiliki 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, pola filter tidak akan cocok dengan format log. Jika properti JSON berisi periode ("."), maka notasi braket dapat digunakan untuk memilih properti itu.

    catatan

    Pemilih wildcard

    Anda dapat menggunakan wildcard JSON untuk memilih elemen array atau bidang objek JSON apa pun.

    Kuota

    Anda hanya dapat menggunakan hingga satu pemilih wildcard di pemilih properti.

  • 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 pola filter agar sesuai dengan istilah JSON dengan nilai numerik.

// Filter pattern with greater than symbol { $.bandwidth > 75 } // Filter pattern with less than symbol { $.latency < 50 } // Filter pattern with greater than or equal to symbol { $.refreshRate >= 60 } // Filter pattern with less than or equal to symbol { $.responseTime <= 5 } // Filter pattern with equal sign { $.errorCode = 400} // Filter pattern with not equal sign { $.errorCode != 500 } // Filter pattern with scientific notation and plus symbol { $.number[0] = 1e-3 } // Filter pattern with scientific notation and minus symbol { $.number[0] != 1e+3 }

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

catatan

Jika Anda menguji pola filter contoh dengan contoh peristiwa log JSON, Anda harus memasukkan log JSON contoh pada satu baris.

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" }
Example: Filter pattern that matches string values

Pola filter ini cocok dengan string "UpdateTrail" di properti"eventType".

{ $.eventType = "UpdateTrail" }
Example: Filter pattern that matches string values (IP address)

Pola filter ini berisi kartu liar dan cocok dengan properti "sourceIPAddress" karena tidak mengandung angka dengan awalan"123.123.".

{ $.sourceIPAddress != 123.123.* }
Example: Filter pattern that matches a specific array element with a string value

Pola filter ini cocok dengan elemen "value" dalam array"arrayKey".

{ $.arrayKey[0] = "value" }
Example: Filter pattern that matches a string using regex

Pola filter ini cocok dengan string "Trail" di properti"eventType".

{ $.eventType = %Trail% }
Example: Filter pattern that uses a wildcard to match values of any element in the array using regex

Pola filter berisi regex yang cocok dengan elemen "value" dalam array. "arrayKey"

{ $.arrayKey[*] = %val.{2}% }
Example: Filter pattern that uses a wildcard to match values of any element with a specific prefix and subnet using regex (IP address)

Pola filter ini berisi regex yang cocok dengan elemen "111.111.111.111" dalam properti. "sourceIPAddress"

{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
catatan

Kuota

Anda hanya dapat menggunakan hingga satu pemilih wildcard di pemilih properti.

Example: Filter pattern that matches a JSON property with a period (.) in the key
{ $.['cluster.name'] = "c" }
Example: Filter pattern that matches JSON logs using ADALAH

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

{ $.SomeObject IS NULL }
Example: Filter pattern that matches JSON logs using TIDAK ADA

Anda dapat membuat pola filter dengan NOT EXISTS variabel untuk mengembalikan log JSON yang tidak berisi bidang tertentu dalam data log. Pola filter 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.

Anda dapat menggunakan operator logika AND (“&&”) dan OR (“||”) dalam pola filter 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 pola filter dengan ekspresi majemuk untuk mencocokkan istilah dalam objek JSON.

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] ] }
Example: Expression that matches using AND (&&)

Pola filter ini berisi ekspresi majemuk yang cocok "id" "user" dengan nilai numerik 1 dan "email" dalam elemen pertama dari "users" array dengan string"John.Doe@example.com".

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Example: Expression that matches using OR (||)

Pola filter ini 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" }
Example: Expression that doesn't match using AND (&&)

Pola filter ini berisi ekspresi majemuk yang tidak menemukan kecocokan karena ekspresi tidak cocok dengan tindakan ketiga di"actions".

{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
catatan

Kuota

Anda hanya dapat menggunakan hingga satu pemilih wildcard di pemilih properti, dan hingga tiga pemilih wildcard dalam pola filter dengan ekspresi majemuk.

Example: Expression that doesn't match using OR (||)

Pola filter ini 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 pola filter untuk mencocokkan istilah dalam peristiwa log yang dibatasi ruang

Anda dapat membuat pola filter agar sesuai dengan istilah dalam peristiwa log yang dibatasi ruang. Berikut ini memberikan contoh peristiwa log yang dibatasi ruang dan menjelaskan cara menulis sintaks untuk pola filter yang cocok dengan istilah dalam peristiwa log yang dibatasi ruang.

catatan

Anda dapat menggunakan ekspresi reguler bersyarat apa pun saat membuat pola filter untuk mencocokkan istilah dalam peristiwa log yang dibatasi spasi. Untuk daftar ekspresi reguler yang didukung, lihat Ekspresi reguler yang didukung.

Example: Space-delimited log event

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.

Writing filter patterns that match terms in a space-delimited log event

Untuk membuat pola filter yang cocok dengan istilah dalam peristiwa log yang dibatasi spasi, lampirkan pola filter dalam tanda kurung (“[]”), dan tentukan bidang dengan nama yang dipisahkan dengan koma (“,”). Pola filter berikut mem-parsing tujuh bidang.

[ip=%127\.0\.0\.[1-9]%, user, username, timestamp, request =*.html*, status_code = 4*, bytes]

Anda dapat menggunakan operator numerik (>, <, =,! =, >=, atau < =) dan tanda bintang (*) sebagai wild card atau regex untuk memberikan kondisi pola filter Anda. Dalam contoh pola filter, ip menggunakan regex yang cocok dengan rentang alamat IP 127.0.0.1 - 127.0.0.9, request berisi wildcard yang menyatakan harus mengekstrak nilai dengan.html, dan status_code berisi wildcard yang menyatakan harus mengekstrak nilai yang dimulai dengan. 4

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 pola filter dengan elipsis yang mewakili empat bidang pertama yang tidak disebutkan namanya yang ditunjukkan pada pola filter contoh sebelumnya.

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

Anda juga dapat menggunakan operator logika AND (&&) dan OR (||) untuk membuat ekspresi majemuk. Pola filter 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]

Anda dapat menggunakan pencocokan pola untuk membuat pola filter 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 pola filter yang dibatasi spasi.

catatan

Anda dapat menggunakan ekspresi reguler bersyarat apa pun saat membuat pola filter untuk mencocokkan istilah dalam peristiwa log yang dibatasi spasi. Untuk daftar ekspresi reguler yang didukung, lihat Ekspresi reguler yang didukung.

Peristiwa log yang dibatasi ruang

INFO 09/25/2014 12:00:00 GET /service/resource/67 1200 INFO 09/25/2014 12:00:01 POST /service/resource/67/part/111 1310 WARNING 09/25/2014 12:00:02 Invalid user request ERROR 09/25/2014 12:00:02 Failed to process request
Example: Match terms in order

Pola filter yang dibatasi spasi berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa log adalah ERROR.

[w1=ERROR, w2]
catatan

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

Example: Match terms with AND (&&) and OR (||)

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

[w1=ERROR || w1=WARNING, w2]
Example: Exclude terms from matches

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

[w1!=ERROR && w1!=WARNING, w2]
Example: Match the top level item in a resource URI

Cuplikan kode berikut menunjukkan contoh pola filter yang cocok dengan item tingkat atas dalam URI sumber daya menggunakan regex.

[logLevel, date, time, method, url=%/service/resource/[0-9]+$%, response_time]
Example: Match the child level item in a resource URI

Cuplikan kode berikut menunjukkan contoh pola filter yang cocok dengan item tingkat anak dalam URI sumber daya menggunakan regex.

[logLevel, date, time, method, url=%/service/resource/[0-9]+/part/[0-9]+$%, response_time]