Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon e Kubernetes EKS - Amazon CloudWatch

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à.

Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon e Kubernetes EKS

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon o Kubernetes. EKS Dopo aver eseguito questa operazione, l'agente esegue automaticamente lo scraping e l'importazione dei parametri per i seguenti carichi di lavoro in esecuzione in quel cluster.

  • AWS App Mesh

  • NGINX

  • Memcached

  • Java/ JMX

  • HAProxy

  • Fluent Bit

È inoltre possibile configurare l'agente per recuperare e importare carichi di lavoro e origini Prometheus.

Prima di seguire questi passaggi per installare l' CloudWatch agente per la raccolta di metriche Prometheus, devi avere un cluster in esecuzione su Amazon o un cluster Kubernetes in esecuzione su un'istanza EKS Amazon. EC2

VPCrequisiti del gruppo di sicurezza

Le regole di ingresso dei gruppi di sicurezza per i carichi di lavoro Prometheus devono aprire le porte CloudWatch Prometheus all'agente per lo scraping delle metriche di Prometheus tramite l'IP privato.

Le regole di uscita del gruppo di sicurezza per l' CloudWatch agente devono consentire all'agente di connettersi alla CloudWatch porta dei carichi di lavoro Prometheus tramite IP privato.

Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon e Kubernetes EKS

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon o Kubernetes. EKS Dopo aver eseguito questa operazione, l'agente esegue automaticamente lo scraping e l'importazione dei parametri per i seguenti carichi di lavoro in esecuzione in quel cluster.

  • AWS App Mesh

  • NGINX

  • Memcached

  • Java/ JMX

  • HAProxy

  • Fluent Bit

È inoltre possibile configurare l'agente per recuperare e importare carichi di lavoro e origini Prometheus.

Prima di seguire questi passaggi per installare l' CloudWatch agente per la raccolta di metriche Prometheus, devi avere un cluster in esecuzione su Amazon o un cluster Kubernetes in esecuzione su un'istanza EKS Amazon. EC2

VPCrequisiti del gruppo di sicurezza

Le regole di ingresso dei gruppi di sicurezza per i carichi di lavoro Prometheus devono aprire le porte CloudWatch Prometheus all'agente per lo scraping delle metriche di Prometheus tramite l'IP privato.

Le regole di uscita del gruppo di sicurezza per l' CloudWatch agente devono consentire all'agente di connettersi alla CloudWatch porta dei carichi di lavoro Prometheus tramite IP privato.

Impostazione dei ruoli IAM

Il primo passo consiste nell'impostare il IAM ruolo necessario nel cluster. Esistono due metodi:

  • Imposta un IAM ruolo per un account di servizio, noto anche come ruolo di servizio. Questo metodo funziona sia per il tipo di EC2 lancio che per il tipo di lancio Fargate.

  • Aggiungi una IAM policy al IAM ruolo utilizzato per il cluster. Funziona solo per il tipo di EC2 avvio.

Imposta un ruolo di servizio (tipo di EC2 lancio e tipo di lancio Fargate)

Per impostare un ruolo di servizio, immetti il comando seguente. Replace (Sostituisci) MyCluster con il nome del cluster.

eksctl create iamserviceaccount \ --name cwagent-prometheus \ --namespace amazon-cloudwatch \ --cluster MyCluster \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve \ --override-existing-serviceaccounts

Aggiungi una policy al IAM ruolo del cluster (solo tipo di EC2 avvio)

Per configurare la IAM policy in un cluster per il supporto di Prometheus
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nel pannello di navigazione, seleziona Instances (Istanze).

  3. Devi trovare il prefisso del nome del IAM ruolo per il cluster. A tale scopo, seleziona la casella di controllo accanto al nome di un'istanza presente nel cluster e scegli Azioni, Impostazioni istanza, IAMAllega/Sostituisci ruolo. Quindi copia il prefisso del IAM ruolo, ad esempio. eksctl-dev303-workshop-nodegroup

  4. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  5. Nel riquadro di navigazione, seleziona Ruoli.

  6. Utilizza la casella di ricerca per trovare il prefisso copiato in precedenza in questa procedura e scegli il ruolo desiderato.

  7. Scegli Collega policy.

  8. Usa la casella di ricerca per trovare CloudWatchAgentServerPolicy. Seleziona la casella di controllo accanto a CloudWatchAgentServerPolicye scegli Allega politica.

Installazione dell' CloudWatchagente per raccogliere le metriche di Prometheus

È necessario installare l' CloudWatch agente nel cluster per raccogliere le metriche. La modalità di installazione dell'agente varia per i cluster Amazon e i EKS cluster Kubernetes.

Eliminare le versioni precedenti dell' CloudWatch agente con il supporto Prometheus

Se hai già installato una versione dell' CloudWatch agente con supporto Prometheus nel tuo cluster, devi eliminare quella versione immettendo il seguente comando. Questo è necessario solo per le versioni precedenti dell'agente con supporto di Prometheus. Non è necessario eliminare l' CloudWatch agente che abilita Container Insights senza il supporto di Prometheus.

kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch

Installazione dell' CloudWatch agente su EKS cluster Amazon con il tipo di EC2 avvio

Per installare l' CloudWatch agente con supporto Prometheus su un cluster EKS Amazon, segui questi passaggi.

Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS
  1. Immetti il comando seguente per verificare se lo spazio dei nomi amazon-cloudwatch è già stato creato:

    kubectl get namespace
  2. Se amazon-cloudwatch non viene visualizzato nei risultati, crearlo immettendo il seguente comando:

    kubectl create namespace amazon-cloudwatch
  3. Per distribuire l'agente con la configurazione predefinita e fare in modo che invii i dati alla AWS regione in cui è installato, inserisci il seguente comando:

    kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml

    Per fare in modo che l'agente invii dati a un'area diversa, attenersi alla seguente procedura:

    1. Scarica il YAML file per l'agente inserendo il seguente comando:

      curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
    2. Apri il file con un editor di testo e cercare il blocco cwagentconfig.json del file.

    3. Aggiungere le linee evidenziate, specificando l'area desiderata:

      cwagentconfig.json: | { "agent": { "region": "us-east-2" }, "logs": { ...
    4. Salva il file e implementa l'agente utilizzando il file aggiornato.

      kubectl apply -f prometheus-eks.yaml

Installazione dell' CloudWatch agente su EKS cluster Amazon con il tipo di avvio Fargate

Per installare l' CloudWatch agente con supporto Prometheus su un cluster EKS Amazon con il tipo di avvio Fargate, segui questi passaggi.

Per installare l' CloudWatch agente con supporto Prometheus su un cluster EKS Amazon con il tipo di avvio Fargate
  1. Immettete il seguente comando per creare un profilo Fargate per l' CloudWatch agente in modo che possa essere eseguito all'interno del cluster. Replace (Sostituisci) MyCluster con il nome del cluster.

    eksctl create fargateprofile --cluster MyCluster \ --name amazon-cloudwatch \ --namespace amazon-cloudwatch
  2. Per installare l' CloudWatch agente, immettere il seguente comando. Replace (Sostituisci) MyCluster con il nome del cluster. Questo nome viene utilizzato nel nome del gruppo di log che memorizza gli eventi di log raccolti dall'agente e viene utilizzato anche come dimensione per le metriche raccolte dall'agente.

    Replace (Sostituisci) region con il nome della regione in cui desideri inviare le metriche. Ad esempio us-west-1.

    curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | kubectl apply -f -

Installazione dell' CloudWatch agente su un cluster Kubernetes

Per installare l' CloudWatch agente con supporto Prometheus su un cluster che esegue Kubernetes, inserisci il seguente comando:

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | kubectl apply -f -

Replace (Sostituisci) MyCluster con il nome del cluster. Questo nome viene utilizzato nel nome del gruppo di log che memorizza gli eventi di log raccolti dall'agente e viene utilizzato anche come dimensione per le metriche raccolte dall'agente.

Replace (Sostituisci) region con il nome della AWS regione in cui desideri inviare le metriche. Ad esempio us-west-1.

Verifica dell'esecuzione dell'agente

Su entrambi i cluster Amazon EKS e Kubernetes, puoi inserire il seguente comando per confermare che l'agente è in esecuzione.

kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch

Se i risultati includono un singolo pod di agenti Running nello stato, l' CloudWatch agente sta eseguendo e raccogliendo le metriche di Prometheus. Per impostazione predefinita, l' CloudWatchagente raccoglie le metriche per App Mesh, MemcachedNGINX, JMX Java/ e ogni minuto. HAProxy Per ulteriori informazioni su questi parametri, consulta Metriche di Prometheus raccolte dall'agente CloudWatch . Per istruzioni su come visualizzare le metriche di Prometheus in, consulta CloudWatch Visualizzazione dei parametri Prometheus

Puoi anche configurare l' CloudWatch agente per raccogliere metriche da altri esportatori di Prometheus. Per ulteriori informazioni, consulta Scraping di ulteriori origini Prometheus e importazione di tali parametri.