

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

# Membuat metrik dari peristiwa log dengan menggunakan filter
<a name="MonitoringLogData"></a>

Anda dapat mencari dan memfilter data log yang masuk ke CloudWatch Log dengan membuat satu atau beberapa *filter metrik*. Filter metrik menentukan istilah dan pola yang harus dicari dalam data log saat dikirim ke CloudWatch Log. CloudWatch Log menggunakan filter metrik ini untuk mengubah data log menjadi CloudWatch metrik numerik yang dapat Anda buat grafik atau nyalakan alarm.

Saat membuat metrik dari filter log, Anda juga dapat memilih untuk menetapkan dimensi dan unit ke metrik. Jika Anda menentukan unit, pastikan untuk menentukan yang benar saat Anda membuat filter. Mengubah unit untuk filter nanti tidak akan berpengaruh.

Jika Anda telah mengonfigurasi AWS Organizations dan bekerja dengan akun anggota, Anda dapat menggunakan sentralisasi log untuk mengumpulkan data log dari akun sumber ke akun pemantauan pusat. 

Saat bekerja dengan grup log terpusat, Anda dapat menggunakan dimensi bidang sistem ini saat membuat filter metrik.
+ `@aws.account`- Dimensi ini mewakili ID AWS akun dari mana peristiwa log berasal.
+ `@aws.region`- Dimensi ini mewakili AWS wilayah tempat peristiwa log dihasilkan. 

Dimensi ini membantu dalam mengidentifikasi sumber data log, memungkinkan penyaringan dan analisis metrik yang lebih terperinci yang berasal dari log terpusat. Untuk informasi selengkapnya, lihat [Sentralisasi log lintas wilayah lintas akun](CloudWatchLogs_Centralization.md).

Jika grup log dengan langganan menggunakan transformasi log, pola filter diterapkan ke versi peristiwa log yang diubah. Untuk informasi selengkapnya, lihat [Ubah log selama konsumsi](CloudWatch-Logs-Transformation.md).

**catatan**  
Filter metrik hanya didukung untuk grup log di kelas log Standar. Untuk informasi selengkapnya tentang kelas log, lihat[Kelas log](CloudWatch_Logs_Log_Classes.md).

Anda dapat menggunakan semua jenis CloudWatch statistik, termasuk statistik persentil, saat melihat metrik ini atau mengatur alarm.

**catatan**  
Statistik persentil hanya didukung untuk metrik jika tidak ada nilai metrik yang negatif. Jika Anda mengatur filter metrik sehingga dapat melaporkan angka negatif, statistik persentil tidak akan tersedia untuk metrik tersebut saat ada angka negatif sebagai nilai. Untuk informasi selengkapnya, lihat [Persentil](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Percentiles).

Filter tidak memfilter data secara retroaktif. Filter hanya memublikasikan titik data metrik untuk kejadian yang terjadi setelah filter dibuat. Saat menguji pola filter, pratinjau **hasil Filter** menampilkan hingga 50 baris log pertama yang cocok untuk tujuan validasi. Jika stempel waktu pada hasil yang difilter lebih awal dari waktu pembuatan metrik, tidak ada log yang ditampilkan.

**Topics**
+ [Konsep](#search-filter-concepts)
+ [Filter sintaks pola untuk filter metrik](FilterAndPatternSyntaxForMetricFilters.md)
+ [Membuat filter metrik](MonitoringPolicyExamples.md)
+ [Daftar filter metrik](ListingMetricFilters.md)
+ [Menghapus filter metrik](DeletingMetricFilter.md)

## Konsep
<a name="search-filter-concepts"></a>

Setiap filter metrik terdiri dari elemen kunci berikut:

**nilai default**  
Nilai yang dilaporkan ke filter metrik selama periode ketika log dicerna tetapi tidak ada log yang cocok ditemukan. Dengan menyetel ini ke 0, Anda memastikan bahwa data dilaporkan selama setiap periode tersebut, mencegah metrik “jerawatan” dengan periode tanpa data yang cocok. Jika tidak ada log yang dicerna selama periode satu menit, maka tidak ada nilai yang dilaporkan.  
Jika Anda menetapkan dimensi ke metrik yang dibuat oleh filter metrik, Anda tidak dapat menetapkan nilai default untuk metrik tersebut.

**dimensi**  
Dimensi adalah pasangan kunci-nilai yang menentukan metrik lebih lanjut. Anda dapat menetapkan dimensi ke metrik yang dibuat dari filter metrik. Karena dimensi adalah bagian dari pengenal unik untuk metrik, setiap kali name/value pasangan unik diekstraksi dari log Anda, Anda membuat variasi baru dari metrik tersebut.

**pola filter**  
Deskripsi simbolis tentang bagaimana CloudWatch Log harus menafsirkan data di setiap peristiwa log. Sebagai contoh, entri log mungkin berisi stempel waktu, alamat IP, string, dan sebagainya. Anda menggunakan pola untuk menentukan apa yang harus dicari dalam berkas log.

**nama metrik**  
Nama CloudWatch metrik tempat informasi log yang dipantau harus dipublikasikan. Misalnya, Anda dapat mempublikasikan ke metrik yang disebut ErrorCount.

**namespace metrik**  
Namespace tujuan metrik baru CloudWatch .

**nilai metrik**  
Nilai numerik untuk dipublikasikan ke metrik setiap kali log yang cocok ditemukan. Sebagai contoh, jika Anda menghitung kemunculan istilah tertentu, seperti "Error", nilainya adalah "1" untuk setiap kejadian. Jika Anda menghitung byte yang ditransfer, Anda dapat menambahkannya berdasarkan jumlah aktual byte yang ditemukan dalam log acara.

# 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"
}
```

# Membuat filter metrik
<a name="MonitoringPolicyExamples"></a>

Prosedur dan contoh berikut menunjukkan cara membuat filter metrik.

**Topics**
+ [Membuat filter metrik untuk grup log](CreateMetricFilterProcedure.md)
+ [Contoh: Hitung peristiwa log](CountingLogEventsExample.md)
+ [Contoh: Hitung kemunculan suatu istilah](CountOccurrencesExample.md)
+ [Contoh: Hitung kode HTTP 404](Counting404Responses.md)
+ [Contoh: Hitung kode HTTP 4xx](FindCountMetric.md)
+ [Contoh: Mengekstraksi bidang dari log Apache dan menetapkan dimensi](ExtractBytesExample.md)

# Membuat filter metrik untuk grup log
<a name="CreateMetricFilterProcedure"></a>

Untuk membuat filter metrik untuk grup log, ikuti langkah-langkah ini. Metrik tidak akan terlihat sampai ada beberapa titik data untuk itu.

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

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 nama grup log. 

1.  Pilih`Actions`, lalu pilih **Buat filter metrik**. 

1.  Untuk **pola Filter**, masukkan pola filter. Untuk informasi selengkapnya, lihat [Filter sintaks pola untuk filter metrik, filter langganan, peristiwa log filter, dan Live Tail](FilterAndPatternSyntax.md). 

1.  (Opsional) Jika Anda menggunakan grup log terpusat, di bawah **Kriteria pemilihan filter**, Anda dapat menentukan filter berdasarkan akun sumber (`@aws.account`), wilayah sumber (`@aws.region`), atau kedua kondisi.

1.  (Opsional) Untuk menguji pola filter Anda, di bawah **Pola Uji**, masukkan satu atau beberapa peristiwa log untuk menguji pola. Setiap peristiwa log harus diformat pada satu baris. Jeda baris digunakan untuk memisahkan peristiwa **log di kotak pesan peristiwa Log**. 

1.  Pilih **Berikutnya**, lalu masukkan nama untuk filter metrik Anda. 

1.  Di bawah **Detail metrik****, untuk namespace** Metrik, masukkan nama untuk CloudWatch namespace tempat metrik akan dipublikasikan. Jika namespace belum ada, pastikan **Create new dipilih**. 

1.  Untuk **Metric name** (Nama metrik), masukkan nama untuk metrik baru. 

1.  Untuk **Metric value** (Nilai metrik), jika filter metrik Anda menghitung kemunculan kata kunci dalam filter, masukkan 1. Peningkatan akan menambahkan metrik dengan kelipatan sebesar 1 untuk setiap log acara yang mencakup salah satu kata kunci. 

    Atau, masukkan token, seperti**\$1size**. Peningkatan ini akan menambahkan metrik sebesar nilai angka di bidang `size` untuk setiap log acara yang berisi bidang `size`. 

1.  (Opsional) Untuk **Unit**, pilih unit yang akan ditetapkan ke metrik. Jika Anda tidak menentukan unit, unit ditetapkan sebagai `None`. 

1.  (Opsional) Masukkan nama dan token untuk sebanyak tiga dimensi untuk metrik. Jika Anda menetapkan dimensi ke metrik yang dibuat oleh filter metrik, Anda tidak dapat menetapkan nilai default untuk metrik tersebut. 
**catatan**  
 Dimensi hanya didukung di JSON atau filter metrik yang dibatasi ruang. 

1.  Pilih **Create metric filter** (Buat filter metrik). Anda dapat menemukan filter metrik yang Anda buat dari panel navigasi. Pilih **Log**, lalu pilih **Grup log**. Pilih nama grup log tempat Anda membuat filter metrik, lalu pilih tab **Filter metrik**. 

# Contoh: Hitung peristiwa log
<a name="CountingLogEventsExample"></a>

Jenis paling sederhana dari pemantauan log acara adalah menghitung jumlah log acara yang terjadi. Anda mungkin ingin melakukan ini untuk menghitung jumlah semua kejadian, untuk membuat monitor gaya "detak jantung" atau hanya untuk berlatih membuat filter metrik.

Dalam contoh CLI berikut, filter metrik yang disebut MyAppAccessCount diterapkan ke grup log MyApp /access.log untuk membuat metrik EventCount di namespace. CloudWatch MyNamespace Filter dikonfigurasi untuk mencocokkan konten log acara dan menambahkan metrik dengan kelipatan sebesar "1".

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Pilih nama grup log.

1. Pilih `Actions`, **Create metric filter** (Buat filter metrik).

1. Biarkan **Filter Pattern** (Pola Filter) dan **Select Log Data to Test** (Pilih Data Log untuk Pengujian) kosong.

1. Pilih **Next** (Selanjutnya), lalu untuk **Filter Name** (Nama Filter), ketik **EventCount**.

1. Di bawah **Metric Details** (Detail Metrik), untuk **Metric Namespace**, ketik **MyNameSpace**.

1. Untuk **Metric Name** (Nama Metrik), ketik **MyAppEventCount**.

1. Konfirmasi bahwa **Metric Value** (Nilai Metrik) adalah 1. Ini menentukan bahwa jumlah bertambah 1 untuk setiap log acara.

1. Masukkan 0 untuk **Default Value** (Nilai Default), lalu pilih **Next** (Selanjutnya). Menentukan nilai default memastikan bahwa data dilaporkan bahkan selama periode ketika tidak ada log acara terjadi sehingga mencegah metrik tidak teratur saat data terkadang tidak ada.

1. Pilih **Create metric filter** (Buat filter metrik).

**Untuk membuat filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name EventCount \
  --filter-pattern " " \
  --metric-transformations \
  metricName=MyAppEventCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Anda dapat menguji kebijakan baru ini dengan memposting data kejadian apa pun. Anda akan melihat titik data yang dipublikasikan ke metrik MyAppAccessEventCount.

**Untuk memposting data acara menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs put-log-events \
  --log-group-name MyApp/access.log --log-stream-name TestStream1 \
  --log-events \
    timestamp=1394793518000,message="Test event 1" \
    timestamp=1394793518000,message="Test event 2" \
    timestamp=1394793528000,message="This message also contains an Error"
```

# Contoh: Hitung kemunculan suatu istilah
<a name="CountOccurrencesExample"></a>

Log acara sering mencakup pesan penting yang ingin Anda hitung, mungkin tentang keberhasilan atau kegagalan operasi. Sebagai contoh, kesalahan dapat terjadi dan dicatat ke berkas log jika operasi tertentu gagal. Anda mungkin ingin memantau entri ini untuk memahami tren kesalahan Anda.

Dalam contoh di bawah ini, filter metrik dibuat untuk memantau istilah Error. Kebijakan telah dibuat dan ditambahkan ke grup log **MyApp/message.log**. CloudWatch Log menerbitkan titik data ke metrik CloudWatch kustom ErrorCount di namespace **MyApp/message.log** dengan nilai “1" untuk setiap peristiwa yang berisi Kesalahan. Jika tidak ada kejadian berisi kata Error, nilai 0 akan dipublikasikan. Saat membuat grafik data ini di CloudWatch konsol, pastikan untuk menggunakan statistik jumlah.

Setelah membuat filter metrik, Anda dapat melihat metrik di CloudWatch konsol. Saat Anda memilih metrik yang akan ditampilkan, pilih namespace metrik yang cocok dengan nama grup log. Untuk informasi selengkapnya, lihat [ Melihat Metrik yang Tersedia](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html).

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Pilih nama grup log.

1. Pilih **Actions** (Tindakan), **Create metric filter** (Buat filter metrik).

1. Untuk **Filter Pattern** (Pola Filter), masukkan **Error**.
**catatan**  
Semua entri di **Filter Pattern** (Pola Filter) peka huruf besar-kecil.

1. (Opsional) Untuk menguji pola filter Anda, di **Test Pattern** (Pola Uji), masukkan satu atau beberapa log acara untuk digunakan menguji pola. Setiap log acara harus dalam satu baris, karena jeda baris yang digunakan untuk memisahkan log acara di kotak **pesan log acara** (Pesan log acara).

1. Pilih **Next** (Selanjutnya), lalu di halaman **Assign metric** (Tetapkan metrik), untuk **Filter Name** (Nama Filter), ketik **MyAppErrorCount**.

1. Di bawah **Metric Details** (Detail Metrik), untuk **Metric Namespace**, ketik **MyNameSpace**.

1. Untuk **Metric Name** (Nama Metrik), ketik **ErrorCount**.

1. Konfirmasi bahwa **Metric Value** (Nilai Metrik) adalah 1. Ini menentukan bahwa jumlah bertambah 1 untuk setiap log acara yang berisi "Error".

1. Untuk **Default Value** (Nilai Default) ketik 0, lalu pilih **Next** (Selanjutnya). 

1. Pilih **Create metric filter** (Buat filter metrik).

**Untuk membuat filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs put-metric-filter \
  --log-group-name MyApp/message.log \
  --filter-name MyAppErrorCount \
  --filter-pattern 'Error' \
  --metric-transformations \
      metricName=ErrorCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Anda dapat menguji kebijakan baru ini dengan memposting kejadian yang berisi kata "Error" dalam pesannya.

**Untuk memposting acara menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut. Perhatikan bahwa pola peka huruf besar dan kecil.

```
aws logs put-log-events \
  --log-group-name MyApp/access.log --log-stream-name TestStream1 \
  --log-events \
    timestamp=1394793518000,message="This message contains an Error" \
    timestamp=1394793528000,message="This message also contains an Error"
```

# Contoh: Hitung kode HTTP 404
<a name="Counting404Responses"></a>

Menggunakan CloudWatch Log, Anda dapat memantau berapa kali server Apache Anda mengembalikan respons HTTP 404, yang merupakan kode respons untuk halaman yang tidak ditemukan. Anda mungkin ingin memantau ini untuk memahami seberapa sering pengunjung situs Anda tidak menemukan sumber daya yang mereka cari. Asumsikan bahwa struktur catatan log Anda menyertakan informasi berikut untuk setiap log acara (kunjungan situs):
+ Alamat IP Peminta
+ Identitas RFC 1413
+ Nama pengguna
+ Stempel waktu
+ Metode permintaan dengan protokol dan sumber daya yang diminta
+ Kode respons HTTP terhadap permintaan
+ Byte yang ditransfer dalam permintaan

Contohnya dapat terlihat seperti berikut:

```
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 404 2326
```

Anda dapat menentukan aturan yang mencoba untuk mencocokkan kejadian dengan struktur seperti itu untuk kesalahan HTTP 404, seperti yang ditunjukkan dalam contoh berikut:

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Pilih `Actions`, **Create metric filter** (Buat filter metrik).

1. Untuk **Filter Pattern** (Pola Filter), ketik **[IP, UserInfo, User, Timestamp, RequestInfo, StatusCode=404, Bytes]**.

1. (Opsional) Untuk menguji pola filter Anda, di **Test Pattern** (Pola Uji), masukkan satu atau beberapa log acara untuk digunakan menguji pola. Setiap log acara harus dalam satu baris, karena jeda baris yang digunakan untuk memisahkan log acara di kotak **pesan log acara** (Pesan log acara).

1. Pilih **Berikutnya**, dan kemudian untuk **Nama Filter**, ketik **HTTP404Kesalahan**.

1. Di bawah **Metric Details** (Detail Metrik), untuk **Metric Namespace** (Namespace Metrik), masukkan **MyNameSpace**.

1. Untuk **Metric Name** (Nama Metrik), masukkan **ApacheNotFoundErrorCount**.

1. Konfirmasi bahwa **Metric Value** (Nilai Metrik) adalah 1. Ini menentukan bahwa jumlah bertambah 1 untuk setiap kejadian 404 Error.

1. Masukkan 0 untuk **Default Value** (Nilai Default), lalu pilih **Next** (Selanjutnya).

1. Pilih **Create metric filter** (Buat filter metrik).

**Untuk membuat filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name HTTP404Errors \
  --filter-pattern '[ip, id, user, timestamp, request, status_code=404, size]' \
  --metric-transformations \
      metricName=ApacheNotFoundErrorCount,metricNamespace=MyNamespace,metricValue=1
```

Dalam contoh ini, digunakan karakter literal, seperti tanda kurung siku kiri dan kanan, tanda kutip ganda, dan string karakter 404. Pola harus cocok dengan seluruh pesan log acara agar log acara dipertimbangkan untuk pemantauan.

Anda dapat memverifikasi pembuatan filter metrik dengan menggunakan perintah **describe-metric-filters**. Anda akan melihat output seperti ini:

```
aws logs describe-metric-filters --log-group-name MyApp/access.log

{
    "metricFilters": [
        {
            "filterName": "HTTP404Errors", 
            "metricTransformations": [
                {
                    "metricValue": "1", 
                    "metricNamespace": "MyNamespace", 
                    "metricName": "ApacheNotFoundErrorCount"
                }
            ], 
            "creationTime": 1399277571078, 
            "filterPattern": "[ip, id, user, timestamp, request, status_code=404, size]"
        }
    ]
}
```

Sekarang Anda dapat memposting beberapa kejadian secara manual:

```
aws logs put-log-events \
--log-group-name MyApp/access.log --log-stream-name hostname \
--log-events \
timestamp=1394793518000,message="127.0.0.1 - bob [10/Oct/2000:13:55:36 -0700] \"GET /apache_pb.gif HTTP/1.0\" 404 2326" \
timestamp=1394793528000,message="127.0.0.1 - bob [10/Oct/2000:13:55:36 -0700] \"GET /apache_pb2.gif HTTP/1.0\" 200 2326"
```

Segera setelah meletakkan contoh peristiwa log ini, Anda dapat mengambil metrik yang dinamai di CloudWatch konsol sebagai ApacheNotFoundErrorCount.

# Contoh: Hitung kode HTTP 4xx
<a name="FindCountMetric"></a>

Seperti dalam contoh sebelumnya, Anda mungkin ingin memantau log akses layanan web Anda dan memantau tingkat kode respons HTTP. Misalnya, Anda mungkin ingin memantau semua kesalahan HTTP di tingkat 400. Namun, Anda mungkin tidak ingin menentukan filter metrik baru untuk setiap kode yang dihasilkan.

Contoh berikut menunjukkan cara membuat metrik yang mencakup semua respons kode HTTP di tingkat 400 dari log akses menggunakan format log akses Apache dari contoh [Contoh: Hitung kode HTTP 404](Counting404Responses.md).

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Pilih nama grup log untuk server Apache.

1. Pilih `Actions`, **Create metric filter** (Buat filter metrik).

1. Untuk **Filter pattern** (Pola filter), masukkan **[ip, id, user, timestamp, request, status\$1code=4\$1, size]**.

1. (Opsional) Untuk menguji pola filter Anda, di **Test Pattern** (Pola Uji), masukkan satu atau beberapa log acara untuk digunakan menguji pola. Setiap log acara harus dalam satu baris, karena jeda baris yang digunakan untuk memisahkan log acara di kotak **pesan log acara** (Pesan log acara).

1. Pilih **Next** (Selanjutnya), lalu untuk **Filter name** (Nama filter), ketik **HTTP4xxErrors**.

1. Di bawah **Metric details** (Detail metrik), untuk **Metric namespace** (Namespace metrik), masukkan **MyNameSpace**.

1. Untuk **nama Metrik**, masukkan **HTTP4xxKesalahan**.

1. Untuk **Metric value** (Nilai metrik), masukkan 1. Ini menentukan bahwa jumlah bertambah 1 untuk setiap log acara yang berisi kesalahan 4xx.

1. Masukkan 0 untuk **Default value** (Nilai default), lalu pilih **Next** (Selanjutnya). 

1. Pilih **Create metric filter** (Buat filter metrik).

**Untuk membuat filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs put-metric-filter \
  --log-group-name MyApp/access.log \
  --filter-name HTTP4xxErrors \
  --filter-pattern '[ip, id, user, timestamp, request, status_code=4*, size]' \
  --metric-transformations \
  metricName=HTTP4xxErrors,metricNamespace=MyNamespace,metricValue=1,defaultValue=0
```

Anda dapat menggunakan data berikut dalam panggilan put-event untuk menguji aturan ini. Jika Anda tidak menghapus aturan pemantauan di contoh sebelumnya, Anda akan menghasilkan dua metrik yang berbeda.

```
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3
```

# Contoh: Mengekstraksi bidang dari log Apache dan menetapkan dimensi
<a name="ExtractBytesExample"></a>

Kadang-kadang, alih-alih menghitung, akan lebih berguna jika Anda menggunakan nilai dalam log acara individual untuk nilai metrik. Contoh ini menunjukkan cara Anda dapat membuat aturan ekstraksi untuk membuat metrik yang mengukur byte yang ditransfer oleh server web Apache.

Contoh ini juga menunjukkan cara menetapkan dimensi ke metrik yang Anda buat.

**Untuk membuat filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Pilih nama grup log untuk server Apache.

1. Pilih `Actions`, **Create metric filter** (Buat filter metrik).

1. Untuk **Filter pattern** (Pola filter), masukkan **[ip, id, user, timestamp, request, status\$1code, size]**.

1. (Opsional) Untuk menguji pola filter Anda, di **Test Pattern** (Pola Uji), masukkan satu atau beberapa log acara untuk digunakan menguji pola. Setiap log acara harus dalam satu baris, karena jeda baris yang digunakan untuk memisahkan log acara di kotak **pesan log acara** (Pesan log acara).

1. Pilih **Next** (Selanjutnya), lalu untuk **Filter name** (Nama filter), ketik **size**.

1. Di bawah **Metric details** (Detail metrik), untuk **Metric namespace** (Namespace metrik), masukkan **MyNameSpace**. Karena ini adalah namespace baru, pastikan bahwa **Create new** (Buat baru) dipilih.

1. Untuk **Metric name** (Nama metrik), masukkan **BytesTransferred**

1. Untuk **Metric value** (Nilai metrik), masukkan **\$1size**.

1. Untuk **Unit**, pilih **Byte**.

1. Untuk **Dimension Name** (Nama Dimensi), ketik **IP**.

1. Untuk **Dimension Value** (Nilai Dimensi), ketik **\$1ip**, lalu pilih **Next** (Selanjutnya).

1. Pilih **Create metric filter** (Buat filter metrik).

**Untuk membuat filter metrik ini menggunakan AWS CLI**  
Di jendela perintah, jalankan perintah berikut

```
aws logs put-metric-filter \
--log-group-name MyApp/access.log \
 --filter-name BytesTransferred \
 --filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \
 --metric-transformations  \
 metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size'
```

```
aws logs put-metric-filter \
--log-group-name MyApp/access.log \
--filter-name BytesTransferred \
--filter-pattern '[ip, id, user, timestamp, request, status_code, size]' \
--metric-transformations  \
metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue='$size',unit=Bytes,dimensions='{{IP=$ip}}'
```

**catatan**  
Dalam perintah ini, gunakan format ini untuk menentukan beberapa dimensi.  

```
aws logs put-metric-filter \
--log-group-name my-log-group-name \
--filter-name my-filter-name \
--filter-pattern 'my-filter-pattern' \
--metric-transformations  \
metricName=my-metric-name,metricNamespace=my-metric-namespace,metricValue=my-token,unit=unit,dimensions='{dimension1=$dim,dimension2=$dim2,dim3=$dim3}'
```

Anda dapat menggunakan data berikut dalam put-log-event panggilan untuk menguji aturan ini. Ini akan menghasilkan dua metrik yang berbeda jika Anda tidak menghapus aturan pemantauan dalam contoh sebelumnya.

```
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:49:52 -0700] "GET /index.html HTTP/1.1" 404 287
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /~test/ HTTP/1.1" 200 3
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:50:51 -0700] "GET /favicon.ico HTTP/1.1" 404 308
127.0.0.1 - - [24/Sep/2013:11:51:34 -0700] "GET /~test/index.html HTTP/1.1" 200 3
```

# Daftar filter metrik
<a name="ListingMetricFilters"></a>

Anda dapat membuat daftar semua filter metrik dalam grup log.

**Untuk membuat daftar filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Di panel konten, di daftar grup log, di kolom **Metric Filters** (Filter Metrik), pilih jumlah filter.

   Layar **Log Groups > Filters for** (Grup Log > Filter untuk) mencantumkan semua filter metrik yang terkait dengan grup log.

**Untuk membuat daftar filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs describe-metric-filters --log-group-name MyApp/access.log
```

Berikut ini adalah output contoh:

```
{
    "metricFilters": [
        {
            "filterName": "HTTP404Errors", 
            "metricTransformations": [
                {
                    "metricValue": "1", 
                    "metricNamespace": "MyNamespace", 
                    "metricName": "ApacheNotFoundErrorCount"
                }
            ], 
            "creationTime": 1399277571078, 
            "filterPattern": "[ip, id, user, timestamp, request, status_code=404, size]"
        }
    ]
}
```

# Menghapus filter metrik
<a name="DeletingMetricFilter"></a>

Kebijakan diidentifikasi berdasarkan nama dan grup lognya.

**Untuk menghapus filter metrik menggunakan CloudWatch konsol**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

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

1. Di panel konten, di kolom **Metric Filter** (Filter Metrik), pilih jumlah filter metrik untuk grup log.

1. Di layar **Metric Filters** (Filter Metrik), centang kotak di sebelah kanan nama filter yang ingin Anda hapus. Lalu pilih **Hapus**.

1. Saat diminta konfirmasi, pilih **Hapus**.

**Untuk menghapus filter metrik menggunakan AWS CLI**  
Pada jendela perintah, jalankan perintah berikut:

```
aws logs delete-metric-filter --log-group-name MyApp/access.log \
 --filter-name MyFilterName
```