

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
<a name="FilterAndPatternSyntaxForMetricFilters"></a>

**catatan**  
**Perbedaan filter metrik dari kueri Wawasan CloudWatch Log**  
Filter metrik berbeda dari kueri Wawasan CloudWatch Log karena nilai numerik tertentu ditambahkan ke filter metrik setiap kali log yang cocok ditemukan. Untuk informasi selengkapnya, lihat [Mengkonfigurasi nilai metrik untuk filter metrik](#changing-default-increment-value).  
Untuk informasi tentang cara menanyakan grup log Anda dengan bahasa kueri Amazon CloudWatch Logs Insights, lihat[CloudWatch Sintaks kueri bahasa Wawasan Log](CWL_QuerySyntax.md).  
**Contoh pola filter generik**  
Untuk informasi selengkapnya tentang sintaks pola filter generik yang berlaku untuk filter metrik serta [filter langganan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html) dan [peristiwa log filter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html), lihat [Filter sintaks pola untuk filter metrik, filter langganan, dan peristiwa log filter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html), yang mencakup contoh berikut:  
Sintaks ekspresi reguler (regex) yang didukung
Istilah pencocokan dalam peristiwa log tidak terstruktur
Ketentuan yang cocok dalam peristiwa log JSON
Istilah yang cocok dalam peristiwa log yang dibatasi ruang

*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 Log. Anda menentukan istilah dan pola yang harus 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 tertentu. Misalnya, Anda dapat membuat filter metrik yang menghitung berapa kali kata ***ERROR*** 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 ***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 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)di Referensi Amazon CloudWatch API.

**Topics**
+ [Mengkonfigurasi nilai metrik untuk filter metrik](#changing-default-increment-value)
+ [Menerbitkan dimensi dengan metrik dari nilai di JSON atau peristiwa log yang dibatasi ruang](#logs-metric-filters-dimensions)
+ [Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik](#publishing-values-found-in-logs)

## Mengkonfigurasi nilai metrik untuk filter metrik
<a name="changing-default-increment-value"></a>

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](#publishing-values-found-in-logs).

## Menerbitkan dimensi dengan metrik dari nilai di JSON atau peristiwa log yang dibatasi ruang
<a name="logs-metric-filters-dimensions"></a>

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 name/value 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:
+ [Dimensi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension) dalam *panduan CloudWatch Pengguna Amazon*
+ [Contoh: Ekstrak bidang dari log Apache dan tetapkan dimensi di Panduan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/ExtractBytesExample.html) Pengguna *Amazon CloudWatch Logs*

**penting**  
Dimensi berisi nilai yang mengumpulkan biaya sama dengan metrik kustom. Untuk mencegah muatan tak terduga, jangan tentukan bidang kardinalitas tinggi, seperti `IPAddress` atau`requestID`, 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 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html).

### Memublikasikan dimensi dengan metrik dari log acara JSON
<a name="logs-metric-filters-JSON"></a>

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 filter metrik contoh 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 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
<a name="logs-metric-filters-dimensions-space-delimited"></a>

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

------
#### [ 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 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 nama`server`, dan nilai dimensi dalam peristiwa log contoh adalah`"Prod"`.

------
#### [ Example: Match terms with AND (&&) and OR (\$1\$1) ]

Anda dapat menggunakan operator logis AND (“&&”) dan OR (“\$1\$1”) 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 superstring dari WARN.

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

------

## Menggunakan nilai dalam peristiwa log untuk menambah nilai metrik
<a name="publishing-values-found-in-logs"></a>

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/](https://console.aws.amazon.com/cloudwatch/).

1. Pada panel navigasi, pilih **Log**, lalu pilih **Grup log**.

1. Pilih atau buat grup log.

   Untuk informasi tentang cara membuat grup log, lihat [Membuat grup log di CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) Log di *Panduan Pengguna CloudWatch Log Amazon*.

1. Pilih **Tindakan**, lalu pilih **Buat filter metrik**.

1. Untuk **Pola Filter****\$1 \$1.latency = \$1 \$1**, masukkan, lalu pilih **Berikutnya**.

1. Untuk **Nama Metrik**, masukkan **MyMetric**.

1. Untuk **Metric Value** (Nilai Metrik), masukkan **\$1.latency**.

1. (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.

1. 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"
}
```