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
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 dan menggunakan Amazon Data Firehose dan AWS Lambdauntuk memasukkan metrik ke dalam Layanan Terkelola Amazon untuk Prometheus.
Anda akan menyiapkan tumpukan menggunakan AWS Cloud Development Kit (CDK)
Infrastruktur
Hal pertama yang harus Anda lakukan adalah mengatur infrastruktur untuk resep ini.
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 dan dikonfigurasi di lingkungan Anda.
-
AWS CDK TypeScript diinstal di lingkungan Anda.
-
Node.js dan Go diinstal di lingkungan Anda.
-
Repositori github eksportir CloudWatch metrik AWS observabilitas (
CWMetricsStreamExporter) telah dikloningke mesin lokal Anda.
Untuk membuat Amazon Managed Service untuk ruang kerja Prometheus
-
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 -
Pastikan ruang kerja Anda telah dibuat dengan perintah berikut:
aws amp list-workspacesUntuk informasi selengkapnya tentang Layanan Terkelola Amazon untuk Prometheus, lihat Panduan Pengguna Layanan Terkelola Amazon untuk Prometheus.
Untuk menginstal dependensi
-
Instal dependensi
Dari root
aws-o11y-recipesrepositori, ubah direktori Anda untukCWMetricStreamExportermenggunakan perintah:cd sandbox/CWMetricStreamExporterIni sekarang akan dianggap sebagai akar repo, ke depan.
-
Ubah direktori ke
/cdkmelalui perintah berikut:cd cdk -
Instal dependensi CDK melalui perintah berikut:
npm install -
Ubah direktori kembali ke root repo, dan kemudian ubah direktori untuk
/lambdamenggunakan perintah berikut:cd lambda -
Setelah berada di
/lambdafolder, instal dependensi Go menggunakan:go getSemua dependensi sekarang diinstal.
Untuk menyebarkan tumpukan
-
Di root repo, buka
config.yamldan 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-2Ubah nama aliran pengiriman Firehose dan bucket Amazon S3 sesuai keinginan Anda.
-
Untuk membangun kode AWS CDK dan Lambda, di root repo jalankan pujian berikut:
npm run buildLangkah pembuatan ini memastikan bahwa biner Go Lambda dibangun, dan menyebarkan CDK ke. CloudFormation
-
Untuk menyelesaikan penerapan, tinjau dan terima perubahan IAM yang dibutuhkan tumpukan.
-
(Opsional) Anda bisa sangat jika tumpukan telah dibuat dengan menjalankan perintah berikut.
aws cloudformation list-stacksSebuah tumpukan bernama
CDK Stackakan ada dalam daftar.
Membuat CloudWatch aliran Amazon
Sekarang setelah Anda memiliki fungsi lambda untuk menangani metrik, Anda dapat membuat aliran metrik dari Amazon. CloudWatch
Untuk membuat aliran CloudWatch metrik
-
Arahkan ke CloudWatch konsol, di https://console.aws.amazon.com/cloudwatch/rumah #metric -streams:streamslist
dan pilih Buat aliran metrik. -
Pilih metrik yang diperlukan, baik semua metrik, atau hanya dari ruang nama yang dipilih.
-
Di bawah
Configuration, pilih Pilih Firehose yang sudah ada yang dimiliki oleh akun Anda. -
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. -
Ubah format output ke JSON.
-
Beri nama aliran metrik yang berarti bagi Anda.
-
Pilih Buat stream metrik.
-
(Opsional) Untuk memverifikasi pemanggilan fungsi Lambda, navigasikan ke konsol Lambda
dan pilih fungsinya. KinesisMessageHandlerPilih 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
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
-
Mulailah dengan menghapus CloudFormation tumpukan dengan perintah berikut:
cd cdk cdk destroy -
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` -
Terakhir, hapus aliran CloudWatch metrik Amazon menggunakan CloudWatch konsol Amazon
.