Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Mengekstraksi bidang dari log Apache dan menetapkan dimensi
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
-
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Pada panel navigasi, pilih Grup log.
-
Pilih nama grup log untuk server Apache.
-
Pilih
Actions
, Create metric filter (Buat filter metrik). -
Untuk Filter pattern (Pola filter), masukkan
[ip, id, user, timestamp, request, status_code, size]
. -
(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).
-
Pilih Next (Selanjutnya), lalu untuk Filter name (Nama filter), ketik
size
. -
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. -
Untuk Metric name (Nama metrik), masukkan
BytesTransferred
Untuk Metric value (Nilai metrik), masukkan
$size
.Untuk Unit, pilih Byte.
Untuk Dimension Name (Nama Dimensi), ketik
IP
.Untuk Dimension Value (Nilai Dimensi), ketik
$ip
, lalu pilih Next (Selanjutnya).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-namemy-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