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
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 filter metrik, filter langganan, peristiwa log, 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 spasi.
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.
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 pembatas atau filter untuk filter metrik dan JSON 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”.
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”.
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 “[]”.
%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).
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]%
.
Operator huruf besar menunjukkan kebalikan dari rekan huruf kecil.
\s
,\S
: Cocokkan karakter spasi/karakter non-spasi putih.
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]%
.
Operator huruf besar menunjukkan kebalikan dari rekan huruf kecil.
\xhh
: Cocokkan ASCII pemetaan untuk karakter heksadesimal dua digit. \x
adalah urutan escape yang menunjukkan bahwa karakter berikut mewakili nilai heksadesimal untuk. ASCII hh
menentukan 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. AUTHORIZED
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 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 dan. ERRORARGUMENTS
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 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 ERRORatau 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
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
- Example: Match exact phrases
-
Cuplikan kode berikut menunjukkan contoh pola filter yang mengembalikan peristiwa log di mana pesan berisi frasa yang tepat. INTERNALSERVERERROR
"INTERNAL SERVER ERROR"
Pola filter ini mengembalikan pesan peristiwa log berikut:
- 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 ERRORdan mengecualikan istilah. ARGUMENTS
ERROR -ARGUMENTS
Pola filter ini mengembalikan pesan peristiwa log, seperti berikut ini:
Pola filter ini tidak mengembalikan pesan peristiwa log berikut karena mengandung 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 JSON log
Berikut ini menjelaskan cara menulis sintaks untuk pola filter yang cocok dengan JSON istilah yang berisi string dan nilai numerik.
- Writing filter patterns that match strings
-
Anda dapat membuat pola filter untuk mencocokkan string dalam peristiwa JSON log. 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 JSON log. 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 JSON properti berisi periode ("."
), maka notasi braket dapat digunakan untuk memilih properti itu.
Pemilih wildcard
Anda dapat menggunakan JSON wildcard untuk memilih elemen array atau bidang JSON objek 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.
Anda dapat menggunakan ekspresi reguler bersyarat apa pun saat membuat pola filter untuk mencocokkan istilah dalam peristiwa JSON log. 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 JSON istilah dengan string.
{ $.eventType = "UpdateTrail" }
- Writing filter patterns that match numeric values
-
Anda dapat membuat pola filter untuk mencocokkan nilai numerik dalam peristiwa JSON log. 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 JSON log. 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 JSON properti berisi periode ("."
), maka notasi braket dapat digunakan untuk memilih properti itu.
Pemilih wildcard
Anda dapat menggunakan JSON wildcard untuk memilih elemen array atau bidang JSON objek 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 JSON istilah 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 JSON log.
Jika Anda menguji pola filter contoh dengan peristiwa JSON log contoh, Anda harus memasukkan JSON log contoh pada satu baris.
JSONperistiwa log
{
"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}% }
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 dalam JSON log dengan IS
variabel. IS
Variabel dapat mencocokkan bidang yang berisi nilaiNULL
,TRUE
, atauFALSE
. Pola filter berikut mengembalikan JSON log di mana nilai SomeObject
adalahNULL
.
{ $.SomeObject IS NULL }
- Example: Filter pattern that matches JSON logs using NOT EXISTS
-
Anda dapat membuat pola filter dengan NOT EXISTS
variabel untuk mengembalikan JSON log yang tidak berisi bidang tertentu dalam data log. Pola filter berikut digunakan NOT EXISTS
untuk mengembalikan JSON log yang tidak berisi bidangSomeOtherObject
.
{ $.SomeOtherObject NOT EXISTS }
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
JSONobjek
{
"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" }
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 untuk mencocokkan 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.
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
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 logis 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.
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 berada. ERROR
[w1=ERROR, w2]
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 berada 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 acara adalah ERRORatau WARNING.
[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 ERRORdan. WARNING
[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 sumber daya URI 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 sumber daya URI menggunakan regex.
[logLevel, date, time, method, url=%/service/resource/[0-9]+/part/[0-9]+$%, response_time]