

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

# Mengintegrasikan CloudWatch metrik dengan Amazon Managed Service untuk Prometheus
<a name="integrating-cw-firehose"></a>

Ini dapat membantu untuk memiliki semua metrik Anda di satu tempat. Layanan Terkelola Amazon untuk Prometheus tidak secara otomatis menelan metrik Amazon. CloudWatch Namun, Anda dapat menggunakan Amazon Data Firehose dan AWS Lambda untuk mendorong CloudWatch metrik ke Amazon Managed Service untuk Prometheus.

Bagian ini menjelaskan cara menginstrumentasikan [aliran CloudWatch metrik Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html) dan menggunakan [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) dan [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)untuk memasukkan metrik ke dalam Layanan Terkelola Amazon untuk Prometheus.

Anda akan menyiapkan tumpukan menggunakan [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/) untuk membuat Firehose Delivery Stream, Lambda, dan bucket Amazon S3 untuk mendemonstrasikan skenario lengkap.

## Infrastruktur
<a name="integ-cw-fh-infrastructure"></a>

Hal pertama yang harus Anda lakukan adalah mengatur infrastruktur untuk resep ini. 

CloudWatch [aliran metrik memungkinkan penerusan data metrik streaming ke titik akhir HTTP atau bucket Amazon S3.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

Menyiapkan infrastruktur akan terdiri dari 4 langkah:
+ Mengkonfigurasi prasyarat
+ Membuat Layanan Terkelola Amazon untuk ruang kerja Prometheus
+ Menginstal dependensi
+ Menyebarkan tumpukan

**Prasyarat**
+  AWS CLI Itu [diinstal](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) dan [dikonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) di lingkungan Anda.
+ [AWS CDK TypeScript](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html) diinstal di lingkungan Anda.
+ Node.js dan Go diinstal di lingkungan Anda.
+ [Repositori github eksportir CloudWatch metrik AWS observabilitas (`CWMetricsStreamExporter`) telah dikloning](https://github.com/aws-observability/observability-best-practices/tree/main/sandbox/CWMetricStreamExporter) ke mesin lokal Anda.

**Untuk membuat Amazon Managed Service untuk ruang kerja Prometheus**

1. Aplikasi demo dalam resep ini akan berjalan di atas Amazon Managed Service untuk Prometheus. Buat Amazon Managed Service untuk Prometheus Workspace melalui perintah berikut:

   ```
   aws amp create-workspace --alias prometheus-demo-recipe
   ```

1. Pastikan ruang kerja Anda telah dibuat dengan perintah berikut:

   ```
   aws amp list-workspaces
   ```

   Untuk informasi selengkapnya tentang Layanan Terkelola Amazon untuk Prometheus, [lihat Panduan Pengguna Layanan Terkelola Amazon](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-getting-started.html) untuk Prometheus.

**Untuk menginstal dependensi**

1. **Instal dependensi**

   Dari root `aws-o11y-recipes` repositori, ubah direktori Anda untuk `CWMetricStreamExporter` menggunakan perintah:

   ```
   cd sandbox/CWMetricStreamExporter
   ```

   Ini sekarang akan dianggap sebagai akar repo, ke depan.

1. Ubah direktori ke `/cdk` melalui perintah berikut:

   ```
   cd cdk
   ```

1. Instal dependensi CDK melalui perintah berikut:

   ```
   npm install
   ```

1. Ubah direktori kembali ke root repo, dan kemudian ubah direktori untuk `/lambda` menggunakan perintah berikut:

   ```
   cd lambda
   ```

1. Setelah berada di `/lambda` folder, instal dependensi Go menggunakan:

   ```
   go get
   ```

   Semua dependensi sekarang diinstal.

**Untuk menyebarkan tumpukan**

1. Di root repo, buka `config.yaml` dan ubah URL Layanan Terkelola Amazon untuk ruang kerja Prometheus dengan mengganti `{workspace}` dengan id ruang kerja yang baru dibuat, dan wilayah tempat Anda berada Layanan Terkelola Amazon untuk ruang kerja Prometheus.

   Misalnya, ubah yang berikut ini dengan:

   ```
   AMP: 
       remote_write_url: "https://aps-workspaces.us-east-2.amazonaws.com/workspaces/{workspaceId}/api/v1/remote_write" 
       region: us-east-2
   ```

   Ubah nama aliran pengiriman Firehose dan bucket Amazon S3 sesuai keinginan Anda.

1. Untuk membangun kode AWS CDK dan Lambda, di root repo jalankan pujian berikut:

   ```
   npm run build
   ```

   Langkah pembuatan ini memastikan bahwa biner Go Lambda dibangun, dan menyebarkan CDK ke. CloudFormation

1. Untuk menyelesaikan penerapan, tinjau dan terima perubahan IAM yang dibutuhkan tumpukan.

1. (Opsional) Anda bisa sangat jika tumpukan telah dibuat dengan menjalankan perintah berikut.

   ```
   aws cloudformation list-stacks
   ```

   Sebuah tumpukan bernama `CDK Stack` akan ada dalam daftar.

## Membuat CloudWatch aliran Amazon
<a name="integ-cw-fh-stream"></a>

Sekarang setelah Anda memiliki fungsi lambda untuk menangani metrik, Anda dapat membuat aliran metrik dari Amazon. CloudWatch

**Untuk membuat aliran CloudWatch metrik**

1. **Arahkan ke CloudWatch konsol, di [https://console.aws.amazon.com/cloudwatch/rumah \$1metric -streams:streamslist](https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList) dan pilih Buat aliran metrik.**

1. Pilih metrik yang diperlukan, baik semua metrik, atau hanya dari ruang nama yang dipilih.

1. Di bawah`Configuration`, pilih **Pilih Firehose yang sudah ada yang dimiliki oleh akun Anda**.

1. Anda akan menggunakan Firehose yang dibuat sebelumnya oleh CDK. Di menu drop-down **Select your Kinesis data Firehose stream**, pilih stream yang dibuat sebelumnya. Itu akan memiliki nama seperti`CdkStack-KinesisFirehoseStream123456AB-sample1234`.

1. Ubah format output ke **JSON**.

1. Beri nama aliran metrik yang berarti bagi Anda.

1. Pilih **Buat stream metrik**.

1. (Opsional) Untuk memverifikasi pemanggilan fungsi Lambda, navigasikan ke konsol [Lambda](https://console.aws.amazon.com/lambda/home) dan pilih fungsinya. `KinesisMessageHandler` Pilih tab **Monitor** dan subtab **Log**, dan di bawah **Pemanggilan Terbaru** harus ada entri fungsi Lambda yang dipicu.
**catatan**  
Mungkin diperlukan waktu hingga 5 menit sebelum pemanggilan mulai ditampilkan di tab **Monitor**.

Metrik Anda sekarang sedang dialirkan dari Amazon ke CloudWatch Amazon Managed Service untuk Prometheus.

## Pembersihan
<a name="integ-cw-fh-cleanup"></a>

Anda mungkin ingin membersihkan sumber daya yang digunakan dalam contoh ini. Prosedur berikut menjelaskan cara melakukannya. Ini akan menghentikan aliran metrik yang Anda buat.

**Untuk membersihkan sumber daya**

1. Mulailah dengan menghapus CloudFormation tumpukan dengan perintah berikut:

   ```
   cd cdk
   cdk destroy
   ```

1. Hapus Layanan Terkelola Amazon untuk ruang kerja Prometheus:

   ```
   aws amp delete-workspace --workspace-id \
       `aws amp list-workspaces --alias prometheus-sample-app --query 'workspaces[0].workspaceId' --output text`
   ```

1. Terakhir, hapus aliran CloudWatch metrik Amazon menggunakan [ CloudWatch konsol Amazon](https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList).