

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

# CloudWatch solusi: Beban kerja NGINX di Amazon EC2
<a name="Solution-NGINX-On-EC2"></a>

Solusi ini membantu Anda mengonfigurasi pengumpulan out-of-the-box metrik menggunakan CloudWatch agen untuk aplikasi NGINX yang berjalan pada instans EC2. Untuk informasi umum tentang semua solusi CloudWatch observabilitas, lihat[CloudWatch solusi observabilitas](Monitoring-Solutions.md).

**Topics**
+ [

## Persyaratan
](#Solution-NGINX-On-EC2-Requirements)
+ [

## Manfaat
](#Solution-NGINX-On-EC2-Benefits)
+ [

## Biaya
](#Solution-NGINX-On-EC2-Costs)
+ [

## CloudWatch konfigurasi agen untuk solusi ini
](#Solution-NGINX-CloudWatch-Agent)
+ [

## Menyebarkan agen untuk solusi Anda
](#Solution-NGINX-Agent-Deploy)
+ [

## Buat dasbor solusi NGINX
](#Solution-NGINX-Dashboard)

## Persyaratan
<a name="Solution-NGINX-On-EC2-Requirements"></a>

Solusi ini relevan untuk kondisi berikut:
+ Versi yang didukung: NGINX versi 1.24
+ Hitung: Amazon EC2
+ Mendukung hingga 500 instans EC2 di semua beban kerja NGINX dalam satu Wilayah AWS
+ Versi terbaru dari CloudWatch agent
+ Prometheus Eksportir: nginxinc/ (lisensi Apache 2.0) nginx-prometheus-exporter 
+ Agen SSM diinstal pada instans EC2
**catatan**  
AWS Systems Manager (Agen SSM) sudah diinstal sebelumnya pada beberapa [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) yang disediakan oleh AWS dan pihak ketiga tepercaya. Jika agen tidak diinstal, Anda dapat menginstalnya secara manual menggunakan prosedur untuk jenis sistem operasi Anda.  
 [Menginstal dan menghapus instalan Agen SSM secara manual pada instans EC2 untuk Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) 
 [Menginstal dan menghapus instalan Agen SSM secara manual pada instans EC2 untuk macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html) 
 [Menginstal dan menghapus instalan Agen SSM secara manual pada instans EC2 untuk Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html) 

## Manfaat
<a name="Solution-NGINX-On-EC2-Benefits"></a>

Solusi ini memberikan pemantauan NGINX, memberikan wawasan berharga untuk kasus penggunaan berikut:
+ Tinjau metrik koneksi untuk mengidentifikasi potensi kemacetan, masalah koneksi, atau penggunaan yang tidak terduga.
+ Analisis volume permintaan HTTP untuk memahami beban lalu lintas keseluruhan pada NGINX.

Di bawah ini adalah keuntungan utama dari solusi ini:
+ Mengotomatiskan pengumpulan metrik untuk NGINX menggunakan konfigurasi CloudWatch agen, menghilangkan instrumentasi manual.
+ Menyediakan CloudWatch dasbor terkonsolidasi yang telah dikonfigurasi sebelumnya untuk metrik NGINX. Dasbor akan secara otomatis menangani metrik dari instans NGINX EC2 baru yang dikonfigurasi menggunakan solusi, bahkan jika metrik tersebut tidak ada saat Anda pertama kali membuat dasbor.

Gambar berikut adalah contoh dasbor untuk solusi ini.

![\[Contoh dasbor untuk solusi NGINX.\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/images/NGINXDashboard.png)


## Biaya
<a name="Solution-NGINX-On-EC2-Costs"></a>

Solusi ini membuat dan menggunakan sumber daya di akun Anda. Anda dikenakan biaya untuk penggunaan standar, termasuk yang berikut:
+ Semua metrik yang dikumpulkan oleh CloudWatch agen untuk solusi ini dipublikasikan ke CloudWatch Log menggunakan Embedded Metric Format (EMF). CloudWatch Log ini dibebankan berdasarkan volume dan periode retensi mereka. Oleh karena itu, Anda tidak akan ditagih untuk panggilan **PutMetricData**API apa pun untuk solusi ini. Metrik yang diekstraksi dan dicerna dari log Anda dikenakan biaya sebagai metrik khusus. Jumlah metrik yang digunakan oleh solusi ini tergantung pada jumlah host EC2.
  + Setiap host NGINX EC2 yang dikonfigurasi untuk solusi menerbitkan total delapan metrik.
+ Satu dasbor khusus.

Untuk informasi selengkapnya tentang CloudWatch harga, lihat [ CloudWatch Harga Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Kalkulator harga dapat membantu Anda memperkirakan perkiraan biaya bulanan untuk menggunakan solusi ini.

**Untuk menggunakan kalkulator harga untuk memperkirakan biaya solusi bulanan Anda**

1. Buka [kalkulator CloudWatch harga Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. Untuk **Pilih Wilayah**, pilih Wilayah AWS tempat Anda ingin menerapkan solusi.

1. Di bagian **Metrik**, untuk **Jumlah metrik, masukkan**. **8 \$1 number of EC2 instances configured for this solution**

1. Di bagian **Log**, untuk **Log Standar: Data Tertelan**, masukkan perkiraan volume log harian yang dihasilkan oleh CloudWatch Agen di semua host EC2. Misalnya, lima instans EC2 menghasilkan kurang dari 1000 byte per hari. Setelah diatur, Anda dapat memeriksa penggunaan byte Anda menggunakan ` IncomingBytes` metrik, yang dijual oleh CloudWatch Log. Pastikan untuk memilih grup log yang sesuai.

1. Di bagian **Log**, untuk **Penyimpanan/Arsip Log (Log Standar dan Penjual), pilih.** **Yes to Store Logs: Assuming 1 month retention** Ubah nilai ini jika Anda memutuskan untuk membuat perubahan khusus pada periode retensi.

1. Di bagian **Dasbor dan Alarm**, untuk **Jumlah Dasbor**, masukkan. **1**

1. Anda dapat melihat perkiraan biaya bulanan Anda di bagian bawah kalkulator harga.

## CloudWatch konfigurasi agen untuk solusi ini
<a name="Solution-NGINX-CloudWatch-Agent"></a>

 CloudWatch Agen adalah perangkat lunak yang berjalan terus menerus dan mandiri di server Anda dan di lingkungan kontainer. Ini mengumpulkan metrik, log, dan jejak dari infrastruktur dan aplikasi Anda dan mengirimkannya ke dan CloudWatch X-Ray.

Untuk informasi lebih lanjut tentang CloudWatch agen, lihat[Kumpulkan metrik, log, dan jejak menggunakan agen CloudWatch](Install-CloudWatch-Agent.md).

Konfigurasi agen dalam solusi ini mengumpulkan satu set metrik untuk membantu Anda mulai memantau dan mengamati beban kerja NGINX Anda. CloudWatch Agen dapat dikonfigurasi untuk mengumpulkan lebih banyak metrik NGINX daripada tampilan dasbor secara default. Untuk daftar semua metrik NGINX yang dapat Anda kumpulkan, lihat [Metrik](https://github.com/nginxinc/nginx-prometheus-exporter?tab=readme-ov-file#exported-metrics) untuk NGINX OSS.

Sebelum mengonfigurasi CloudWatch agen, Anda harus terlebih dahulu mengonfigurasi NGINX untuk mengekspos metriknya. Kedua, Anda harus menginstal dan mengkonfigurasi eksportir metrik Prometheus pihak ketiga.

### Paparkan metrik NGINX
<a name="Solution-NGINX-Expose-Metrics"></a>

**catatan**  
 Perintah berikut adalah untuk Linux. Periksa [NGINX untuk halaman Windows untuk](https://nginx.org/en/docs/windows.html) perintah yang setara di Windows Server. 

Anda harus mengaktifkan `stub_status` modul terlebih dahulu. Tambahkan blok lokasi baru di file konfigurasi NGINX Anda. Tambahkan baris berikut di `server` blok Anda `nginx.conf` untuk mengaktifkan modul NGINX: `stub_status`

```
location /nginx_status { 
          stub_status on;
          allow 127.0.0.1; # Allow only localhost to access
          deny all; # Deny all other IPs
        }
```

Sebelum memuat ulang NGINX, validasi konfigurasi NGINX Anda:

```
sudo nginx -t
```

Perintah validasi ini membantu mencegah kesalahan yang tidak terduga, yang dapat menyebabkan situs web Anda rusak. Contoh berikut menunjukkan respons yang berhasil:

```
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
```

Setelah Anda berhasil memvalidasi konfigurasi yang diperbarui, muat ulang NGINX (tidak ada output yang diharapkan):

```
sudo systemctl reload nginx
```

Perintah ini menginstruksikan proses NGINX untuk memuat ulang konfigurasi. Reload lebih anggun dibandingkan dengan restart penuh. Muat ulang memulai proses pekerja baru dengan konfigurasi baru, dengan anggun mematikan proses pekerja lama.

Uji titik akhir status NGINX:

```
curl http://127.0.0.1/nginx_status
```

Contoh berikut menunjukkan respons yang berhasil:

```
Active connections: 1
server accepts handled requests
6 6 6
Reading: 0 Writing: 1 Waiting: 0
```

Contoh berikut menunjukkan respons kegagalan (tinjau langkah-langkah sebelumnya sebelum melanjutkan):

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
      <head>
          <title>The page is not found</title>
          ...
```

### Konfigurasikan eksportir metrik Prometheus
<a name="Solution-NGINX-Configure-Prometheus"></a>

[Unduh rilis eksportir NGINX Prometheus terbaru dari repositori resmi. GitHub ](https://github.com/nginxinc/nginx-prometheus-exporter/releases) Anda harus mengunduh biner yang relevan untuk platform Anda.

Contoh berikut menunjukkan perintah untuk AMD64:

```
cd /tmp
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.3.0/nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz
tar -xzvf nginx-prometheus-exporter_1.3.0_linux_amd64.tar.gz
sudo cp nginx-prometheus-exporter /usr/local/bin/
rm /tmp/nginx-prometheus-exporter*
```

Jalankan eksportir Prometheus dan arahkan ke halaman status rintisan NGINX:

```
nohup /usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri http://127.0.0.1/nginx_status &>/dev/null &
```

Contoh berikut menunjukkan respon (ID pekerjaan latar belakang dan PID):

```
[1] 74699
```

### Uji titik akhir Prometheus NGINX
<a name="Solution-NGINX-Test-Prometheus"></a>

Validasi bahwa eksportir Prometheus NGINX telah mulai mengekspos metrik yang relevan:

```
curl http://localhost:port-number/metrics
```

Contoh berikut menunjukkan respons yang berhasil:

```
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
...
# HELP nginx_connections_accepted Accepted client connections
# TYPE nginx_connections_accepted counter
nginx_connections_accepted 14
# HELP nginx_connections_active Active client connections
# TYPE nginx_connections_active gauge
nginx_connections_active 1
...
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 1
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0
```

### Konfigurasi agen untuk solusi ini
<a name="Solution-NGINX-Agent-Config-Intro"></a>

Metrik yang dikumpulkan oleh agen ditentukan dalam konfigurasi agen. Solusi ini menyediakan konfigurasi agen untuk mengumpulkan metrik yang direkomendasikan dengan dimensi yang sesuai untuk dasbor solusi.

Langkah-langkah untuk menerapkan solusi dijelaskan nanti di[Menyebarkan agen untuk solusi Anda](#Solution-NGINX-Agent-Deploy). Informasi berikut dimaksudkan untuk membantu Anda memahami cara menyesuaikan konfigurasi agen untuk lingkungan Anda.

Anda harus menyesuaikan beberapa bagian agen dan konfigurasi Prometheus untuk lingkungan Anda seperti nomor port yang digunakan oleh eksportir Prometheus.

Port yang digunakan oleh eksportir Prometheus dapat diverifikasi menggunakan perintah berikut:

```
sudo netstat -antp | grep nginx-prom
```

Contoh berikut menunjukkan respon (lihat nilai port 9113):

```
tcp6 0 0 :::9113 :::* LISTEN 76398/nginx-prometh
```

### Konfigurasi agen untuk host NGINX
<a name="Solution-NGINX-Agent-Config"></a>

 CloudWatch Agen dengan pemantauan Prometheus membutuhkan dua konfigurasi untuk mengikis metrik Prometheus. Setiap konfigurasi akan disimpan sebagai parameter terpisah di Parameter Store SSM, seperti yang dijelaskan nanti. [Langkah 2: Simpan file konfigurasi CloudWatch agen yang direkomendasikan di Systems Manager Parameter Store](#Solution-NGINX-Agent-Step2)

[Konfigurasi pertama adalah untuk eksportir Prometheus, seperti yang didokumentasikan dalam dokumentasi scrape\$1config Prometheus.](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) Konfigurasi kedua adalah untuk CloudWatch agen.

 **Konfigurasi Prometheus** 

Ganti *port-number* dengan port server Anda.

```
global:
  scrape_interval: 30s
  scrape_timeout: 10s
  
scrape_configs:
- job_name: 'nginx'
  metrics_path: /metrics
  static_configs:
    - targets: ['localhost:port-number']
  ec2_sd_configs:
    - port: port-number
  relabel_configs:
    - source_labels: ['__meta_ec2_instance_id']
      target_label: InstanceId
  metric_relabel_configs:
    - source_labels: ['__name__']
      regex: 'nginx_up|nginx_http_requests_total|nginx_connections_.*'
      action: keep
```

 **CloudWatch konfigurasi agen** 

Sesuai konfigurasi CloudWatch agen sebelumnya, metrik ini diterbitkan melalui CloudWatch Log menggunakan [format metrik tertanam (EMF](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html)). Log ini dikonfigurasi untuk menggunakan grup log` nginx`. Anda dapat menyesuaikan *log\$1group\$1name* dengan nama berbeda yang mewakili CloudWatch log.

 Jika Anda menggunakan Windows Server, atur *prometheus\$1config\$1path* konfigurasi berikut ke`C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus.yaml`. 

```
{
"agent": {
  "metrics_collection_interval": 60
},
"logs": {
  "metrics_collected": {
      "prometheus": {
          "log_group_name": "nginx",
          "prometheus_config_path": "/opt/aws/amazon-cloudwatch-agent/etc/prometheus.yaml",
          "emf_processor": {
              "metric_declaration_dedup": true,
              "metric_namespace": "CWAgent",
              "metric_declaration":[
                  {
                      "source_labels":["InstanceId"],
                      "metric_selectors":["nginx_up", "nginx_http_requests_total", "nginx_connections*"],
                      "dimensions": [["InstanceId"]]
                  }
              ]
          }
      }
  }
}
}
```

## Menyebarkan agen untuk solusi Anda
<a name="Solution-NGINX-Agent-Deploy"></a>

Ada beberapa pendekatan untuk menginstal CloudWatch agen, tergantung pada kasus penggunaan. Sebaiknya gunakan Systems Manager untuk solusi ini. Ini memberikan pengalaman konsol dan membuatnya lebih mudah untuk mengelola armada server yang dikelola dalam satu AWS akun. Petunjuk di bagian ini menggunakan Systems Manager dan ditujukan untuk saat Anda tidak menjalankan CloudWatch agen dengan konfigurasi yang ada. Anda dapat memeriksa apakah CloudWatch agen berjalan dengan mengikuti langkah-langkah di[Verifikasi bahwa CloudWatch agen sedang berjalan](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running).

Jika Anda sudah menjalankan CloudWatch agen di host EC2 tempat beban kerja diterapkan dan mengelola konfigurasi agen, Anda dapat melewati instruksi di bagian ini dan mengikuti mekanisme penerapan yang ada untuk memperbarui konfigurasi. Pastikan untuk menggabungkan CloudWatch agen baru dan konfigurasi Prometheus dengan konfigurasi yang ada, lalu terapkan konfigurasi gabungan. Jika Anda menggunakan Systems Manager untuk menyimpan dan mengelola konfigurasi CloudWatch agen, Anda dapat menggabungkan konfigurasi ke nilai parameter yang ada. Untuk informasi selengkapnya, lihat [Mengelola file konfigurasi CloudWatch agen](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**catatan**  
Menggunakan Systems Manager untuk menerapkan konfigurasi CloudWatch agen berikut akan menggantikan atau menimpa konfigurasi CloudWatch agen yang ada pada instans EC2 Anda. Anda dapat memodifikasi konfigurasi ini agar sesuai dengan lingkungan unik atau kasus penggunaan Anda. Metrik yang ditentukan dalam konfigurasi adalah minimum yang diperlukan untuk dasbor yang disediakan solusinya.

Proses penyebaran mencakup langkah-langkah berikut:
+ Langkah 1: Pastikan instans EC2 target memiliki izin IAM yang diperlukan.
+ Langkah 2: Simpan file konfigurasi agen yang direkomendasikan di Systems Manager Parameter Store.
+ Langkah 3: Instal CloudWatch agen pada satu atau lebih instance EC2 menggunakan tumpukan. CloudFormation 
+ Langkah 4: Verifikasi pengaturan agen dikonfigurasi dengan benar.

### Langkah 1: Pastikan instans EC2 target memiliki izin IAM yang diperlukan
<a name="Solution-NGINX-Agent-Step1"></a>

Anda harus memberikan izin kepada Systems Manager untuk menginstal dan mengkonfigurasi CloudWatch agen. Anda harus memberikan izin kepada CloudWatch agen untuk mempublikasikan telemetri dari instans EC2 Anda ke. CloudWatch Anda juga harus memberikan akses baca CloudWatch agen EC2. Akses baca EC2 diperlukan agar EC2 InstanceId ditambahkan sebagai dimensi metrik. Persyaratan tambahan ini didorong oleh `prometheus.yaml` seperti yang dijelaskan di atas karena digunakan ` __meta_ec2_instance_id` melalui EC2 Service Discovery.

Pastikan bahwa peran IAM yang dilampirkan pada instans memiliki kebijakan EC2 ReadOnlyAccess IAM ** CloudWatchAgentServerPolicy**, **Amazon SSMManaged InstanceCore**, dan **Amazon** yang dilampirkan.
+ Setelah peran dibuat, lampirkan peran ke instans EC2 Anda. Untuk melampirkan peran ke instans EC2, ikuti langkah-langkah di [Lampirkan peran IAM ke instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attach-iam-role.html).

### Langkah 2: Simpan file konfigurasi CloudWatch agen yang direkomendasikan di Systems Manager Parameter Store
<a name="Solution-NGINX-Agent-Step2"></a>

Parameter Store menyederhanakan pemasangan CloudWatch agen pada instans EC2 dengan menyimpan dan mengelola parameter konfigurasi dengan aman, menghilangkan kebutuhan akan nilai hard-code. Ini memastikan proses penyebaran yang lebih aman dan fleksibel, memungkinkan manajemen terpusat dan pembaruan konfigurasi yang lebih mudah di beberapa instance.

Gunakan langkah-langkah berikut untuk menyimpan file konfigurasi CloudWatch agen yang direkomendasikan sebagai parameter di Parameter Store.

**Untuk membuat file konfigurasi CloudWatch agen sebagai parameter**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Verifikasi bahwa Wilayah yang dipilih di konsol adalah Wilayah tempat NGINX berjalan.

1. Dari panel navigasi, pilih **Manajemen Aplikasi**, **Parameter Store**

1. Ikuti langkah-langkah ini untuk membuat parameter baru untuk konfigurasi.

   1. Pilih **Buat parameter**.

   1. Di kotak **Nama**, masukkan nama yang akan Anda gunakan untuk mereferensikan file konfigurasi CloudWatch agen di langkah selanjutnya. Misalnya, ** AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration**.

   1. (Opsional) Dalam **Deskripsi** kotak, ketikkan deskripsi untuk parameter.

   1. Untuk **tingkat Parameter**, pilih **Standar**.

   1. Untuk **Type**, pilih **String**.

   1. Untuk **tipe Data**, pilih **teks**.

   1. Di kotak **Nilai**, tempel blok JSON yang sesuai yang terdaftar di[Konfigurasi agen untuk host NGINX](#Solution-NGINX-Agent-Config). Pastikan untuk menyesuaikan sesuai kebutuhan. Misalnya, yang relevan`log_group_name`. 

   1. Pilih **Buat parameter**.

**Untuk membuat file konfigurasi Prometheus sebagai parameter**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dari panel navigasi, pilih **Manajemen Aplikasi**, **Parameter Store**

1. Ikuti langkah-langkah ini untuk membuat parameter baru untuk konfigurasi.

   1. Pilih **Buat parameter**.

   1. Di kotak **Nama**, masukkan nama yang akan Anda gunakan untuk mereferensikan file konfigurasi di langkah selanjutnya. Misalnya, ** AmazonCloudWatch-NGINX-Prometheus-Configuration**.

   1. (Opsional) Dalam **Deskripsi** kotak, ketikkan deskripsi untuk parameter.

   1. Untuk **tingkat Parameter**, pilih **Standar**.

   1. Untuk **Type**, pilih **String**.

   1. Untuk **tipe Data**, pilih **teks**.

   1. Di kotak **Nilai**, tempel blok YAMM yang sesuai yang terdaftar di. [Konfigurasi agen untuk host NGINX](#Solution-NGINX-Agent-Config) Pastikan untuk menyesuaikan sesuai kebutuhan. Misalnya, nomor port yang relevan sesuai`targets`.

   1. Pilih **Buat parameter**.

### Langkah 3: Instal CloudWatch agen dan terapkan konfigurasi menggunakan CloudFormation templat
<a name="Solution-NGINX-Agent-Step3"></a>

Anda dapat menggunakan AWS CloudFormation untuk menginstal agen dan mengonfigurasinya untuk menggunakan konfigurasi CloudWatch agen yang Anda buat di langkah sebelumnya.

**Untuk menginstal dan mengkonfigurasi CloudWatch agen untuk solusi ini**

1. Buka wizard CloudFormation **Quick create stack** menggunakan link ini: [ https://console.aws.amazon.com/cloudformation/home? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template-with -prometheus-config-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json).

1. Verifikasi bahwa Wilayah yang dipilih di konsol adalah Wilayah tempat beban kerja NGINX berjalan.

1. Untuk **nama Stack**, masukkan nama untuk mengidentifikasi tumpukan ini, seperti** CWAgentInstallationStack**.

1. Di bagian **Parameter**, tentukan yang berikut ini:

   1. Untuk **CloudWatchAgentConfigSSM**, masukkan nama AWS Systems Manager parameter untuk konfigurasi agen yang Anda buat sebelumnya, seperti** AmazonCloudWatch-NGINX-CloudWatchAgent-Configuration**.

   1. Untuk **PrometheusConfigSSM**, masukkan nama AWS Systems Manager parameter untuk konfigurasi agen yang Anda buat sebelumnya, seperti** AmazonCloudWatch-NGINX-Prometheus-Configuration**.

   1. Untuk memilih instance target, Anda memiliki dua opsi.

      1. Untuk **InstanceIds**, tentukan daftar instance IDs daftar instance yang dibatasi koma IDs di mana Anda ingin menginstal CloudWatch agen dengan konfigurasi ini. Anda dapat membuat daftar satu contoh atau beberapa contoh.

      1. Jika Anda menerapkan pada skala besar, Anda dapat menentukan ** TagKey**dan yang sesuai **TagValue**untuk menargetkan semua instans EC2 dengan tag dan nilai ini. Jika Anda menentukan a ** TagKey**, Anda harus menentukan yang sesuai **TagValue**. (Untuk grup Auto Scaling, tentukan **aws:autoscaling:groupName** **TagKey**dan tentukan nama grup Auto Scaling untuk digunakan ke semua **TagValue**instance dalam grup Auto Scaling.)

1. Tinjau pengaturan, lalu pilih **Buat tumpukan**.

Jika Anda ingin mengedit file templat terlebih dahulu untuk menyesuaikannya, pilih opsi **Unggah file templat** di bawah **Buat Wisaya Tumpukan** untuk mengunggah templat yang diedit. Untuk informasi selengkapnya, lihat [Membuat tumpukan di CloudFormation konsol](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Anda dapat menggunakan tautan berikut untuk mengunduh templat: [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template-with -prometheus-config-1.0.0.json]( https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-with-prometheus-config-1.0.0.json). 

**catatan**  
Setelah langkah ini selesai, parameter Systems Manager ini akan dikaitkan dengan CloudWatch agen yang berjalan dalam instance yang ditargetkan. Ini artinya bahwa:  
Jika parameter Systems Manager dihapus, agen akan berhenti.
Jika parameter Systems Manager diedit, perubahan konfigurasi akan secara otomatis berlaku untuk agen pada frekuensi terjadwal yaitu 30 hari secara default.
Jika Anda ingin segera menerapkan perubahan pada parameter Systems Manager ini, Anda harus menjalankan langkah ini lagi. Untuk informasi selengkapnya tentang asosiasi, lihat [Bekerja dengan asosiasi di Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Langkah 4: Verifikasi pengaturan agen dikonfigurasi dengan benar
<a name="Solution-NGINX-Agent-Step4"></a>

Anda dapat memverifikasi apakah CloudWatch agen diinstal dengan mengikuti langkah-langkah di[Verifikasi bahwa CloudWatch agen sedang berjalan](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running). Jika CloudWatch agen tidak diinstal dan berjalan, pastikan Anda telah mengatur semuanya dengan benar.
+ Pastikan Anda telah melampirkan peran dengan izin yang benar untuk instans EC2 seperti yang dijelaskan dalam. [Langkah 1: Pastikan instans EC2 target memiliki izin IAM yang diperlukan](#Solution-NGINX-Agent-Step1)
+ Pastikan Anda telah mengkonfigurasi JSON dengan benar untuk parameter Systems Manager. Ikuti langkah-langkah di [Memecahkan masalah pemasangan agen dengan CloudWatch CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Jika semuanya diatur dengan benar, maka Anda akan melihat metrik NGINX dipublikasikan. CloudWatch Anda dapat memeriksa CloudWatch konsol untuk memverifikasi bahwa mereka sedang dipublikasikan.

**Untuk memverifikasi bahwa metrik NGINX sedang dipublikasikan ke CloudWatch**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pilih **Metrik**, **Semua Metrik**.

1. Pastikan Anda telah memilih Wilayah tempat Anda menerapkan solusi, dan pilih **Ruang nama khusus**,. **CWAgent**

1. Cari metrik seperti`nginx_http_requests_total`. Jika Anda melihat hasil untuk metrik ini, maka metrik sedang dipublikasikan ke. CloudWatch

## Buat dasbor solusi NGINX
<a name="Solution-NGINX-Dashboard"></a>

Dasbor yang disediakan oleh solusi ini menyajikan metrik beban kerja NGINX dengan menggabungkan dan menyajikan metrik di semua instance. Dasbor menunjukkan rincian kontributor teratas (10 teratas per widget metrik) untuk setiap metrik. Ini membantu Anda mengidentifikasi outlier atau instance dengan cepat yang berkontribusi secara signifikan terhadap metrik yang diamati.

Untuk membuat dasbor, Anda dapat menggunakan opsi berikut:
+ Gunakan CloudWatch konsol untuk membuat dasbor.
+ Gunakan AWS CloudFormation konsol untuk menyebarkan dasbor.
+ Unduh AWS CloudFormation infrastruktur sebagai kode dan integrasikan sebagai bagian dari otomatisasi integrasi berkelanjutan (CI) Anda.

Dengan menggunakan CloudWatch konsol untuk membuat dasbor, Anda dapat melihat pratinjau dasbor sebelum benar-benar membuat dan mengisi daya.

**catatan**  
Dasbor yang dibuat dengan CloudFormation solusi ini menampilkan metrik dari Wilayah tempat solusi diterapkan. Pastikan untuk membuat CloudFormation tumpukan di Wilayah tempat metrik NGINX Anda diterbitkan.  
Jika Anda telah menentukan namespace khusus selain `CWAgent` dalam konfigurasi CloudWatch agen, Anda harus mengubah CloudFormation template untuk dasbor untuk diganti `CWAgent` dengan namespace khusus yang Anda gunakan.

**Untuk membuat dasbor melalui CloudWatch Konsol**

1. Buka **Dasbor Buat CloudWatch ** Konsol menggunakan tautan ini: [ https://console.aws.amazon.com/cloudwatch/beranda? \$1dashboards? DashboardTemplate= 2&referrer=os-catalog NginxOnEc](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=NginxOnEc2&referrer=os-catalog). 

1. Verifikasi bahwa Wilayah yang dipilih di konsol adalah Wilayah tempat beban kerja NGINX berjalan.

1. Masukkan nama dasbor, lalu pilih **Create Dashboard**.

   Untuk membedakan dasbor ini dengan mudah dari dasbor serupa di Wilayah lain, sebaiknya sertakan nama Wilayah di nama dasbor, seperti. **NGINXDashboard-us-east-1**

1. Pratinjau dasbor dan pilih **Simpan** untuk membuat dasbor.

**Untuk membuat dasbor melalui CloudFormation**

1. Buka wizard CloudFormation **Quick create stack** menggunakan link ini: [ https://console.aws.amazon.com/cloudformation/home? \$1/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX\$1EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json).

1. Verifikasi bahwa Wilayah yang dipilih di konsol adalah Wilayah tempat beban kerja NGINX berjalan.

1. Untuk **nama Stack**, masukkan nama untuk mengidentifikasi tumpukan ini, seperti** NGINXDashboardStack**.

1. Di bagian **Parameter**, tentukan nama dasbor di bawah **DashboardName**parameter.

1. Untuk membedakan dasbor ini dengan mudah dari dasbor serupa di Wilayah lain, sebaiknya sertakan nama Wilayah di nama dasbor, seperti. ** NGINXDashboard-us-east-1**

1. Akui kemampuan akses untuk transformasi di bawah **Kemampuan dan** transformasi. Perhatikan bahwa CloudFormation tidak menambahkan sumber daya IAM apa pun.

1. Tinjau pengaturan, lalu pilih **Buat tumpukan**.

1. Setelah status tumpukan **CREATE\$1COMPLETE**, pilih tab **Resources** di bawah tumpukan yang dibuat dan kemudian pilih tautan di bawah **Physical ID** untuk pergi ke dasbor. Anda juga dapat mengakses dasbor di CloudWatch konsol dengan memilih **Dasbor** di panel navigasi kiri konsol, dan menemukan nama dasbor di bawah Dasbor **Kustom**.

Jika Anda ingin mengedit file templat terlebih dahulu untuk menyesuaikannya, pilih opsi **Unggah file templat** di bawah **Buat Wisaya Tumpukan** untuk mengunggah templat yang diedit. Untuk informasi selengkapnya, lihat [Membuat tumpukan di CloudFormation konsol](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). Anda dapat menggunakan tautan berikut untuk mengunduh templat: [https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX\$1EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json]( https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NGINX_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

### Memulai dengan dasbor NGINX
<a name="Solution-NGINX-Dashboard-GetStarted"></a>

Berikut adalah beberapa tugas yang dapat Anda coba dengan dasbor NGINX baru. Tugas-tugas ini memungkinkan Anda untuk memvalidasi bahwa dasbor berfungsi dengan benar dan memberi Anda pengalaman langsung menggunakannya untuk memantau beban kerja NGINX. Saat Anda mencobanya, Anda akan terbiasa dengan menavigasi dasbor dan menafsirkan metrik yang divisualisasikan.

 **Tinjau metrik koneksi** 

Di bagian **Koneksi**, Anda dapat menemukan beberapa metrik utama yang memberikan wawasan tentang penanganan koneksi klien server NGINX Anda. Memantau metrik koneksi ini dapat membantu Anda mengidentifikasi potensi kemacetan, masalah koneksi, atau pola koneksi yang tidak terduga.
+ Koneksi klien yang diterima
+ Koneksi klien aktif
+ Koneksi klien yang ditangani
+ Koneksi membaca permintaan
+ Koneksi klien menganggur
+ Koneksi menulis tanggapan

 **Menganalisis volume permintaan HTTP** 

`request`Metrik di bagian **Permintaan HTTP** menunjukkan jumlah total permintaan HTTP yang ditangani oleh server NGINX. Melacak metrik ini dari waktu ke waktu dapat membantu Anda memahami beban lalu lintas keseluruhan pada infrastruktur NGINX Anda dan merencanakan alokasi dan penskalaan sumber daya yang sesuai.