Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sintaks pola filter untuk filter metrik, filter langganan, peristiwa log filter, dan Live Tail
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, mem filter peristiwa log untuk mencari peristiwa log, dan Live Tail untuk secara interaktif melihat log Anda secara real-time saat dicerna.
Pola filter membentuk sintaks yang digunakan filter metrik, filter langganan, peristiwa log, dan Live Tail untuk mencocokkan istilah dalam peristiwa log. Istilah dapat berupa kata-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 ke 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.'.
)Oper ( ator dan tidak didukung. Anda tidak dapat menggunakan tanda kurung untuk menentukan subpola.
Multi-byte karakter tidak didukung.
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 dibatasi atau JSON untuk filter metrik dan filter langganan atau saat memfilter peristiwa log atau Live Tail.
Penggunaan operator yang didukung
^: Menyampaikan pertandingan ke awal string. Misalnya, %^[hc]at% cocok dengan “topi” dan “kucing”, tetapi hanya di awal string.
$: Jangkar pertandingan ke ujung string. Misalnya, %[hc]at$% cocok dengan “topi” dan “kucing”, tetapi hanya di ujung tali.
?: Cocokkan nol atau satu kejadian dari istilah sebelumnya. Misalnya, %colou?r% dapat mencocokkan kedua “warna” dan “warna”.
[]: Mendefinisikan kelas karakter. Cocokkan dengan 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 dengan suku sebelumnya setidaknya m dan tidak lebih dari n kali. Misalnya, hanya %a{3,5}% cocok dengan “aaa”, “aaaa”, dan “aaaaa”.
En tah m atau n dapat dihilangkan jika Anda memilih untuk tidak mendefinisikan minimum atau maksimum.
|: Boolean “Atau”, yang cocok dengan istilah di kedua sisi bilah vertikal. Contoh:
%gra|ey%dapat mencocokkan “abu-abu” atau “abu-abu”
%^starting|^initializing|^shutting down%dapat mencocokkan pertandingan “mulai... “, atau “menginisialisasi... “, atau “mematikan”, tetapi tidak akan cocok dengan “melewatkan inisialisasi...”
%abcc|ab[^c]$%dapat mencocokkan “abcc...” dan “aba”, tetapi tidak akan cocok dengan “aac...”
\: Karakter melarikan diri, yang memungkinkan Anda menggunakan makna literal dari operator alih-alih makna khusus. Misalnya, %\[.\]% cocok dengan karakter tunggal yang dikelilingi oleh “[” dan “]” karena tanda kurung dihilangkan, seperti “[a]”, “[b]”, “[7]”, “[@]”, “[]]”, dan “[]”.
%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 dengan satu atau lebih contoh dari istilah sebelumnya. Misalnya, %ab+c% dapat mencocokkan “abc”, “abbc”, dan “abbbc”, tetapi tidak “ac”.
.: Cocokkan dengan karakter tunggal apa pun. Misalnya, %.at% cocok dengan tiga string karakter yang diakhiri dengan “at”, termasuk “hat”, “cat”, “bat”, “4at”, "#at" dan "at” (dimulai dengan spasi).
Saat membuat regex untuk mencocokkan alamat IP, penting untuk melarikan diri dari operator. . Misalnya, %10.10.0.1% dapat mencocokkan “10010.051" yang mungkin bukan tujuan sebenarnya dari ekspresi.
\d,\D: Cocokkan karakter digit/non -digit. Misalnya, %\d% setara dengan %[0-9]% dan %\D% setara dengan%[^0-9]%.
Operator huruf besar menunjukkan kebalikan dari rekan huruf kecilnya.
\s,\S: Cocokkan karakter spasi character/non -spasi putih.
Operator huruf besar menunjukkan kebalikan dari rekan huruf kecilnya. Karakter spasi putih termasuk karakter tab (\t), spasi ( ), dan baris baru (\n).
\w,\W: Cocokkan karakter alfanumerik character/non -alfanumerik. Misalnya, %\w% setara dengan %[a-zA-Z_0-9]% dan %\W% setara dengan%[^a-zA-Z_0-9]%.
Operator huruf besar menunjukkan kebalikan dari rekan huruf kecilnya.
\xhh: Cocokkan dengan 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.
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 AUTHOR IZED.
Untuk daftar ekspresi reguler yang didukung, lihat Ekspresi reguler yang didukung.
%AUTHORIZED%
Pola filter ini mengembalikan pesan peristiwa log, seperti berikut ini:
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.
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 satu istilah 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 ERR OR dan ARGUMENTS.
ERROR ARGUMENTS
Filter mengembalikan pesan peristiwa log, seperti berikut ini:
Pola filter ini tidak mengembalikan pesan peristiwa log berikut karena tidak berisi kedua istilah yang ditentukan dalam pola filter.
- Example: Match optional terms
-
Anda dapat menggunakan pencocokan pola untuk membuat pola filter yang mengembalikan 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 ERR OR atau kata ARGU MENTS.
?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
Anda tidak dapat menggabungkan tanda tanya (“?”) dengan pola filter lainnya, seperti memasukkan dan mengecualikan istilah. Jika Anda menggabungkan “?” dengan pola filter lainnya, semua istilah tanda tanya akan diabaikan.
Misalnya, pola filter berikut cocok dengan semua peristiwa yang berisi kataREQUEST, tetapi tanda tanya (“?”) istilah filter diabaikan dan tidak berpengaruh.
?ERROR ?ARGUMENTS REQUEST
LOG kecocokan acara
- Example: Match exact phrases
-
Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan peristiwa log di mana pesan berisi frasa yang tepat INTERNAL SERVER ERROR .
"INTERNAL SERVER ERROR"
Pola filter ini mengembalikan pesan peristiwa log berikut:
- Example: Include and exclude terms
-
Anda dapat membuat pola filter yang mengembalikan 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 ERR OR dan mengecualikan istilah ARGU MENTS.
ERROR -ARGUMENTS
Pola filter ini mengembalikan pesan peristiwa log, seperti berikut ini:
Pola filter ini tidak mengembalikan pesan peristiwa log berikut karena berisi kata 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 kurung keriting (“{}”). String-based pola filter harus berisi bagian-bagian berikut:
Pemilih properti
Matikan pemilih properti dengan tanda dolar diikuti dengan titik (“$.”). Pemilih properti adalah string alfanumerik yang mendukung tanda hubung (“-”) dan garis bawah (“_”). String tidak mendukung notasi ilmiah. Pemilih properti menunjuk ke node nilai dalam peristiwa log JSON. Nilai node dapat berupa string atau angka. Tempatkan array setelah pemilih properti. Elemen 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 titik ("."), maka notasi tanda kurung dapat digunakan untuk memilih properti itu.
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 dalam pemilih properti.
Operator kesetaraan
Atur 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 jenis selain karakter alfanumerik dan simbol garis bawah harus ditempatkan dalam tanda kutip ganda. Gunakan tanda bintang (“*”) sebagai kartu liar untuk mencocokkan teks.
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 untuk mencocokkan 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 kurung keriting (“{}”). Pola filter yang cocok dengan nilai numerik harus memiliki bagian-bagian berikut:
Pemilih properti
Matikan pemilih properti dengan tanda dolar diikuti dengan titik (“$.”). Pemilih properti adalah string alfanumerik yang mendukung tanda hubung (“-”) dan garis bawah (“_”). String tidak mendukung notasi ilmiah. Pemilih properti menunjuk ke node nilai dalam peristiwa log JSON. Nilai node dapat berupa string atau angka. Tempatkan array setelah pemilih properti. Elemen 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 titik ("."), maka notasi tanda kurung dapat digunakan untuk memilih properti itu.
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 dalam pemilih properti.
Operator numerik
Atur 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 untuk mencocokkan 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.
Jika Anda menguji contoh pola filter dengan contoh peristiwa log JSON, Anda harus memasukkan contoh log JSON 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 berisi 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" di properti. "sourceIPAddress"
{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
Kuota
Anda hanya dapat menggunakan hingga satu pemilih wildcard dalam 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 nilainya 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 NOT EXISTS digunakan untuk mengembalikan log JSON yang tidak berisi bidangSomeOtherObject.
{ $.SomeOtherObject NOT EXISTS }
Variabel IS NOT dan EXISTS saat ini tidak didukung.
Anda dapat menggunakan operator logis AND (“&&”) dan OR (“||”) dalam pola filter untuk membuat ekspresi majemuk yang cocok dengan peristiwa log di mana dua atau lebih kondisi 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 maj "id" emuk yang cocok "user" dengan nilai numerik 1 dan "email" dalam elemen pertama "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" }
Kuota
Anda hanya dapat menggunakan hingga satu pemilih wildcard dalam 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 di "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 spasi
Anda dapat membuat pola filter untuk mencocokkan istilah dalam peristiwa log yang dibatasi spasi. Berikut ini memberikan contoh peristiwa log yang dibatasi spasi dan menjelaskan cara menulis sintaks untuk pola filter yang cocok dengan istilah dalam peristiwa log yang dibatasi spasi.
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 usernametimestamp, request dan. status_code bytes
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Karakter di 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 dipisahkan spasi, lampirkan pola filter dalam tanda kurung (“[]”), dan tentukan bidang dengan nama yang dipisahkan oleh koma (“,”). Pola filter berikut mengurai 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 uraikan 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 pola filter dengan elipsis yang mewakili empat bidang tanpa nama pertama yang ditunjukkan pada contoh pola filter sebelumnya.
[..., request =*.html*, status_code = 4*, bytes]
Anda juga dapat menggunakan operator logis AND (&&) dan OR (||) untuk membuat ekspresi majemuk. Pola filter berikut berisi ekspresi majemuk yang menyatakan nilai status_code harus 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 periode pertama Anda dan w2 dan seterusnya untuk mewakili urutan istilah 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.
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.
Space-delimited peristiwa log
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]
Saat Anda membuat pola filter yang dibatasi spasi yang menggunakan pencocokan pola, Anda harus menyertakan indikator kosong setelah menentukan urutan istilah Anda. Misalnya, jika Anda membuat pola filter yang mengembalikan peristiwa log di mana kata pertama adalah ERR OR , 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 ruang yang berisi kondisi. Pola filter berikut mengembalikan peristiwa log di mana kata pertama dalam peristiwa adalah ERR OR atau PERING ATAN .
[w1=ERROR || w1=WARNING, w2]
- Example: Exclude terms from matches
-
Anda dapat membuat pola filter yang dibatasi spasi yang mengembalikan peristiwa log tidak termasuk satu atau lebih 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 bukan ERR OR dan PERING ATAN .
[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]