Menggunakan pipeline OpenSearch Ingestion dengan Amazon Managed Service untuk Prometheus - OpenSearch Layanan Amazon

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

Menggunakan pipeline OpenSearch Ingestion dengan Amazon Managed Service untuk Prometheus

Anda dapat menggunakan Amazon Managed Service for Prometheus sebagai tujuan pipeline Ingestion untuk OpenSearch menyimpan metrik dalam format deret waktu. Wastafel Prometheus memungkinkan Anda OpenTelemetry mengirim metrik atau data deret waktu lainnya dari pipeline ke ruang kerja Layanan Terkelola Amazon untuk Prometheus untuk pemantauan, peringatan, dan analisis.

Plugin prometheus sink memungkinkan pipeline OpenSearch Ingestion untuk menulis data metrik ke Amazon Managed Service untuk ruang kerja Prometheus menggunakan protokol penulisan jarak jauh Prometheus. Integrasi ini memungkinkan Anda untuk:

  • Simpan data metrik deret waktu di Amazon Managed Service untuk Prometheus

  • Pantau dan beri tahu metrik menggunakan Layanan Terkelola Amazon untuk Prometheus dan Grafana Terkelola Amazon

  • Rutekan metrik ke beberapa tujuan secara bersamaan (misalnya, OpenSearch dan Layanan Terkelola Amazon untuk Prometheus)

  • Memproses OpenTelemetry metrik dari agen eksternal atau menghasilkan metrik dalam pipeline

Prasyarat

Sebelum Anda mengkonfigurasi wastafel Prometheus, pastikan Anda memiliki yang berikut:

  • Amazon Managed Service untuk ruang kerja Prometheus: Buat ruang kerja yang sama dan sebagai pipeline Ingestion Anda. Akun AWS Wilayah AWS OpenSearch Untuk petunjuknya, lihat Membuat ruang kerja di Amazon Managed Service for Prometheus User Guide.

  • Izin IAM: Konfigurasikan peran IAM dengan izin untuk menulis ke Amazon Managed Service untuk Prometheus. Untuk informasi selengkapnya, lihat Langkah 1: Konfigurasikan peran pipeline.

catatan

Layanan Terkelola Amazon untuk ruang kerja Prometheus harus menggunakan kunci yang dikelola layanan. AWS AWS KMS AWS KMS Kunci yang dikelola pelanggan saat ini tidak didukung untuk Layanan Terkelola Amazon untuk sink Prometheus di pipeline Ingestion. OpenSearch

Langkah 1: Konfigurasikan peran pipeline

Sink Prometheus secara otomatis mewarisi izin IAM peran pipeline untuk otentikasi, jadi tidak ada konfigurasi peran tambahan (seperti) yang diperlukan dalam pengaturan wastafel. sts_role_arn

Kebijakan contoh berikut menunjukkan izin yang diperlukan untuk menggunakan Layanan Terkelola Amazon untuk Prometheus sebagai wastafel:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AMPRemoteWrite", "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": "arn:aws:aps:region:account-id:workspace/workspace-id" } ] }

Ganti placeholder berikut:

  • region: Anda Wilayah AWS (misalnya,us-east-1)

  • account-id: Akun AWS ID Anda

  • workspace-id: Layanan Terkelola Amazon Anda untuk ID ruang kerja Prometheus

Anda harus melampirkan izin ini ke peran pipeline Anda.

Pastikan peran pipeline Anda memiliki hubungan kepercayaan yang memungkinkan OpenSearch Ingestion untuk menganggapnya:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "osis-pipelines.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Langkah 2: Buat pipa

Setelah menyiapkan izin, Anda dapat mengonfigurasi pipeline OpenSearch Ingestion untuk menggunakan Amazon Managed Service untuk Prometheus sebagai wastafel.

Konfigurasi dasar

Contoh berikut menunjukkan konfigurasi wastafel Prometheus minimal:

version: "2" sink: - prometheus: url: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write" aws: region: "region"

Anda harus menentukan url opsi dalam konfigurasi prometheus wastafel, yang merupakan Layanan Terkelola Amazon untuk titik akhir penulisan jarak jauh Prometheus. Untuk memformat URL, cari ID ruang kerja Anda di Amazon Managed Service for Prometheus console dan buat URL sebagai berikut: https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write

Opsi konfigurasi

Gunakan opsi berikut untuk mengonfigurasi perilaku batching dan flushing untuk sink Prometheus:

Opsi konfigurasi wastafel Prometheus
Opsi Diperlukan Tipe Deskripsi
max_events Tidak Bilangan Bulat Jumlah maksimum peristiwa yang terakumulasi sebelum disiram ke Prometheus. Default-nya adalah 1000.
max_request_size Tidak Hitungan Byte Ukuran maksimum payload permintaan sebelum pembilasan. Default-nya adalah 1mb.
flush_interval Tidak Durasi Jumlah maksimum waktu untuk menunggu sebelum acara pembilasan. Default-nya adalah 10s. Nilai maksimum yang diizinkan adalah60s.

Contoh pipa

Contoh 1: OpenTelemetry metrik ke Amazon Managed Service untuk Prometheus

Pipeline ini menerima OpenTelemetry metrik dari agen eksternal dan menuliskannya ke Amazon Managed Service untuk Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Contoh 2: Wastafel ganda - OpenSearch dan Layanan Dikelola Amazon untuk Prometheus

Pipeline ini merutekan metrik ke keduanya OpenSearch dan Layanan Terkelola Amazon untuk Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - opensearch: hosts: - "https://search-domain-endpoint.us-east-1.es.amazonaws.com" index: "metrics-%{yyyy.MM.dd}" aws: region: "us-east-1" sts_role_arn: "arn:aws:iam::123456789012:role/OSI-Pipeline-Role" - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Contoh 3: Metrik dengan penyaringan

Pipeline ini memfilter metrik sebelum mengirim ke Amazon Managed Service untuk Prometheus:

version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel processor: - drop_events: drop_when: '/name != "http.server.duration" and /name != "http.client.duration"' sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Anda dapat menggunakan cetak biru Layanan Terkelola Amazon untuk Prometheus yang telah dikonfigurasi sebelumnya untuk membuat pipeline ini. Untuk informasi selengkapnya, lihat Bekerja dengan cetak biru.

Membuat pipeline dengan Amazon Managed Service untuk wastafel Prometheus

Menggunakan AWS Konsol

  1. Arahkan ke konsol OpenSearch Layanan.

  2. Pilih Pipa di bawah Tertelan.

  3. Pilih Buat pipeline.

  4. Pilih Bangun menggunakan cetak biru dan pilih OpenTelemetry metrik untuk cetak biru Amazon Prometheus.

  5. Konfigurasikan pipa:

    • Masukkan Layanan Terkelola Amazon untuk ID ruang kerja Prometheus

    • Tentukan peran pipa ARN

    • Konfigurasikan pengaturan sumber dan prosesor sesuai kebutuhan

  6. Tinjau dan buat pipa.

Menggunakan AWS CLI

Buat file konfigurasi pipeline (misalnya,amp-pipeline.yaml) dengan konfigurasi yang Anda inginkan, lalu jalankan:

aws osis create-pipeline \ --pipeline-name my-amp-pipeline \ --min-units 2 \ --max-units 4 \ --pipeline-configuration-body file://amp-pipeline.yaml

Menggunakan AWS CloudFormation

Resources: MyAMPPipeline: Type: AWS::OSIS::Pipeline Properties: PipelineName: my-amp-pipeline MinUnits: 2 MaxUnits: 4 PipelineConfigurationBody: | version: "2" source: otel_metrics_source: path: "/v1/metrics" output_format: otel sink: - prometheus: url: "https://aps-workspaces.us-east-1.amazonaws.com/workspaces/ws-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111/api/v1/remote_write" aws: region: "us-east-1"

Pemantauan dan pemecahan masalah

CloudWatch metrik

Pantau performa pipeline Anda menggunakan CloudWatch metrik:

  • DocumentsWritten: Jumlah metrik yang berhasil ditulis ke Amazon Managed Service untuk Prometheus

  • DocumentsWriteFailed: Jumlah metrik yang gagal ditulis

  • RequestLatency: Latensi permintaan tulis jarak jauh

Masalah umum

Masalah: Pipeline gagal menulis ke Amazon Managed Service untuk Prometheus

Solusi:

  • Verifikasi ID ruang kerja dan wilayah di URL sudah benar

  • Pastikan peran pipa memiliki aps:RemoteWrite izin

  • Periksa apakah ruang kerja menggunakan kunci yang dikelola layanan AWS KMS

  • Verifikasi pipa dan ruang kerja berada di tempat yang sama Akun AWS

Masalah: Kesalahan otentikasi

Solusi:

  • Verifikasi hubungan kepercayaan memungkinkan osis-pipelines.amazonaws.com untuk mengambil peran pipeline

  • Pastikan peran pipa memiliki aps:RemoteWrite izin yang diperlukan

Masalah: Latensi tinggi atau pelambatan

Solusi:

  • Meningkatkan unit kapasitas pipa

  • Menerapkan batching di prosesor

  • Tinjau Layanan Terkelola Amazon untuk kuota layanan Prometheus

Batasan

Pertimbangkan batasan berikut saat Anda menyiapkan saluran OpenSearch Ingestion untuk Layanan Terkelola Amazon untuk Prometheus:

  • Layanan Terkelola Amazon untuk ruang kerja Prometheus harus menggunakan kunci yang dikelola layanan. AWS AWS KMS AWS KMS Kunci yang dikelola pelanggan saat ini tidak didukung.

  • Pipeline dan Layanan Terkelola Amazon untuk ruang kerja Prometheus harus sama. Akun AWS

Praktik terbaik

  • Gunakan peran IAM yang sama: Wastafel Prometheus secara otomatis menggunakan peran pipa. Jika sink lain digunakan, pastikan sts_role_arn sama dengan peran pipa

  • Monitor metrik: Siapkan CloudWatch alarm untuk penulisan yang gagal dan latensi tinggi

  • Terapkan pemfilteran: Gunakan prosesor untuk memfilter metrik yang tidak perlu sebelum mengirim ke Amazon Managed Service untuk Prometheus

  • Kapasitas ukuran kanan: Mulai dengan kapasitas minimum dan skala berdasarkan volume metrik

  • Gunakan cetak biru: Manfaatkan cetak biru yang telah dikonfigurasi sebelumnya untuk kasus penggunaan umum