Menerbitkan metrik CloudWatch kustom Amazon untuk suatu lingkungan - AWS Elastic Beanstalk

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

Menerbitkan metrik CloudWatch kustom Amazon untuk suatu lingkungan

Anda dapat mempublikasikan data yang dikumpulkan dengan pelaporan kesehatan yang AWS Elastic Beanstalk disempurnakan ke Amazon CloudWatch sebagai metrik khusus. Mempublikasikan metrik untuk CloudWatch memungkinkan Anda memantau perubahan kinerja aplikasi dari waktu ke waktu dan mengidentifikasi potensi masalah dengan melacak cara penggunaan sumber daya dan meminta skala latensi dengan beban.

Dengan menerbitkan metrikCloudWatch, Anda juga membuatnya tersedia untuk digunakan dengan grafik pemantauan dan alarm. Satu metrik gratis, EnvironmentHealth, diaktifkan secara otomatis saat Anda menggunakan pelaporan kesehatan yang ditingkatkan. Metrik khusus selain EnvironmentHealthdikenakan biaya standarCloudWatch.

Untuk mempublikasikan metrik CloudWatch khusus untuk suatu lingkungan, Anda harus terlebih dahulu mengaktifkan pelaporan kesehatan yang ditingkatkan di lingkungan. Lihat Mengaktifkan pelaporan kondisi yang ditingkatkan Elastic Beanstalk untuk instruksi.

Metrik pelaporan kondisi yang ditingkatkan

Saat Anda mengaktifkan pelaporan kesehatan yang disempurnakan di lingkungan Anda, sistem pelaporan kesehatan yang disempurnakan akan secara otomatis menerbitkan satu metrik CloudWatch khusus. EnvironmentHealth Untuk mempublikasikan metrik tambahanCloudWatch, konfigurasikan lingkungan Anda dengan metrik tersebut dengan menggunakan konsol Elastic Beanstalk, EB CLI, atau .ebextensions.

Anda dapat mempublikasikan metrik kesehatan yang ditingkatkan berikut dari lingkungan Anda keCloudWatch.

Metrik yang tersedia—semua platform
EnvironmentHealth

Lingkungan saja. Ini adalah satu-satunya CloudWatch metrik yang diterbitkan oleh sistem pelaporan kesehatan yang disempurnakan, kecuali jika Anda mengonfigurasi metrik tambahan. Kondisi lingkungan diwakili oleh salah satu dari tujuh status. Di CloudWatch konsol, status ini memetakan ke nilai berikut:

  • 0 – OK

  • 1 – Info

  • 5 – Tidak diketahui

  • 10 – Tidak ada data

  • 15 – Peringatan

  • 20 – Berdegradasi

  • 25 – Sangat Parah

InstancesSevere
InstancesDegraded
InstancesWarning
InstancesInfo
InstancesOk
InstancesPending
InstancesUnknown
InstancesNoData

Lingkungan saja. Metrik ini menunjukkan jumlah instans di lingkungan dengan setiap status kondisi. InstancesNoData menunjukkan jumlah instans yang tidak ada data yang diterima.

ApplicationRequestsTotal
ApplicationRequests5xx
ApplicationRequests4xx
ApplicationRequests3xx
ApplicationRequests2xx

Instance dan lingkungan. Menunjukkan jumlah total permintaan yang diselesaikan oleh instans atau lingkungan, dan jumlah permintaan yang dilengkapi dengan setiap kategori kode status.

ApplicationLatencyP10
ApplicationLatencyP50
ApplicationLatencyP75
ApplicationLatencyP85
ApplicationLatencyP90
ApplicationLatencyP95
ApplicationLatencyP99
ApplicationLatencyP99.9

Instance dan lingkungan. Menunjukkan jumlah waktu rata-rata, dalam detik, yang diperlukan untuk melengkapi x persen yang tercepat dari permintaan.

InstanceHealth

Misalnya saja. Menunjukkan status kondisi instans saat ini. Kondisi instans diwakili oleh salah satu dari tujuh status. Di CloudWatch konsol, status ini memetakan ke nilai berikut:

  • 0 – OK

  • 1 – Info

  • 5 – Tidak diketahui

  • 10 – Tidak ada data

  • 15 – Peringatan

  • 20 – Berdegradasi

  • 25 – Sangat Parah

Metrik yang tersedia—Linux
CPUIrq
CPUIdle
CPUUser
CPUSystem
CPUSoftirq
CPUIowait
CPUNice

Misalnya saja. Menunjukkan persentase waktu yang CPU telah habiskan di setiap status selama satu menit terakhir.

LoadAverage1min

Misalnya saja. Rata-rata beban CPU instans selama satu menit terakhir.

RootFilesystemUtil

Misalnya saja. Menunjukkan persentase ruang disk yang digunakan.

Metrik yang tersedia—Windows
CPUIdle
CPUUser
CPUPriveleged

Hanya instans. Menunjukkan persentase waktu yang CPU telah habiskan di setiap status selama satu menit terakhir.

Mengkonfigurasi CloudWatch metrik menggunakan konsol Elastic Beanstalk

Anda dapat menggunakan konsol Elastic Beanstalk untuk mengonfigurasi lingkungan Anda guna mempublikasikan metrik pelaporan kesehatan yang disempurnakan CloudWatch dan membuatnya tersedia untuk digunakan dengan grafik pemantauan dan alarm.

Untuk mengonfigurasi metrik CloudWatch khusus di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan dalam daftar Regions, pilih Anda. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Pada panel navigasi, pilih Konfigurasi.

  4. Pada kategori konfigurasi Pemantauan, pilih Edit.

  5. Di bagian Pelaporan kesehatan, pilih metrik instans dan lingkungan yang akan dipublikasikan. CloudWatch Untuk memilih beberapa metrik, tekan tombol Ctrl saat memilih.

  6. Untuk menyimpan perubahan pilih Terapkan di bagian bawah halaman.

Mengaktifkan metrik CloudWatch kustom menambahkannya ke daftar metrik yang tersedia di halaman Pemantauan.

Mengkonfigurasi metrik CloudWatch khusus menggunakan EB CLI

Anda dapat menggunakan EB CLI untuk mengonfigurasi metrik khusus dengan menyimpan konfigurasi lingkungan Anda secara lokal, menambahkan entri yang menentukan metrik untuk diterbitkan, dan kemudian mengunggah konfigurasi ke Elastic Beanstalk. Anda dapat menerapkan konfigurasi yang disimpan untuk lingkungan selama atau setelah pembuatan.

Untuk mengonfigurasi metrik CloudWatch khusus dengan EB CLI dan konfigurasi tersimpan
  1. Inisialisasi folder proyek Anda dengan eb init.

  2. Buat lingkungan dengan menjalankan perintah eb create.

  3. Simpan templat konfigurasi secara lokal dengan menjalankan perintah eb config save. Contoh berikut menggunakan pilihan --cfg untuk menentukan nama konfigurasi.

    $ eb config save --cfg 01-base-state Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
  4. Buka file konfigurasi yang disimpan di editor teks.

  5. Di bawah OptionSettings >aws:elasticbeanstalk:healthreporting:system:, tambahkan ConfigDocument kunci untuk mengaktifkan setiap CloudWatch metrik yang Anda inginkan. Misalnya, ConfigDocument berikut menerbitkan metrik ApplicationRequests5xx dan ApplicationRequests4xx di tingkat lingkungan, dan metrik ApplicationRequestsTotal di tingkat instans.

    OptionSettings: ... aws:elasticbeanstalk:healthreporting:system: ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1 SystemType: enhanced ...

    Dalam contoh, 60 menunjukkan jumlah detik antara pengukuran. Saat ini, ini adalah satu-satunya nilai yang didukung.

    catatan

    Anda bisa menggabungkan CloudWatchMetrics dan Rules dalam pengaturan pilihan ConfigDocument yang sama.Rules dijelaskan di Mengonfigurasi aturan kondisi yang ditingkatkan untuk lingkungan.

    Jika sebelumnya Anda menggunakan Rules untuk mengonfigurasi aturan kondisi yang ditingkatkan, kemudian file konfigurasi yang Anda ambil menggunakan perintah eb config save telah memiliki kunci ConfigDocument dengan bagian Rules. Jangan menghapusnya—tambahkan bagian CloudWatchMetrics ke nilai pilihan ConfigDocument yang sama.

  6. Simpan file konfigurasi dan tutup teks editor. Dalam contoh ini, file konfigurasi yang diperbarui disimpan dengan nama (02-cloudwatch-enabled.cfg.yml) yang berbeda dari file konfigurasi yang diunduh. Hal ini membuat konfigurasi yang tersimpan terpisah ketika file diunggah. Anda dapat menggunakan nama yang sama dengan file yang diunduh untuk menimpa konfigurasi yang ada tanpa membuat yang baru.

  7. Gunakan perintah eb config put untuk mengunggah file konfigurasi yang diperbarui ke Elastic Beanstalk.

    $ eb config put 02-cloudwatch-enabled

    Ketika menggunakan perintah eb config get dan put dengan konfigurasi tersimpan, jangan sertakan ekstensi file.

  8. Terapkan konfigurasi yang disimpan ke lingkungan Anda yang sedang berjalan.

    $ eb config --cfg 02-cloudwatch-enabled

    Pilihan --cfg menentukan file konfigurasi bernama yang diterapkan ke lingkungan. Anda dapat menyimpan file konfigurasi secara lokal atau di Elastic Beanstalk. Jika file konfigurasi dengan nama tertentu ada di kedua lokasi tersebut, EB CLI akan menggunakan file lokal.

Menyediakan dokumen konfigurasi metrik khusus

Dokumen konfigurasi (konfigurasi) untuk metrik CloudWatch kustom Amazon adalah dokumen JSON yang mencantumkan metrik untuk dipublikasikan di tingkat lingkungan dan instans. Contoh berikut menunjukkan dokumen config yang memungkinkan semua metrik khusus tersedia di Linux.

{ "CloudWatchMetrics": { "Environment": { "ApplicationLatencyP99.9": 60, "InstancesSevere": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "InstancesUnknown": 60, "ApplicationLatencyP85": 60, "InstancesInfo": 60, "ApplicationRequests2xx": 60, "InstancesDegraded": 60, "InstancesWarning": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "InstancesNoData": 60, "InstancesPending": 60, "ApplicationLatencyP10": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "InstancesOk": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60 }, "Instance": { "ApplicationLatencyP99.9": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "ApplicationLatencyP85": 60, "CPUUser": 60, "ApplicationRequests2xx": 60, "CPUIdle": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "RootFilesystemUtil": 60, "LoadAverage1min": 60, "CPUIrq": 60, "CPUNice": 60, "CPUIowait": 60, "ApplicationLatencyP10": 60, "LoadAverage5min": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "CPUSystem": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60, "InstanceHealth": 60, "CPUSoftirq": 60 } }, "Version": 1 }

Untuk AWS CLI, Anda meneruskan dokumen sebagai nilai untuk kunci Value dalam argumen pengaturan pilihan, yang itu sendiri merupakan objek JSON. Dalam hal ini, Anda harus keluar dari tanda petik di dokumen yang disematkan.

$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}" } ]'

Untuk file konfigurasi .ebextensions di YAML, Anda dapat memberikan dokumen JSON apa adanya.

option_settings: - namespace: aws:elasticbeanstalk:healthreporting:system option_name: ConfigDocument value: { "CloudWatchMetrics": { "Environment": { "ApplicationLatencyP99.9": 60, "InstancesSevere": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "InstancesUnknown": 60, "ApplicationLatencyP85": 60, "InstancesInfo": 60, "ApplicationRequests2xx": 60, "InstancesDegraded": 60, "InstancesWarning": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "InstancesNoData": 60, "InstancesPending": 60, "ApplicationLatencyP10": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "InstancesOk": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60 }, "Instance": { "ApplicationLatencyP99.9": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "ApplicationLatencyP85": 60, "CPUUser": 60, "ApplicationRequests2xx": 60, "CPUIdle": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "RootFilesystemUtil": 60, "LoadAverage1min": 60, "CPUIrq": 60, "CPUNice": 60, "CPUIowait": 60, "ApplicationLatencyP10": 60, "LoadAverage5min": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "CPUSystem": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60, "InstanceHealth": 60, "CPUSoftirq": 60 } }, "Version": 1 }