View a markdown version of this page

Mengatur penyerapan dari server Prometheus yang ada di Kubernetes di EC2 - Amazon Managed Service for Prometheus

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

Mengatur penyerapan dari server Prometheus yang ada di Kubernetes di EC2

Amazon Managed Service for Prometheus mendukung pengambilan metrik dari server Prometheus di cluster yang menjalankan Amazon EKS dan di cluster Kubernetes yang dikelola sendiri yang berjalan di Amazon EC2. Instruksi terperinci di bagian ini adalah untuk server Prometheus di cluster Amazon EKS. Langkah-langkah untuk cluster Kubernetes yang dikelola sendiri di Amazon EC2 adalah sama, kecuali bahwa Anda harus menyiapkan sendiri penyedia OIDC dan peran IAM untuk akun layanan di cluster Kubernetes.

Instruksi di bagian ini menggunakan Helm sebagai manajer paket Kubernetes.

Langkah 1: Siapkan peran IAM untuk akun layanan

Untuk metode onboarding yang kami dokumentasikan, Anda perlu menggunakan peran IAM untuk akun layanan di cluster Amazon EKS tempat server Prometheus berjalan. Peran-peran ini juga disebut peran layanan.

Dengan peran layanan, Anda dapat mengaitkan peran IAM dengan akun layanan Kubernetes. Akun layanan ini kemudian dapat memberikan AWS izin ke kontainer di pod apa pun yang menggunakan akun layanan tersebut. Untuk informasi selengkapnya, lihat peran IAM untuk akun layanan.

Jika Anda belum mengatur peran ini, ikuti petunjuk di Menyiapkan peran layanan untuk menelan metrik dari kluster Amazon EKS untuk mengatur peran.

Langkah 2: Tingkatkan server Prometheus Anda yang ada menggunakan Helm

Petunjuk di bagian ini termasuk menyiapkan penulisan jarak jauh dan sigv4 untuk mengotentikasi dan mengotorisasi server Prometheus untuk menulis jarak jauh ke ruang kerja Amazon Managed Service untuk Prometheus Anda.

Menggunakan Prometheus versi 2.26.0 atau yang lebih baru

Ikuti langkah-langkah ini jika Anda menggunakan bagan Helm dengan gambar Server Prometheus versi 2.26.0 atau yang lebih baru.

Untuk mengatur penulisan jarak jauh dari server Prometheus menggunakan bagan Helm
  1. Buat bagian penulisan jarak jauh baru di file konfigurasi Helm Anda:

    • Ganti ${IAM_PROXY_PROMETHEUS_ROLE_ARN} dengan ARN dari amp-iamproxy- ingest-role yang Anda buat. Langkah 1: Siapkan peran IAM untuk akun layanan Peran ARN harus memiliki formatarn:aws:iam::your account ID:role/amp-iamproxy-ingest-role.

    • Ganti ${WORKSPACE_ID} dengan ID ruang kerja Amazon Managed Service untuk Prometheus Anda.

    • Ganti ${REGION} dengan Wilayah Layanan Terkelola Amazon untuk ruang kerja Prometheus (seperti). us-west-2

    ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml ## serviceAccounts: server: name: amp-iamproxy-ingest-service-account annotations: eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN} server: remoteWrite: - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write sigv4: region: ${REGION} queue_config: max_samples_per_send: 1000 max_shards: 200 capacity: 2500
  2. Perbarui konfigurasi Server Prometheus Anda yang ada menggunakan Helm:

    • Ganti prometheus-chart-name dengan nama rilis Prometheus Anda.

    • Ganti prometheus-namespace dengan namespace Kubernetes tempat Server Prometheus Anda diinstal.

    • Ganti my_prometheus_values_yaml dengan path ke file konfigurasi Helm Anda.

    • Ganti current_helm_chart_version dengan versi grafik Helm Server Prometheus Anda saat ini. Anda dapat menemukan versi bagan saat ini dengan menggunakan perintah helm list.

    helm upgrade prometheus-chart-name prometheus-community/prometheus \ -n prometheus-namespace \ -f my_prometheus_values_yaml \ --version current_helm_chart_version

Menggunakan versi Prometheus sebelumnya

Ikuti langkah-langkah ini jika Anda menggunakan versi Prometheus lebih awal dari 2.26.0. Langkah-langkah ini menggunakan pendekatan sidecar, karena versi Prometheus sebelumnya tidak secara native mendukung proses penandatanganan AWS Signature Version 4 (SIGv4).AWS

Instruksi ini mengasumsikan bahwa Anda menggunakan Helm untuk menyebarkan Prometheus.

Untuk mengatur penulisan jarak jauh dari server Prometheus
  1. Di server Prometheus Anda, buat konfigurasi penulisan jarak jauh baru. Pertama, buat file pembaruan baru. Kami akan memanggil fileamp_ingest_override_values.yaml.

    Tambahkan nilai-nilai berikut ke file YAML.

    serviceAccounts: server: name: "amp-iamproxy-ingest-service-account" annotations: eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}" server: sidecarContainers: - name: aws-sigv4-proxy-sidecar image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0 args: - --name - aps - --region - ${REGION} - --host - aps-workspaces.${REGION}.amazonaws.com - --port - :8005 ports: - name: aws-sigv4-proxy containerPort: 8005 statefulSet: enabled: "true" remoteWrite: - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write

    Ganti ${REGION} dengan Wilayah Layanan Terkelola Amazon untuk ruang kerja Prometheus.

    Ganti ${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN} dengan ARN dari amp-iamproxy- ingest-role yang Anda buat. Langkah 1: Siapkan peran IAM untuk akun layanan Peran ARN harus memiliki formatarn:aws:iam::your account ID:role/amp-iamproxy-ingest-role.

    Ganti ${WORKSPACE_ID} dengan ID ruang kerja Anda.

  2. Tingkatkan bagan Prometheus Helm Anda. Pertama, temukan nama bagan Helm Anda dengan memasukkan perintah berikut. Dalam output dari perintah ini, cari bagan dengan nama yang menyertakanprometheus.

    helm ls --all-namespaces

    Masukkan perintah berikut ini.

    helm upgrade --install prometheus-helm-chart-name prometheus-community/prometheus -n prometheus-namespace -f ./amp_ingest_override_values.yaml

    Ganti prometheus-helm-chart-name dengan nama bagan helm Prometheus yang dikembalikan pada perintah sebelumnya. Ganti prometheus-namespace dengan nama namespace Anda.

Mengunduh grafik Helm

Jika Anda belum mengunduh grafik Helm secara lokal, Anda dapat menggunakan perintah berikut untuk mengunduhnya.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm pull prometheus-community/prometheus --untar