

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

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