Raccogli le metriche AWS CloudWatch utilizzando l'esportatore Prometheus CloudWatch

Questo documento descrive come utilizzare l'esportatore open source Prometheus CloudWatch e l'Ops Agent in esecuzione su un'istanza di Compute Engine per raccogliere le metriche AWS CloudWatch e archiviarle in un progetto Google Cloud. Questo documento è destinato ai seguenti segmenti di pubblico:

  • Sviluppatori e amministratori di sistema che devono raccogliere le metriche AWS CloudWatch. Questo documento descrive come configurare l'esportatore Prometheus CloudWatch per raccogliere le metriche AWS CloudWatch.
  • Utenti delle metriche AWS CloudWatch con progetti del connettore AWS che stanno eseguendo la migrazione all'esportatore Prometheus CloudWatch. Questo documento include anche informazioni sulla migrazione dalla raccolta delle metriche legacy di AWS CloudWatch nei progetti per connettori.

Con Cloud Monitoring, puoi visualizzare le metriche AWS nello stesso contesto delle metriche Google Cloud. Ad esempio, puoi creare una dashboard con grafici che mostrano l'utilizzo della CPU per le istanze Amazon EC2 e per Compute Engine. Puoi anche creare criteri di avviso per monitorare le metriche AWS. Per ulteriori informazioni, consulta le seguenti sezioni:

Prima di iniziare

Per raccogliere le metriche AWS CloudWatch utilizzando l'esportatore Prometheus CloudWatch, è necessario quanto segue:

  • Un progetto Google Cloud che disponga delle autorizzazioni necessarie per:
    • Crea una VM
    • Scrivi i log in Cloud Logging
    • Scrivi metriche in Cloud Monitoring
  • Un account AWS con credenziali AWS che possono essere utilizzate dall'esportatore di Prometheus per recuperare le metriche. Per ulteriori informazioni, consulta Eseguire l'esportazione di Prometheus.

Crea una VM di Compute Engine

Ti consigliamo di creare una VM Linux Compute Engine da utilizzare specificamente per l'esecuzione di Ops Agent e l'utilità di esportazione Prometheus CloudWatch. Questa VM funge da sito di raccolta per tutte le metriche AWS.

  1. Per creare una VM Debian Linux denominata aws-exporter-test in una zona da te specificata, esegui questo comando:

    gcloud compute instances create \
      --image-project debian-cloud \
      --image-family debian-11 \
      --zone ZONE \
      aws-exporter-test
    

    Configura il comando come segue:

    • Sostituisci ZONE con la zona per la tua nuova VM
    • Facoltativo. Sostituisci aws-exporter-test con un nome diverso per la VM.

    Per ulteriori informazioni su questo comando, consulta la documentazione di riferimento di gcloud compute instances create.

  2. Per accedere alla VM in modo da poter installare l'esportatore Prometheus CloudWatch e l'Ops Agent, puoi utilizzare il comando seguente:

    gcloud compute ssh --zone ZONE  --project PROJECT_ID  aws-exporter-test
    

    Configura il comando come segue:

    • Sostituisci ZONE con la zona in cui hai creato la VM.
    • Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud
    • Sostituisci aws-exporter-test se hai creato la VM con un nome diverso

    Per ulteriori informazioni su questo comando, consulta la documentazione di riferimento di gcloud compute ssh.

Configurazione dell'esportatore Prometheus CloudWatch

Le seguenti sezioni descrivono la procedura per scaricare, installare e configurare l'utilità di esportazione Prometheus CloudWatch sulla VM Compute Engine.

Scarica l'esportatore Prometheus e il file JRE

Per eseguire l'esportazione Prometheus CloudWatch, devi scaricare l'utilità di esportazione e il Java Runtime Environment (JRE), versione 11 o successiva.

  1. Per scaricare il file JAR contenente l'esportatore Prometheus CloudWatch, esegui questo comando sull'istanza di Compute Engine:

    curl -sSO https://github.com/prometheus/cloudwatch_exporter/releases/download/v0.15.1/cloudwatch_exporter-0.15.1-jar-with-dependencies.jar
    
  2. Per installare JRE, puoi utilizzare un comando come questo:

    sudo apt install default-jre
    

Configurare l'esportatore Prometheus

Per configurare l'esportatore Prometheus CloudWatch, crea un file di configurazione per il servizio o i servizi AWS da cui vuoi raccogliere le metriche. Per informazioni generali, consulta la documentazione sulla configurazione dell'esportatore CloudWatch Prometheus.

  • Migrazione degli utenti: se stai eseguendo la migrazione delle metriche AWS CloudWatch esistenti all'esportatore Prometheus CloudWatch, puoi utilizzare i file di configurazione descritti nelle configurazioni dell'utilità di esportazione di Prometheus CloudWatch per la migrazione. Questi file di configurazione sono progettati per replicare il più possibile le metriche esistenti, ma non raccolgono tutte le metriche disponibili utilizzando l'esportatore Prometheus CloudWatch per i servizi AWS.

  • Nuovi utenti: se non stai eseguendo la migrazione delle metriche esistenti, ti consigliamo di non utilizzare le configurazioni di migrazione. Consulta la documentazione del servizio AWS CloudWatch per informazioni su come definire le configurazioni di esportazione per altri servizi. Puoi anche trovare altri esempi nel repository di GitHub dell'utilità di esportazione di Prometheus CloudWatch.

È possibile combinare la configurazione per più servizi AWS in un unico file di configurazione. Gli esempi in questo documento presuppongono che il file di configurazione sia denominato config.yml.

Esegui l'esportazione di Prometheus

Prima di poter eseguire l'esportatore Prometheus CloudWatch, devi fornire all'esportatore credenziali e autorizzazione. L'esportatore Prometheus CloudWatch utilizza l'SDK Java di AWS, che offre modi per fornire le credenziali utilizzando le seguenti variabili di ambiente:

Per ulteriori informazioni su come fornire le credenziali all'SDK, consulta AWS SDK for Java 2.x.

Devi inoltre disporre dell'autorizzazione per utilizzare l'API CloudWatch per recuperare le metriche. Devi inoltre disporre delle seguenti autorizzazioni di AWS IAM:

  • cloudwatch:ListMetrics
  • cloudwatch:GetMetricStatistics
  • cloudwatch:GetMetricData

Per utilizzare la funzionalità aws_tag_select è necessaria anche l'autorizzazione tag:GetResources AWS IAM.

Per ulteriori informazioni sull'autorizzazione dell'accesso ai servizi AWS, consulta AWS Identity and Access Management.

Per eseguire l'esportazione di Prometheus CloudWatch, segui questi passaggi:

  1. Per fornire le credenziali per l'esportatore, imposta le variabili di ambiente della chiave di accesso:

    export AWS_ACCESS_KEY=YOUR_ACCESS_KEY
    export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
    export AWS_SESSION_TOKEN=YOUR_SESSION_TOKEN
    

    Sostituisci le variabili YOUR_KEY con le tue chiavi di accesso. Devi impostare la variabile di ambiente AWS_SESSION_TOKEN solo se utilizzi credenziali temporanee.

  2. Per testare la configurazione, avvia l'utilità di esportazione e carica il file di configurazione, esegui questo comando:

    java -jar cloudwatch_exporter-0.15.1-jar-with-dependencies.jar 9106 config.yml
    

    Modifica i valori della porta (9106) e del file di configurazione (config.yml), se necessario.

    Se modifichi il file config.yml mentre l'utilità di esportazione è in esecuzione, puoi ricaricarlo eseguendo questo comando:

    curl -X POST localhost:9106/-/reload
    

    Per l'utilizzo in un ambiente di produzione, puoi configurare l'esportazione in modo che venga riavviata al riavvio della VM. Ad esempio, sui sistemi Debian puoi utilizzare il sistema e il gestore di servizi systemd.

Configura Ops Agent

Le seguenti sezioni descrivono come installare, configurare e avviare Ops Agent. Queste sezioni forniscono informazioni minime sulla configurazione di Ops Agent da utilizzare con l'esportatore Prometheus CloudWatch. Per ulteriori informazioni su questi argomenti, consulta la panoramica di Ops Agent.

Installazione dell'agente operativo

Per installare Ops Agent, utilizza i comandi seguenti per scaricare ed eseguire lo script di installazione dell'agente:

curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

Configurazione dell'agente operativo

Per configurare Ops Agent, aggiungi elementi di configurazione al file di configurazione utente dell'agente. Su Linux, il file di configurazione utente è /etc/google-cloud-ops-agent/config.yaml.

Quando configuri Ops Agent per raccogliere le metriche AWS dall'esportatore Prometheus CloudWatch, utilizza il ricevitore Prometheus dell'agente. Questo documento descrive due configurazioni di base per Ops Agent. Seleziona una delle configurazioni e aggiungila al file di configurazione utente:

sudo vim /etc/google-cloud-ops-agent/config.yaml

Configurazione di base per Ops Agent

La seguente configurazione fornisce una configurazione minima per l'Ops Agent. Questa configurazione svolge le seguenti operazioni:

  • Crea un ricevitore denominato aws di tipo prometheus. Il destinatario è configurato per eseguire lo scraping delle metriche dal job aws_exporter. La porta specificata deve corrispondere alla porta su cui l'esportatore Prometheus CloudWatch sta esportando le metriche. Consulta Eseguire l'esportazione Prometheus.

  • Crea una pipeline denominata aws_pipeline che utilizza il ricevitore di metriche aws.

metrics:
  receivers:
    aws:
      type: prometheus
      config:
        scrape_configs:
          - job_name: 'aws_exporter'
            scrape_interval: 10s
            static_configs:
              - targets: ['localhost:9106']
  service:
    pipelines:
      aws_pipeline:
        receivers:
          - aws

Configurazione che ignora le metriche JVM

La configurazione seguente svolge le stesse operazioni della configurazione di base, ma aggiunge anche una configurazione di rietichettatura che elimina le metriche JVM generate dall'esportatore. L'eliminazione di queste metriche riduce i dati delle metriche importati, ma potrebbe rendere più difficile il debug dei problemi con l'esportatore, in quanto non ottieni le metriche dell'esportatore stesso:

metrics:
  receivers:
    aws:
      type: prometheus
      config:
        scrape_configs:
          - job_name: 'aws_exporter'
            scrape_interval: 10s
            static_configs:
              - targets: ['localhost:9106']
            # Drop the exporter's own JVM metrics to reduce noise.
            metric_relabel_configs:
              - source_labels: [ __name__ ]
                regex: 'jvm_.*'
                action: drop
  service:
    pipelines:
      aws_pipeline:
        receivers:
          - aws

Puoi creare configurazioni molto più complesse per Ops Agent.

Riavvia Ops Agent

Per applicare modifiche alla configurazione a Ops Agent, devi riavviare l'agente.

  1. Per riavviare l'agente, esegui questo comando sull'istanza:
    sudo service google-cloud-ops-agent restart
    
  2. Per confermare che l'agente è stato riavviato, esegui il comando seguente e verifica che i componenti "Metrics Agent" e "Logging Agent" siano stati avviati:
    sudo systemctl status google-cloud-ops-agent"*"
    

Visualizza metriche in Cloud Monitoring

In Cloud Monitoring, puoi eseguire query sulle metriche AWS CloudWatch e creare grafici come fai per qualsiasi altra metrica. Dall'interfaccia Metrics Explorer, puoi utilizzare PromQL, Monitoring Query Language (MQL) o un'interfaccia dello strumento di creazione di query. Per ulteriori informazioni, consulta Creare grafici con Metrics Explorer.

Se hai creato grafici che vuoi conservare, puoi salvarli nelle dashboard personalizzate. Per ulteriori informazioni, consulta la panoramica delle dashboard.

Il seguente grafico mostra una query PromQL per la metrica aws_ec2_cpuutilization_sum per le VM AWS:

Il grafico mostra il risultato del recupero della statistica aws_ec2_cpuutilization_sum per le VM AWS mediante PromQL.

Puoi eseguire query su qualsiasi metrica in Cloud Monitoring utilizzando PromQL. Per informazioni, consulta Mappatura delle metriche di Cloud Monitoring a PromQL.

Puoi eseguire query sulle metriche di Prometheus utilizzando PromQL o strumenti di Cloud Monitoring come Monitoring Query Language (MQL). Quando le metriche di Prometheus vengono importate in Cloud Monitoring, ogni metrica viene trasformata utilizzando la trasformazione OpenTelemetry-to-Prometheus standard e mappata al tipo di risorsa Monitoring prometheus_target di Cloud Monitoring. La trasformazione include le seguenti modifiche:

  • Il nome della metrica è preceduto dal prefisso prometheus.googleapis.com/.
  • Tutti i caratteri non alfanumerici, come i punti (.), nel nome della metrica vengono sostituiti da trattini bassi (_).
  • Il nome della metrica è postfissato con una stringa che indica il tipo di metrica, ad esempio /gauge o /counter.

Per eseguire query sulla metrica aws_ec2_cpuutilization_sum di Prometheus utilizzando MQL, fai riferimento alla metrica come prometheus.googleapis.com/aws_ec2_cpuutilization_sum/gauge e specifica il tipo di risorsa monitorata prometheus_target:

fetch prometheus_target :: 'prometheus.googleapis.com/aws_ec2_cpuutilization_sum/gauge'

Il seguente grafico mostra il risultato della query MQL per la metrica aws_ec2_cpuutilization_sum di Prometheus:

Il grafico mostra il risultato del recupero della statistica aws_ec2_cpuutilization_sum per le VM AWS mediante MQL.

Avviso sul comportamento delle metriche

In Cloud Monitoring, puoi creare [criteri di avviso][alert-intro] per monitorare le metriche AWS CloudWatch e notificare picchi, cali o tendenze nei valori delle metriche.

Monitora più regioni

La configurazione dell'esportatore Prometheus CloudWatch supporta l'utilizzo di una sola regione per file di configurazione. Se devi monitorare più regioni, ti consigliamo di eseguire più istanze dell'esportatore Prometheus, una configurata per ogni regione da monitorare. Puoi eseguire più esportatori su una singola VM o distribuirli tra le VM. In questa situazione potrebbe essere utile l'esportatore di Prometheus Immagini Docker.

Puoi configurare Ops Agent in esecuzione sulla VM di Compute Engine per eseguire lo scraping di più endpoint Prometheus. Quando configuri più istanze dell'esportatore Prometheus, ti consigliamo di utilizzare un nome job diverso per la configurazione dello scrape, in modo da poter distinguere le istanze dell'esportatore se hai bisogno di risolvere i problemi.

Per informazioni sulla configurazione di Ops Agent e del ricevitore Prometheus, consulta Configurare Ops Agent.

Costo

Amazon addebita un costo per ogni richiesta dell'API CloudWatch o per ogni metrica CloudWatch richiesta; per i prezzi attuali, consulta i prezzi di Amazon CloudWatch. L'esportatore Prometheus CloudWatch ha le seguenti caratteristiche delle query, che possono influire sui costi di Amazon:

  • Quando utilizzi il metodo GetMetricStatistics (predefinito), ogni metrica richiede una richiesta API. Ogni richiesta può includere più statistiche.
  • Quando utilizzi aws_dimensions, l'esportatore deve eseguire richieste API per determinare quali metriche richiedere. Il numero di richieste di dimensioni è generalmente trascurabile rispetto al numero di richieste di metriche.

Cloud Monitoring addebita le metriche AWS CloudWatch dall'esportatore di Prometheus in base al numero di campioni importati. Per i prezzi attuali, consulta il riepilogo dei prezzi di Monitoring.

Guida alla migrazione

Questa sezione fornisce informazioni aggiuntive per i clienti che eseguono la migrazione dalle metriche legacy AWS CloudWatch con i progetti del connettore AWS alla soluzione di esportazione di Prometheus CloudWatch.

Se non stai eseguendo la migrazione all'esportatore Prometheus CloudWatch dalla soluzione legacy, puoi saltare questa sezione.

Mappatura delle metriche legacy AWS CloudWatch alle metriche dell'esportatore Prometheus CloudWatch

Questa sezione descrive come le metriche legacy di AWS CloudWatch vengono mappate alle metriche raccolte dall'esportatore Prometheus CloudWatch, utilizzando la metrica AWS CloudWatch CPUUtilization come esempio.

La metrica CPUUtilization misura la percentuale di tempo di CPU fisica che Amazon EC2 utilizza per eseguire l'istanza, inclusi il tempo di esecuzione del codice utente e il codice Amazon EC2. In generale, il valore della metrica è la somma dell'utilizzo della CPU ospite e dell'utilizzo della CPU dell'hypervisor.

La soluzione legacy segnala questi dati a Cloud Monitoring utilizzando le seguenti metriche:

Le metriche per valori come "media" e "massimo" rappresentano le statistiche di CloudWatch significative per la metrica, ciascuna riporta un'aggregazione diversa della metrica CPUUtilization di AWS. Queste metriche vengono scritte in base al tipo di risorsa monitorata aws_ec2_instance e il valore dell'etichetta della risorsa instance_id corrisponde all'identificatore dell'istanza Amazon EC2 che scrive la metrica.

Quando utilizzi l'esportatore Prometheus CloudWatch e Ops Agent, le metriche vengono segnalate come segue:

  • aws_ec2_cpuutilization_average
  • aws_ec2_cpuutilization_maximum
  • aws_ec2_cpuutilization_minimum
  • aws_ec2_cpuutilization_samplecount
  • aws_ec2_cpuutilization_sum

Queste metriche corrispondono alle metriche aws.googleapis.com/EC2/CPUUtilization/Statistic raccolte dalla soluzione legacy. Queste metriche sono scritte in base al tipo di risorsa monitorata prometheus-target.

I valori delle etichette nella risorsa prometheus-target riflettono la VM di Compute Engine su cui è in esecuzione l'esportatore Prometheus CloudWatch, non quelli dell'istanza Amazon EC2. I valori delle etichette sulla metrica sono impostati dall'esportatore Prometheus. Le metriche aws_ec2_cpuutilization_statistic conservano l'ID istanza dell'istanza Amazon EC2 nell'etichetta della metrica instance_id. Il seguente screenshot mostra una query PromQL che mostra su grafico la metrica aws_ec2_cpuutilization_sum; la tabella mostra i valori delle etichette selezionate:

La tabella mostra il valore dell'etichetta "intance_id" per una metrica EC2.

Se utilizzi una delle configurazioni dell'esportatore Prometheus CloudWatch per la migrazione, ma vuoi raccogliere ulteriori dimensioni o statistiche per le metriche, puoi modificare la configurazione. Per ulteriori informazioni, consulta la documentazione sulla configurazione dell'esportatore CloudWatch Prometheus.

Ricrea le dashboard e i criteri di avviso

Le dashboard e i criteri di avviso esistenti che utilizzano le metriche AWS CloudWatch legacy non funzioneranno per le metriche importate utilizzando l'esportatore Prometheus CloudWatch. Questa è una modifica che provoca un errore.

Per ottenere la stessa osservabilità nei tuoi sistemi AWS, devi ricreare le dashboard e i criteri di avviso per utilizzare le metriche raccolte dall'esportatore di Prometheus.

Perdita di metadati

Oltre a raccogliere le metriche di AWS CloudWatch, la soluzione legacy ha raccolto anche metadati dall'agente Monitoring legacy e dall'agente Logging legacy in esecuzione su istanze Amazon Elastic Compute Cloud (Amazon EC2). I metadati della risorsa venivano uniti alle metriche in Cloud Monitoring e comparivano come etichette di metadati del sistema o dell'utente come Nome istanza, Zona di disponibilità, Tipo di macchina e altre.

L'esportatore Prometheus CloudWatch potrebbe non raccogliere gli stessi metadati. Se utilizzi uno degli agenti legacy sulle istanze VM Amazon EC2, le seguenti sezioni descrivono come utilizzare l'esportatore Prometheus per raccogliere i metadati mancanti e unirli alle metriche raccolte dall'esportatore Prometheus:

Dopo il 21 agosto 2024, quando il ritiro della soluzione legacy AWS CloudWatch è stato completato, queste etichette dei metadati non saranno più disponibili. Le etichette delle metriche e delle risorse aws_ec2_instance non sono interessate.

Per gli utenti dell'agente Monitoring legacy su istanze Amazon EC2

Se utilizzi i metadati AWS nei grafici e nelle query e vuoi mantenerli, puoi raccoglierli utilizzando l'esportatore Prometheus CloudWatch. Crea una VM di Compute Engine e configura l'esportazione Prometheus CloudWatch e l'Ops Agent come descritto in questo documento. Utilizza il file di configurazione ec2.yml durante la configurazione dell'utilità di esportazione Prometheus CloudWatch,

Il file di configurazione di ec2.yml utilizza la funzionalità aws_tag_select. Quando la funzionalità aws_tag_select viene utilizzata nella configurazione, l'esportatore Prometheus CloudWatch esporta una metrica denominata aws_resource_info. La metrica aws_resource_info segnala una serie temporale con i metadati della risorsa AWS nelle etichette della metrica. Questi metadati includono tutti i tag di istanza Amazon EC2, incluso il nome dell'istanza, nell'etichetta tag_Name.

Se vuoi raccogliere altri metadati, puoi aggiungerli utilizzando tag di istanza sull'istanza Amazon EC2. Consulta Aggiungere o rimuovere tag di istanza EC2. La metrica aws_resource_info riportata dall'esportatore Prometheus include i metadati aggiuntivi.

Puoi quindi unire le etichette dei metadati della metrica aws_resource_info con le metriche automatiche dell'agente Monitoring legacy o con qualsiasi metrica Amazon EC2 utilizzando MQL per PromQL.

Join MQL

Ad esempio, la seguente query MQL unisce la metrica self-service dell'agente agent.googleapis.com/agent/uptime, scritta nel tipo di risorsa aws_ec2_instance, con la metrica dell'esportatore Prometheus CloudWatch aws_resource_info, scritta in base al tipo di risorsa prometheus-target:

{
    aws_ec2_instance :: 'agent.googleapis.com/agent/uptime'
    | align next_older()
    | group_by [instance_id: resource.instance_id, resource.project_id, resource.region, resource.aws_account, metric.version]
    ;
    prometheus_target :: 'prometheus.googleapis.com/aws_resource_info/gauge'
    | align next_older()
    | group_by [instance_id: metric.instance_id, resource.project_id, aws_account: re_extract(metric.arn, "arn:aws:ec2:[^:]+:([^:]+):instance/.*"), region: concatenate("aws:", re_extract(metric.arn, "arn:aws:ec2:([^:]+):[^:]+:instance/.*")), name: metric.tag_Name]
}
| join
| val(0)

Le due metriche sono unite sull'etichetta instance_id, quindi il nome della VM (il valore dell'etichetta metric.tag_Name nella metrica aws_resource_info) può essere aggiunto al risultato del join. La metrica autonoma dell'agente uptime include l'etichetta della risorsa region; il join con l'etichetta region funziona perché AWS non specifica se gli ID istanza devono essere univoci a livello regionale o globale.

Per ulteriori informazioni su MQL, consulta la panoramica su Monitoring Query Language.

Join PromQL

L'esempio seguente mostra una query PromQL che unisce la metrica aws_ec2_cpuutilization_average dell'esportatore CloudWatch di Prometheus L'esempio seguente mostra una query PromQL che unisce la metrica aws_ec2_cpuutilization_average dell'esportatore Prometheus CloudWatch con la metrica di metadati aws_resource_info. Le metriche sono unite sull'etichetta instance_id per aggiungere il nome della VM, dall'etichetta tag_Name della metrica dei metadati al risultato della query.

  aws_ec2_cpuutilization_average
* on(instance_id) group_left(tag_Name)
  aws_resource_info

Per gli utenti dell'agente Logging legacy su istanze Amazon EC2

L'agente Logging legacy google-fluentd segnala i propri metadati direttamente a Cloud Logging. Di conseguenza, il ritiro della soluzione per le metriche AWS CloudWatch mediante l'agente Monitoring legacy non ha alcun effetto sui log raccolti dall'agente Logging.

L'agente Logging legacy, tuttavia, segnala alcune metriche su se stesso. Se vuoi aggiungere metadati a queste autometriche, puoi creare una VM di Compute Engine e configurare l'esportazione Prometheus CloudWatch e l'Ops Agent come descritto in questo documento. Utilizza il file di configurazione ec2.yml durante la configurazione dell'utilità di esportazione Prometheus CloudWatch,

Potrebbe essere necessario anche modificare la configurazione dell'agente Logging legacy. Il plug-in di output per l'agente Logging legacy supporta l'opzione use_aws_availability_zone per AWS. Questa opzione deve essere impostata su false in modo che l'agente scriva l'etichetta region anziché l'etichetta availability_zone. Per informazioni sulla posizione del file di configurazione del plug-in, consulta Configurazione del plug-in di output fluentd di Google Cloud.

Il file di configurazione di ec2.yml utilizza la funzionalità aws_tag_select. Quando la funzionalità aws_tag_select viene utilizzata nella configurazione, l'esportatore Prometheus CloudWatch esporta una metrica denominata aws_resource_info. La metrica aws_resource_info segnala una serie temporale con i metadati della risorsa AWS nelle etichette della metrica. Questi metadati includono tutti i tag di istanza Amazon EC2, incluso il nome dell'istanza, nell'etichetta tag_Name.

Se vuoi raccogliere altri metadati, puoi aggiungerli utilizzando tag di istanza sull'istanza Amazon EC2. Consulta Aggiungere o rimuovere tag di istanza EC2. La metrica aws_resource_info riportata dall'esportatore Prometheus include i metadati aggiuntivi.

Puoi quindi unire le etichette dei metadati della metrica aws_resource_info alle metriche automatiche dell'agente Logging legacy utilizzando MQL. Ad esempio, la seguente query MQL unisce la metrica self-service dell'agente agent.googleapis.com/agent/uptime, scritta nel tipo di risorsa aws_ec2_instance, con la metrica dell'esportatore Prometheus CloudWatch aws_resource_info, scritta in base al tipo di risorsa prometheus-target:

{
    aws_ec2_instance :: 'agent.googleapis.com/agent/uptime'
    | align next_older()
    | group_by [instance_id: resource.instance_id, resource.project_id, resource.region, resource.aws_account, metric.version]
    ;
    prometheus_target :: 'prometheus.googleapis.com/aws_resource_info/gauge'
    | align next_older()
    | group_by [instance_id: metric.instance_id, resource.project_id, aws_account: re_extract(metric.arn, "arn:aws:ec2:[^:]+:([^:]+):instance/.*"), region: concatenate("aws:", re_extract(metric.arn, "arn:aws:ec2:([^:]+):[^:]+:instance/.*")), name: metric.tag_Name]
}
| join
| val(0)

Le due metriche sono unite sull'etichetta instance_id, quindi il nome della VM (il valore dell'etichetta metric.tag_Name nella metrica aws_resource_info) può essere aggiunto al risultato del join. La metrica autonoma dell'agente uptime include l'etichetta della risorsa region; il join con l'etichetta region funziona perché AWS non specifica se gli ID istanza devono essere univoci a livello regionale o globale.

Per ulteriori informazioni su MQL, consulta la panoramica su Monitoring Query Language.

Disattiva le metriche precedenti nel tuo account AWS

Quando hai creato il progetto del connettore AWS nel progetto Google Cloud, hai creato un ruolo AWS IAM che ha concesso a Google Cloud l'accesso di sola lettura al tuo account AWS. Per disattivare le metriche legacy di AWS CloudWatch nella console AWS, rimuovi questo ruolo. Per ulteriori informazioni, consulta Eliminazione di un ruolo IAM (console).

Configurazioni dell'esportatore Prometheus CloudWatch per la migrazione

Questa sezione fornisce configurazioni che replicano, nel modo più preciso possibile, le metriche del servizio AWS documentate nell'elenco delle metriche AWS. Questi file di configurazione sono destinati all'utilizzo da parte dei clienti che stanno eseguendo la migrazione all'esportatore Prometheus CloudWatch dalla soluzione legacy. Se stai configurando l'esportatore Prometheus CloudWatch come nuovo utente anziché come utente sottoposto a migrazione e utilizzi queste configurazioni, non stai raccogliendo tutte le metriche AWS rese disponibili dall'esportatore di Prometheus CloudWatch.

Per visualizzare un file di configurazione di esempio per le metriche di AWS CloudWatch, espandi una delle sezioni seguenti.