Contoh: Mengekstraksi bidang dari log Apache dan menetapkan dimensi - CloudWatch Log Amazon

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.

Aturan ekstraksi ini cocok dengan tujuh bidang log acara. Nilai metrik adalah nilai token ketujuh yang cocok. Anda dapat melihat referensi ke token sebagai "$7" di bidang metricValue aturan ekstraksi.

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

Untuk membuat filter metrik menggunakan CloudWatch konsol
  1. Buka CloudWatch konsolhttps://console.aws.amazon.com/cloudwatch/.

  2. Di panel navigasi, pilih Grup log.

  3. Pilih nama grup log untuk server Apache.

  4. Pilih Actions, Create metric filter (Buat filter metrik).

  5. Untuk Filter pattern (Pola filter), masukkan [ip, id, user, timestamp, request, status_code, size].

  6. (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).

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

  8. 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.

  9. Untuk Metric name (Nama metrik), masukkan BytesTransferred

  10. Untuk Metric value (Nilai metrik), masukkan $size.

  11. Untuk Unit, pilih Byte.

  12. Untuk Dimension Name (Nama Dimensi), ketik IP.

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

  14. 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-transformation \ 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-transformation \ metricName=BytesTransferred,metricNamespace=MyNamespace,metricValue=$size,unit=Bytes,dimensions='{EventType=$eventtype}'
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-transformation \ 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 di 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