

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
<a name="health-enhanced-cloudwatch"></a>

Anda dapat mempublikasikan data yang dikumpulkan oleh pelaporan kesehatan yang AWS Elastic Beanstalk disempurnakan ke Amazon CloudWatch sebagai metrik khusus. Menerbitkan 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 metrik ke CloudWatch, Anda juga membuatnya tersedia untuk digunakan dengan [grafik pemantauan dan alarm](environment-health-console.md#environment-health-console-graphs).](using-features.alarms.md) Satu metrik gratis *EnvironmentHealth*, diaktifkan secara otomatis saat Anda menggunakan pelaporan kesehatan yang disempurnakan. [Metrik khusus selain *EnvironmentHealth*dikenakan biaya standarCloudWatch .](https://aws.amazon.com/cloudwatch/pricing/) 

Untuk mempublikasikan metrik CloudWatch khusus untuk suatu lingkungan, Anda harus terlebih dahulu mengaktifkan pelaporan kesehatan yang ditingkatkan tentang lingkungan. Lihat [Mengaktifkan pelaporan kondisi yang ditingkatkan Elastic Beanstalk](health-enhanced-enable.md) untuk instruksi.

**Topics**
+ [Metrik pelaporan kondisi yang ditingkatkan](#health-enhanced-cloudwatch-metrics)
+ [Mengkonfigurasi CloudWatch metrik menggunakan konsol Elastic Beanstalk](#health-enhanced-cloudwatch-console)
+ [Mengkonfigurasi metrik CloudWatch kustom menggunakan EB CLI](#health-enhanced-cloudwatch-ebcli)
+ [Menyediakan dokumen konfigurasi metrik khusus](#health-enhanced-cloudwatch-configdocument)

## Metrik pelaporan kondisi yang ditingkatkan
<a name="health-enhanced-cloudwatch-metrics"></a>

Saat Anda mengaktifkan pelaporan kesehatan yang disempurnakan di lingkungan Anda, sistem pelaporan kesehatan yang disempurnakan secara otomatis menerbitkan satu [metrik CloudWatch khusus](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html). *EnvironmentHealth* [[Untuk mempublikasikan metrik tambahan CloudWatch, konfigurasikan lingkungan Anda dengan metrik tersebut dengan menggunakan konsol [Elastic Beanstalk, EB CLI, atau .ebextensions](#health-enhanced-cloudwatch-console).](command-options.md)](#health-enhanced-cloudwatch-ebcli)

Anda dapat mempublikasikan metrik kesehatan yang ditingkatkan berikut dari lingkungan Anda ke CloudWatch.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](health-enhanced-status.md). Di CloudWatch konsol, status ini dipetakan 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`  
*Instance saja.* Menunjukkan status kondisi instans saat ini. Kondisi instans diwakili oleh salah satu dari tujuh [status](health-enhanced-status.md). Di CloudWatch konsol, status ini dipetakan ke nilai berikut:  
+ 0 – OK
+ 1 – Info
+ 5 – Tidak diketahui
+ 10 – Tidak ada data
+ 15 – Peringatan
+ 20 – Berdegradasi
+ 25 – Sangat ParahMetrik yang tersedia—Linux

`CPUIrq``CPUIdle``CPUUser``CPUSystem``CPUSoftirq``CPUIowait``CPUNice`  
*Instance saja.* Menunjukkan persentase waktu yang CPU telah habiskan di setiap status selama satu menit terakhir.

`LoadAverage1min`  
*Instance saja.* Rata-rata beban CPU instans selama satu menit terakhir.

`RootFilesystemUtil`  
*Instance saja.* Menunjukkan persentase ruang disk yang digunakan.Metrik yang tersedia—Windows

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

## Mengkonfigurasi CloudWatch metrik menggunakan konsol Elastic Beanstalk
<a name="health-enhanced-cloudwatch-console"></a>

Anda dapat menggunakan konsol Elastic Beanstalk untuk mengonfigurasi lingkungan Anda guna mempublikasikan CloudWatch metrik pelaporan kesehatan yang disempurnakan 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 di daftar Wilayah, pilih konsol Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk.** Wilayah AWS

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

1. Pada panel navigasi, pilih **Konfigurasi**.

1. Pada kategori konfigurasi **Pemantauan**, pilih **Edit**.

1. Di bawah **Health reporting**, pilih metrik instans dan lingkungan untuk dipublikasikan. CloudWatch Untuk memilih beberapa metrik, tekan tombol **Ctrl** saat memilih.

1. Untuk menyimpan perubahan pilih **Terapkan** di bagian bawah halaman.

[**Mengaktifkan metrik CloudWatch kustom menambahkannya ke daftar metrik yang tersedia di halaman Pemantauan.**](environment-health-console.md)

## Mengkonfigurasi metrik CloudWatch kustom menggunakan EB CLI
<a name="health-enhanced-cloudwatch-ebcli"></a>

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 yang disimpan**

1. Inisialisasi folder proyek Anda dengan [**eb init**](eb-cli3-configuration.md).

1. Buat lingkungan dengan menjalankan perintah **eb create**.

1. 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
   ```

1. Buka file konfigurasi yang disimpan di editor teks.

1. Di `OptionSettings` bawah>`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](health-enhanced-rules.md).  
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.

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

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

1. 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
<a name="health-enhanced-cloudwatch-configdocument"></a>

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 `Value` kunci dalam argumen pengaturan opsi, yang itu sendiri adalah 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
}
```