View a markdown version of this page

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

Interrogazione ProMQL

Quando si inseriscono le OpenTelemetry metriche CloudWatch tramite ilEndpoint delle metriche, il modello di dati OTLP gerarchico viene appiattito in etichette. PromQL-compatible Questa sezione descrive la struttura delle etichette, la sintassi ProMQL per interrogare queste etichette e il supporto in ProMQL. UTF-8

Nota

ProMQL in Prometheus 3 supporta caratteri completi UTF-8 nei nomi delle metriche e nei nomi delle etichette. Ciò è particolarmente importante per le metriche OTLP, poiché le convenzioni OpenTelemetry semantiche utilizzano punti nei nomi degli attributi come. service.name In precedenza, questi punti venivano sostituiti con caratteri di sottolineatura durante la traduzione, causando discrepanze tra ciò che era definito nelle convenzioni Otel e ciò che era interrogabile in Prometheus.

Quando si utilizza ProMQL in, la convenzione dei prefissi distingue dalle etichette Prometheus standard CloudWatch. @ OTLP-scoped I campi all'interno di ogni ambito utilizzano un @ prefisso doppio (ad esempio,@resource.@schema_url), mentre gli attributi utilizzano un prefisso a ambito singolo, ad esempio. @ @resource.service.name Gli attributi Datapoint supportano anche l'accesso semplice (senza prefisso) per la compatibilità con le versioni precedenti con le query ProMQL standard, ad esempio, e sono equivalenti. {"http.server.active_requests"} {"@datapoint.@name"="http.server.active_requests"}

Un'espressione ProMQL è racchiusa tra parentesi graffe e specifica il nome della metrica e un set opzionale di abbinatori di etichette. L'esempio seguente seleziona tutte le serie temporali per la metrica: http.server.active_requests

{"http.server.active_requests"}

L'esempio seguente seleziona tutte le serie temporali per la metrica in http.server.active_requests cui l'attributo della risorsa è uguale: OpenTelemetry service.name myservice

{"http.server.active_requests", "@resource.service.name"="myservice"}

È possibile combinare più abbinatori di etichette in una singola query. L'esempio seguente seleziona tutte le serie temporali per la http.server.active_requests metrica in cui l'attributo della OpenTelemetry risorsa è service.name uguale in tutte le myservice regioni degli Stati Uniti:

{"http.server.active_requests", "@resource.service.name"="myservice", "@aws.region"=~"us-.*"}

L'esempio seguente mostra una query sull'intervallo. Calcola il valore medio di tutti i datapoint all'interno di un intervallo di tempo specificato per ogni serie temporale:

avg_over_time( {"http.server.active_requests", "@resource.service.name"="myservice"}[5m] )

La tabella seguente riassume le convenzioni relative ai prefissi per ogni ambito OTLP:

Ambito OTLP Prefisso dei campi Prefisso degli attributi Esempio

Risorsa

@resource.@

@resource.

@resource.service.name="myservice"

Ambito della strumentazione

@instrumentation.@

@instrumentation.

@instrumentation.@name="otel-go/metrics"

Punto dati

@datapoint.@

@datapoint.o nudo

cpu="cpu0" o @datapoint.cpu="cpu0"

AWS-riservato

N/A

@aws.

@aws.account_id="123456789"

Interrogazione venduta AWS metriche con ProMQL

Per poter interrogare le AWS metriche vended in ProMQL, devi prima abilitare l'arricchimento Otel delle metriche vended. Consulta AWS metriche vendute in formato OpenTelemetry.

Dopo aver abilitato l'arricchimento Otel, le AWS metriche vended diventano interrogabili tramite ProMQL con etichette aggiuntive. Il nome della metrica è lo stesso del nome della CloudWatch metrica originale e le dimensioni originali sono disponibili come attributi datapoint. CloudWatch Sono disponibili le seguenti etichette (l'esempio seguente è per un'istanza EC2):

Etichetta ProMQL Description Esempio

InstanceId

CloudWatch Dimensione originale, come attributo datapoint

i-0123456789abcdef0

"@resource.cloud.resource_id"

ARN completo della risorsa

arn:aws:ec2:us-east-1:123456789012:instance/i-0123456789abcdef0

"@resource.cloud.provider"

Fornitore di servizi cloud

aws

"@resource.cloud.region"

AWS Regione in cui ha avuto origine questa metrica

us-east-1

"@resource.cloud.account.id"

AWS ID dell'account da cui ha avuto origine questa metrica

123456789012

"@instrumentation.@name"

Nome dell'ambito della strumentazione che identifica il servizio di origine

cloudwatch.aws/ec2

"@instrumentation.cloudwatch.source"

Identificatore del servizio di origine

aws.ec2

"@instrumentation.cloudwatch.solution"

Identificatore della soluzione di arricchimento

CloudWatchOTelEnrichment

"@aws.tag.Environment"

AWS tag di risorsa

production

"@aws.account"

AWS account in cui è stata inserita questa metrica (etichetta di sistema)

123456789012

"@aws.region"

AWS Regione in cui è stata inserita questa metrica (etichetta di sistema)

us-east-1

L'esempio seguente seleziona una funzione Invocations Lambda specifica:

{Invocations, FunctionName="my-api-handler"}

L'esempio seguente seleziona Lambda Errors per tutte le funzioni contrassegnate con un team specifico:

{Errors, "@instrumentation.@name"="cloudwatch.aws/lambda", "@aws.tag.Team"="backend"}

L'esempio seguente calcola il totale dei Lambda Invocations raggruppati per team:

sum by ("@aws.tag.Team")( {Invocations, "@instrumentation.@name"="cloudwatch.aws/lambda"} )

L'esempio seguente seleziona tutte le serie temporali per la metrica EC2. CPUUtilization L'utilizzo di "@instrumentation.@name"="cloudwatch.aws/ec2" serve a far corrispondere esclusivamente l'utilizzo della CPU da EC2 e non da altri AWS servizi come Amazon Relational Database Service:

histogram_avg({CPUUtilization, "@instrumentation.@name"="cloudwatch.aws/ec2"})

Interrogazione da Grafana

Puoi interrogare i dati CloudWatch ProMQL da Grafana aggiungendo il plug-in di origine dati Amazon Managed Service for Prometheus e indirizzandolo all'endpoint di monitoraggio. CloudWatch La firma Sigv4 è integrata nel plug-in ed è sempre abilitata, quindi non è necessario attivarla. Il plugin è pubblicato su grafana. com/grafana/plugins/grafana-amazonprometheus-datasource/; installalo dal catalogo dei plugin di Grafana prima di aggiungere l'origine dati. Il plug-in AMP v3.0.0 richiede >=11.6.11 <12 || >=12.0.10 <12.1 || >=12.1.7 <12.2 || >=12.2.5 Grafana.

Prerequisiti IAM: il responsabile IAM le cui credenziali vengono utilizzate da Grafana deve possedere entrambe le credenziali cloudwatch:GetMetricData (necessarie per le query istantanee e a intervalli) e cloudwatch:ListMetrics (necessarie per l'individuazione di serie ed etichette). Per informazioni dettagliate, vedi Autorizzazioni IAM per ProMQL.

Per configurare Grafana, completa i seguenti passaggi.

  1. Installa il plug-in di origine dati Amazon Managed Service for Prometheus dal catalogo dei plug-in Grafana.

  2. In Grafana, vai su Connessioni, Origini dati , scegli Aggiungi origine dati e seleziona Amazon Managed Service for Prometheus.

  3. Imposta l'URL dell'origine dati su. https://monitoring.AWS Region.amazonaws.com

  4. Imposta la regione sulla tua AWS regione. Scegli un provider di autenticazione appropriato per il tuo ambiente (catena di credenziali predefinita, chiavi di accesso o ruolo IAM nell'area di lavoro).

  5. Scegli Salva e prova.

Interrogazione da Amazon Managed Grafana

Puoi interrogare i dati CloudWatch ProMQL da uno spazio di lavoro Amazon Managed Grafana aggiungendo un'origine dati Amazon Managed Service for Prometheus che punti all'endpoint di monitoraggio. CloudWatch Questo plug-in di origine dati firma automaticamente le richieste con Sigv4 utilizzando il ruolo IAM dello spazio di lavoro; Sigv4 è sempre abilitato, senza alcun interruttore per la configurazione. Il plug-in è disponibile in Amazon Managed Grafana versione 12 e successive. Per ulteriori informazioni, consulta Connect to an Amazon Managed Service for Prometheus data source nella Amazon Managed Grafana User Guide.

Prerequisiti IAM: il ruolo IAM dello spazio di lavoro Amazon Managed Grafana deve avere entrambi cloudwatch:GetMetricData (richiesto per le query istantanee e a intervalli) e (obbligatorio per l'individuazione di serie ed etichettecloudwatch:ListMetrics). Per informazioni dettagliate, vedi Autorizzazioni IAM per ProMQL.

Per configurare l'origine dati, completa i seguenti passaggi.

  1. Nel tuo spazio di lavoro Amazon Managed Grafana, aggiungi un'origine dati Amazon Managed Service for Prometheus.

  2. Imposta l'URL dell'origine dati su. https://monitoring.AWS Region.amazonaws.com

  3. Imposta la regione sulla tua AWS regione. Amazon Managed Grafana inserisce automaticamente le credenziali dal ruolo IAM dello spazio di lavoro; non è necessario configurare chiavi statiche.

  4. Scegli Salva e prova.

Interrogazione con strumenti MCP

Il server CloudWatch MCP fornisce strumenti Model Context Protocol (MCP) che consentono agli assistenti AI e agli strumenti di sviluppo di interrogare i dati CloudWatch ProMQL per tuo conto. Gli strumenti MCP gestiscono automaticamente l'autenticazione e la formattazione delle richieste, quindi puoi concentrarti sulla scrittura di query ProMQL anziché sulla gestione delle richieste HTTP e della firma Sigv4.

I seguenti strumenti ProMQL sono disponibili nel server MCP: CloudWatch

Strumento Description

execute_promql_query

Esegue una query ProMQL istantanea, restituendo i valori delle metriche in un unico momento.

execute_promql_range_query

Esegue una query sull'intervallo ProMQL in una finestra temporale, restituendo i dati delle serie temporali per l'analisi e la rappresentazione grafica delle tendenze.

get_promql_label_values

Recupera i valori per un'etichetta ProMQL specifica, ad esempio per i nomi delle metriche o __name__ per i servizi. @resource.service.name

get_promql_series

Trova le serie temporali che corrispondono ai selettori di etichette ProMQL e restituisce il set completo di etichette di ciascuna serie corrispondente.

get_promql_labels

Elenca tutti i nomi delle etichette ProMQL disponibili per aiutarti a scoprire la struttura delle etichette delle tue metriche.

Per i dettagli completi su parametri, configurazione e istruzioni di configurazione, consulta Tools for CloudWatch PromQL nella documentazione del server CloudWatch MCP.

Interrogazione con l'API HTTP

Puoi anche interrogare i dati CloudWatch ProMQL a livello di codice chiamando direttamente gli Prometheus-compatible endpoint HTTP. Le richieste devono essere firmate con AWS Signature Version 4 utilizzando monitoring come nome del servizio.

L'endpoint ProMQL segue lo schema. https://monitoring.AWS Region.amazonaws.com/api/v1/operation Ad esempio, per la regione Stati Uniti orientali (Virginia settentrionale) (us-east-1), l'endpoint per una query istantanea è. https://monitoring.us-east-1.amazonaws.com/api/v1/query

Per il riferimento completo alle API, incluse le operazioni supportate, i parametri di richiesta e i formati di risposta, consulta. Prometheus-compatible API Per l'elenco delle AWS regioni in cui è disponibile l'interrogazione ProMQL, consulta. Supportata AWS Regioni Per le azioni IAM richieste per ciascuna operazione, consulta. Autorizzazioni IAM per ProMQL