Installa l' CloudWatch agente con la raccolta di metriche Prometheus sui cluster Amazon EKS e Kubernetes - 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 EKS e Kubernetes

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon EKS o Kubernetes. 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 EKS o un cluster Kubernetes in esecuzione su un'istanza Amazon EC2.

Requisiti del gruppo di sicurezza VPC

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 EKS e Kubernetes

Questa sezione spiega come configurare l' CloudWatch agente con il monitoraggio Prometheus in un cluster che esegue Amazon EKS o Kubernetes. 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 EKS o un cluster Kubernetes in esecuzione su un'istanza Amazon EC2.

Requisiti del gruppo di sicurezza VPC

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 ruolo IAM necessario nel cluster. Esistono due metodi:

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

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

Impostazione di un ruolo di servizio (tipo di avvio EC2 e tipo di avvio Fargate)

Per impostare un ruolo di servizio, immetti il comando seguente. Sostituisci MyClustercon 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

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

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

  2. Nel riquadro di navigazione, seleziona Istanze.

  3. È necessario trovare il prefisso del nome del ruolo IAM 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, Allega/Sostituisci ruolo IAM. Copia quindi il prefisso del ruolo IAM, ad esempio eksctl-dev303-workshop-nodegroup.

  4. Apri la console IAM 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. L'installazione dell'agente è diversa per cluster Amazon EKS e 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 cluster Amazon EKS con il tipo di avvio EC2

Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS, 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. Scaricare il file YAML per l'agente immettendo 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 cluster Amazon EKS con il tipo di lancio Fargate

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

Per installare l' CloudWatch agente con supporto Prometheus su un cluster Amazon EKS 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. Sostituisci MyClustercon 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. Sostituisci MyClustercon 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.

    Sostituisci region (regione) con il nome dell'area in cui desideri inviare i parametri. 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 -

Sostituisci MyClustercon 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.

Sostituisci la regione con il nome della AWS regione in cui desideri inviare le metriche. Ad esempio, us-west-1.

Verifica dell'esecuzione dell'agente

In entrambi i cluster Amazon EKS e Kubernetes, puoi inserire il comando seguente 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, NGINX, Memcached, Java/JMX e HAProxy ogni minuto. 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 la pagina Scraping di ulteriori origini Prometheus e importazione di tali parametri.