

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
<a name="CloudWatch-PromQL-Querying"></a>

Quando si inseriscono le OpenTelemetry metriche CloudWatch tramite il[Endpoint delle metriche](CloudWatch-OTLPEndpoint.md#CloudWatch-MetricsEndpoint), il modello di dati gerarchico OTLP 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 i caratteri UTF-8 completi 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 CloudWatch, la convenzione dei `@` prefissi distingue OTLP-scoped le etichette dalle etichette Prometheus standard. I campi all'interno di ciascun ambito utilizzano un doppio `@` prefisso (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 nudo (senza prefisso) per la retrocompatibilità 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 resource è uguale a: OpenTelemetry `service.name` `myservice`

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

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

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

L'esempio seguente mostra una query con intervallo. Calcola il valore medio di tutti i punti dati 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 di prefisso 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
<a name="CloudWatch-PromQL-Querying-Vended"></a>

Per poter interrogare le AWS metriche vendute in PromQL, devi prima abilitare l'arricchimento Otel delle metriche vendute. Consulta [AWS OpenTelemetry metriche vendute in formato](CloudWatch-OTelEnrichment.md).

Dopo aver abilitato l'arricchimento di Otel, le AWS metriche vendute 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 `Invocations` una funzione Lambda specifica:

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

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

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

L'esempio seguente calcola la `Invocations` Lambda totale raggruppata 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"` deve corrispondere esclusivamente all'utilizzo della CPU di EC2 e non di altri AWS servizi come Amazon Relational Database Service:

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

## Interrogazione da Grafana
<a name="CloudWatch-PromQL-Querying-Grafana"></a>

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 attivare alcun interruttore. [Il plugin è pubblicato su grafana. com/grafana/plugins/grafana-amazonprometheus-datasource/](https://grafana.com/grafana/plugins/grafana-amazonprometheus-datasource/); installalo dal catalogo dei plugin Grafana prima di aggiungere la fonte dati. Il plugin AMP v3.0.0 richiede Grafana. `>=11.6.11 <12 || >=12.0.10 <12.1 || >=12.1.7 <12.2 || >=12.2.5`

**Prerequisiti IAM**: il responsabile IAM le cui credenziali utilizzate da Grafana devono avere sia `cloudwatch:GetMetricData` (richieste per le query istantanee e a intervalli) che `cloudwatch:ListMetrics` (necessarie per l'individuazione di serie ed etichette). Per informazioni dettagliate, vedi [Autorizzazioni IAM per PromQL](CloudWatch-PromQL.md#CloudWatch-PromQL-IAM).

Per configurare Grafana, completa i seguenti passaggi.

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

1. In Grafana, vai a **Connessioni**, **Origini dati**, scegli **Aggiungi origine dati** e seleziona **Amazon Managed Service for Prometheus**.

1. **Imposta l'URL dell'origine dati su.** `https://monitoring.{{AWS Region}}.amazonaws.com`

1. Imposta la **regione** sulla tua AWS regione. Scegli un **provider di autenticazione** adatto al tuo ambiente (catena di credenziali predefinita, chiavi di accesso o ruolo IAM del workspace).

1. Scegli **Salva e prova**.

## Interrogazione da Amazon Managed Grafana
<a name="CloudWatch-PromQL-Querying-AMG"></a>

Puoi interrogare i dati CloudWatch PromQL da un'area di lavoro Amazon Managed Grafana aggiungendo una fonte di 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 del workspace; SigV4 è sempre abilitato, senza alcun interruttore da configurare. Il plug-in è disponibile in Amazon Managed Grafana versione 12 e successive. Per ulteriori informazioni, consulta [Connect a una fonte di dati Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/amazon-prometheus-data-source.html) nella *Amazon* Managed Grafana User Guide.

**Prerequisiti IAM**: il ruolo IAM dell'area di lavoro Amazon Managed Grafana deve avere `cloudwatch:GetMetricData` sia (richiesto per le query istantanee e a intervalli) sia (necessario per l'individuazione di serie `cloudwatch:ListMetrics` ed etichette). Per informazioni dettagliate, vedi [Autorizzazioni IAM per PromQL](CloudWatch-PromQL.md#CloudWatch-PromQL-IAM).

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

1. **Imposta l'URL dell'origine dati su.** `https://monitoring.{{AWS Region}}.amazonaws.com`

1. Imposta la **regione** sulla tua AWS regione. Amazon Managed Grafana inserisce automaticamente le credenziali dal ruolo IAM del workspace; non è necessario configurare chiavi statiche.

1. **Scegli Salva e prova.**

## Interrogazione con strumenti MCP
<a name="CloudWatch-PromQL-Querying-MCP"></a>

Il [server CloudWatch MCP](https://awslabs.github.io/mcp/servers/cloudwatch-mcp-server/) fornisce strumenti Model Context Protocol (MCP) che consentono agli assistenti di intelligenza artificiale e agli strumenti di sviluppo di interrogare i dati CloudWatch ProMQL per conto dell'utente. 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 singolo momento. | 
| `execute_promql_range_query` | Esegue una query con intervallo PromQL in una finestra temporale, restituendo dati di 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 di etichette PromQL disponibili per aiutarti a scoprire la struttura delle etichette delle tue metriche. | 

Per tutti i dettagli sui parametri, la configurazione e le istruzioni di configurazione, consulta [Tools for CloudWatch ProMQL nella documentazione](https://awslabs.github.io/mcp/servers/cloudwatch-mcp-server#tools-for-cloudwatch-promql) del server CloudWatch MCP.

## Interrogazione con l'API HTTP
<a name="CloudWatch-PromQL-Querying-API"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 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 all'API, incluse le operazioni supportate, i parametri di richiesta e i formati di risposta, consulta. [Prometheus-compatible API](CloudWatch-PromQL-APIs.md) Per l'elenco delle AWS regioni in cui è disponibile l'interrogazione PromQL, vedere. [Supportata AWS Regioni](CloudWatch-PromQL.md#CloudWatch-PromQL-Regions) Per le azioni IAM necessarie per ogni operazione, consulta. [Autorizzazioni IAM per PromQL](CloudWatch-PromQL.md#CloudWatch-PromQL-IAM)