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.
Topik
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
-
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 -
-
Perbarui konfigurasi Server Prometheus Anda yang ada menggunakan Helm:
-
Ganti
prometheus-chart-namedengan nama rilis Prometheus Anda. -
Ganti
prometheus-namespacedengan namespace Kubernetes tempat Server Prometheus Anda diinstal. -
Ganti
my_prometheus_values_yamldengan path ke file konfigurasi Helm Anda. -
Ganti
current_helm_chart_versiondengan versi grafik Helm Server Prometheus Anda saat ini. Anda dapat menemukan versi bagan saat ini dengan menggunakan perintahhelm list.
helm upgradeprometheus-chart-nameprometheus-community/prometheus \ -nprometheus-namespace\ -fmy_prometheus_values_yaml\ --versioncurrent_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
-
Di server Prometheus Anda, buat konfigurasi penulisan jarak jauh baru. Pertama, buat file pembaruan baru. Kami akan memanggil file
amp_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_writeGanti
${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-roleGanti
${WORKSPACE_ID}dengan ID ruang kerja Anda. -
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 menyertakan
prometheus.helm ls --all-namespacesMasukkan perintah berikut ini.
helm upgrade --installprometheus-helm-chart-nameprometheus-community/prometheus -nprometheus-namespace-f ./amp_ingest_override_values.yamlGanti
prometheus-helm-chart-namedengan nama bagan helm Prometheus yang dikembalikan pada perintah sebelumnya. Gantiprometheus-namespacedengan 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