Siapkan konsumsi dari server Prometheus yang ada di Kubernetes di EC2 - Layanan Terkelola Amazon untuk Prometheus

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

Siapkan konsumsi dari server Prometheus yang ada di Kubernetes di EC2

Layanan Terkelola Amazon untuk 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. Petunjuk terperinci di bagian ini adalah untuk server Prometheus di cluster Amazon EKS. Langkah-langkah untuk klaster Kubernetes yang dikelola sendiri di Amazon EC2 adalah sama, kecuali Anda perlu menyiapkan sendiri peran penyedia OIDC dan IAM untuk akun layanan di klaster Kubernetes.

Instruksi di bagian ini menggunakan Helm sebagai manajer paket Kubernetes.

Langkah 1: Siapkan peran IAM untuk akun layanan

Untuk metode orientasi yang kami dokumentasikan, Anda perlu menggunakan peran IAM untuk akun layanan di cluster Amazon EKS tempat server Prometheus berjalan. 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 mana pun yang menggunakan akun layanan tersebut. Untuk informasi selengkapnya, lihat peran IAM untuk akun layanan.

Jika Anda belum mengatur peran ini, ikuti instruksi 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 mencakup pengaturan penulisan jarak jauh dan sigv4 untuk mengautentikasi dan mengotorisasi server Prometheus untuk menulis jarak jauh ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.

Menggunakan Prometheus versi 2.26.0 atau yang lebih baru

Ikuti langkah-langkah ini jika Anda menggunakan bagan Helm dengan gambar Prometheus Server 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-roleyang Anda buat. Langkah 1: Siapkan peran IAM untuk akun layanan Peran ARN harus memiliki format. arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role

    • Ganti ${WORKSPACE_ID} dengan Layanan Terkelola Amazon Anda untuk ID ruang kerja Prometheus.

    • 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 Prometheus versi sebelumnya

Ikuti langkah-langkah ini jika Anda menggunakan versi Prometheus lebih awal dari 2.26.0. Langkah-langkah ini menggunakan pendekatan sespan, karena versi Prometheus sebelumnya tidak mendukung AWS proses penandatanganan 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 file tersebutamp_ingest_override_values.yaml.

    Tambahkan nilai berikut ke file YAMM.

    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-roleyang Anda buat. Langkah 1: Siapkan peran IAM untuk akun layanan Peran ARN harus memiliki format. arn: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. Pada output dari perintah ini, cari bagan dengan nama yang disertakanprometheus.

    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-namedengan nama bagan helm Prometheus yang dikembalikan pada perintah sebelumnya. Ganti prometheus-namespace dengan nama namespace Anda.

Mengunduh grafik Helm

Jika Anda belum mengunduh bagan 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