Configura l'importazione da un server Prometheus esistente in Kubernetes su EC2 - Amazon Managed Service per Prometheus

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configura l'importazione da un server Prometheus esistente in Kubernetes su EC2

Il servizio gestito da Amazon per Prometheus supporta l'importazione di parametri dai server Prometheus in cluster in esecuzione su Amazon EKS e in cluster Kubernetes autogestiti in esecuzione su Amazon EC2. Le istruzioni dettagliate in questa sezione si riferiscono a un server Prometheus in un cluster Amazon EKS. I passaggi per un cluster Kubernetes autogestito su Amazon EC2 sono gli stessi, tranne per il fatto che dovrai configurare tu stesso il provider OIDC e i ruoli IAM per gli account del servizio nel cluster Kubernetes.

Le istruzioni in questa sezione utilizzano Helm come gestore di pacchetti Kubernetes.

Fase 1: configurazione dei ruoli IAM per gli account del servizio.

Per il metodo di onboarding che stiamo documentando, devi utilizzare i ruoli IAM per gli account del servizio nel cluster Amazon EKS in cui è in esecuzione il server Prometheus. Questi ruoli sono denominati ruoli di servizio.

Con i ruoli di servizio, puoi associare un ruolo IAM a un account del servizio Kubernetes. Questo account di servizio può quindi fornire AWS le autorizzazioni ai contenitori in qualsiasi pod che utilizza quell'account di servizio. Per ulteriori informazioni, consulta Ruoli IAM per gli account del servizio.

Se non hai già impostato questi ruoli, segui le istruzioni riportate in Configura i ruoli di servizio per l'acquisizione di metriche dai cluster Amazon EKS. per configurare i ruoli.

Fase 2: aggiornamento del server Prometheus esistente mediante Helm

Le istruzioni in questa sezione includono la configurazione della scrittura remota e di sigv4 per autenticare e autorizzare il server Prometheus alla scrittura remota nell'area di lavoro del servizio gestito da Amazon per Prometheus.

Utilizzo di Prometheus versione 2.26.0 o successiva

Segui questi passaggi se utilizzi un grafico Helm con un'immagine del server Prometheus della versione 2.26.0 o successiva.

Per configurare la scrittura remota da un server Prometheus utilizzando un grafico Helm
  1. Crea una nuova sezione di scrittura remota nel tuo file di configurazione Helm:

    • Sostituisci ${IAM_PROXY_PROMETHEUS_ROLE_ARN} con l'ARN del file in amp-iamproxy-ingest-rolecui hai creato. Fase 1: configurazione dei ruoli IAM per gli account del servizio. Il ruolo ARN dovrebbe avere il formato di arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role.

    • Sostituisci ${WORKSPACE_ID} con la tua area di lavoro del servizio gestito da Amazon per Prometheus.

    • Sostituisci ${REGION} con la regione dell'area di lavoro del servizio gestito da Amazon per Prometheus (come 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. Aggiorna la configurazione esistente del server Prometheus utilizzando Helm:

    • Sostituisci prometheus-chart-name con il nome della versione di Prometheus.

    • Sostituisci prometheus-namespace con il namespace Kubernetes dove è installato il server Prometheus.

    • Sostituisci my_prometheus_values_yaml con il percorso del file di configurazione Helm.

    • Sostituisci current_helm_chart_version con la versione corrente del diagramma Prometheus Server del grafico Helm. Puoi trovare la versione attuale della carta utilizzando il comando helm list.

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

Utilizzo delle versioni precedenti di Prometheus

Segui questi passaggi se utilizzi una versione di Prometheus precedente alla 2.26.0. Questi passaggi utilizzano un approccio secondario, poiché le versioni precedenti di Prometheus non AWS supportano nativamente il processo di firma Signature Version 4 (SigV4).AWS

Queste istruzioni presuppongono che tu stia usando Helm per implementare Prometheus.

Come configurare la scrittura remota da un server Prometheus
  1. Sul server Prometheus, crea una nuova configurazione di scrittura remota. Innanzitutto, crea un nuovo file di aggiornamento. Chiameremo il file amp_ingest_override_values.yaml.

    Modifica il file e aggiungi i valori seguenti.

    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

    Sostituisci ${REGION} con la regione dell'area di lavoro del servizio gestito da Amazon per Prometheus.

    Sostituisci ${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN} con l'ARN del file in amp-iamproxy-ingest-rolecui hai creato. Fase 1: configurazione dei ruoli IAM per gli account del servizio. Il ruolo ARN dovrebbe avere il formato di arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role.

    Sostituisci ${WORKSPACE_ID} con il tuo ID dell'area di lavoro.

  2. Aggiorna il tuo grafico Prometheus del grafico Helm. Innanzitutto, trova il nome del tuo grafico Helm inserendo il seguente comando. Nell'output di questo comando, cerca un grafico con un nome che includa prometheus.

    helm ls --all-namespaces

    Quindi, immetti il comando seguente:

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

    Sostituisci prometheus-helm-chart-namecon il nome della tabella del timone di Prometheus restituita nel comando precedente. Sostituisci prometheus-namespace con il nome del tuo namespace.

Scaricamento dei grafici Helm

Se non hai già scaricato localmente i grafici Helm, puoi utilizzare il comando seguente per scaricarli.

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