View a markdown version of this page

Sintaks pola filter untuk filter metrik - CloudWatch Log Amazon

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

catatan

Bagaimana filter metrik berbeda dari kueri CloudWatch Logs Insights

Filter metrik berbeda dari kueri CloudWatch Logs Insights karena nilai numerik tertentu ditambahkan ke filter metrik setiap kali log yang cocok ditemukan. Untuk informasi selengkapnya, lihat Mengkonfigurasi nilai metrik untuk filter metrik.

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

Contoh pola filter umum

Untuk informasi selengkapnya tentang sintaks pola filter generik yang berlaku untuk filter metrik serta filter langganan dan peristiwa log filter, lihat Sintaks pola filter untuk filter metrik, filter langganan, dan peristiwa log filter, yang mencakup contoh berikut:

  • Sintaks ekspresi reguler (regex) yang didukung

  • Mencocokkan istilah dalam peristiwa log tidak terstruktur

  • Mencocokkan istilah dalam peristiwa log JSON

  • Istilah yang cocok dalam peristiwa log yang dibatasi spasi

Filter metrik memungkinkan Anda untuk mencari dan memfilter data log yang masuk ke CloudWatch Log, mengekstrak pengamatan metrik dari data log yang difilter, dan mengubah titik data menjadi metrik CloudWatch Logs. Anda menentukan istilah dan pola yang akan dicari dalam data log saat dikirim ke CloudWatch Log. Filter metrik ditetapkan untuk grup log, dan semua filter yang ditetapkan ke grup log diterapkan ke pengaliran log mereka.

Ketika filter metrik cocok dengan istilah, itu menambah jumlah metrik dengan nilai numerik yang ditentukan. Misalnya, Anda dapat membuat filter metrik yang menghitung berapa kali kata ERR OR terjadi dalam peristiwa log Anda.

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

Tip

Saat Anda menetapkan satuan ukuran ke metrik, pastikan untuk menentukan yang benar. Jika Anda mengubah unit nanti, perubahan Anda mungkin tidak berlaku. Untuk daftar lengkap unit yang CloudWatch mendukung, lihat MetricDatum di Referensi CloudWatch API Amazon.

Mengkonfigurasi nilai metrik untuk filter metrik

Saat Anda membuat filter metrik, Anda menentukan pola filter dan menentukan nilai metrik dan nilai default. Anda dapat mengatur nilai metrik ke angka, pengidentifikasi bernama, atau pengidentifikasi numerik. Jika Anda tidak menentukan nilai default, tidak CloudWatch akan melaporkan data saat filter metrik Anda tidak menemukan kecocokan. Sebaiknya tentukan nilai default, meskipun nilainya 0. Menyetel nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan CloudWatch mencegah penggabungan metrik bertitik. CloudWatch mengumpulkan dan melaporkan nilai metrik setiap menit.

Ketika filter metrik menemukan kecocokan dalam peristiwa log Anda, filter akan menambah jumlah metrik Anda dengan nilai metrik Anda. Jika filter metrik Anda tidak menemukan kecocokan, CloudWatch laporkan nilai default metrik tersebut. Misalnya, grup log Anda menerbitkan dua catatan setiap menit, nilai metrik adalah 1, dan nilai defaultnya adalah 0. Jika filter metrik Anda menemukan kecocokan di kedua catatan log dalam menit pertama, nilai metrik untuk menit tersebut adalah 2. Jika filter metrik Anda tidak menemukan kecocokan di salah satu catatan selama menit kedua, nilai default untuk menit itu adalah 0. Jika Anda menetapkan dimensi ke metrik yang dihasilkan filter metrik, Anda tidak dapat menentukan nilai default untuk metrik tersebut.

Anda juga dapat mengatur filter metrik untuk menambah metrik dengan nilai yang diekstrak dari peristiwa log, bukan nilai statis. Untuk informasi selengkapnya, lihat Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik.

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

Anda dapat menggunakan CloudWatch konsol atau AWS CLI untuk membuat filter metrik yang menerbitkan dimensi dengan metrik yang dihasilkan JSON dan peristiwa log yang dibatasi ruang. Dimensi adalah pasangan name/value nilai dan hanya tersedia untuk JSON dan pola filter yang dibatasi spasi. Anda dapat membuat JSON dan filter metrik yang dibatasi ruang hingga tiga dimensi. Untuk informasi selengkapnya tentang dimensi dan informasi tentang cara menetapkan dimensi ke metrik, lihat bagian berikut:

penting

Dimensi berisi nilai yang mengumpulkan biaya sama dengan metrik khusus. Untuk mencegah biaya tak terduga, jangan tentukan bidang kardinalitas tinggi, seperti IPAddress ataurequestID, sebagai dimensi.

Jika Anda mengekstrak metrik dari peristiwa log, Anda akan dikenakan biaya untuk metrik khusus. Untuk mencegah Anda mengumpulkan biaya tinggi yang tidak disengaja, Amazon mungkin menonaktifkan filter metrik Anda jika menghasilkan 1000 name/value pasangan 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 Anda.

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

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
catatan

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

Example: Metric filter

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 salah satu properti dalam filter metrik sebagai dimensi. Misalnya, untuk mengatur eventType sebagai dimensi, gunakan yang berikut ini:

"eventType" : $.eventType

Metrik contoh berisi dimensi yang diberi nama"eventType", dan nilai dimensi dalam contoh peristiwa log adalah"UpdateTrail".

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

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[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 spasi.

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

Saat 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

Filter metrik contoh memiliki dimensi yang diberi namaserver, dan nilai dimensi dalam contoh peristiwa log adalah"Prod".

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

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

[w1=ERROR || w1=%WARN%, w2]

Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik

Anda dapat membuat filter metrik yang menerbitkan nilai numerik yang ditemukan di peristiwa log Anda. Prosedur di bagian ini menggunakan filter metrik contoh 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 CloudWatch log di Log di Panduan Pengguna Amazon CloudWatch Logs.

  4. Pilih Tind akan, lalu pilih Buat filter metrik.

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

  6. Untuk Nama Metrik, masukkan MyMetric.

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

  8. (Opsional) Untuk Nilai Def ault, masukkan 0, lalu pilih Ber ikutnya.

    Sebaiknya tentukan nilai default, meskipun nilainya 0. Menyetel nilai default membantu CloudWatch melaporkan data dengan lebih akurat dan CloudWatch mencegah penggabungan metrik bertitik. CloudWatch mengumpulkan 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 metrik MyMetric.

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