

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

# Gestione del costo delle query in Amazon Managed Service for Prometheus
<a name="query-insights-control"></a>

Amazon Managed Service for Prometheus offre la possibilità di limitare i costi delle query fornendo limiti alla quantità di Query Samples Processed (QSP) che può essere utilizzata da una singola query. Puoi configurare due tipi di soglie per QSP, *avvisi ed *errori*, per gestire e controllare* efficacemente i costi delle query.

Quando le query raggiungono la soglia di *avviso*, viene visualizzato un messaggio di avviso nella risposta alla query API. Per le query visualizzate tramite Amazon Managed Grafana, l'avviso sarà visibile nell'interfaccia utente di Amazon Managed Grafana, aiutando gli utenti a identificare le query costose. Le query che raggiungono la soglia *di errore* non vengono addebitate e verranno rifiutate con un errore.

Oltre alla limitazione delle query, Amazon Managed Service for Prometheus offre la possibilità di registrare i dati sulle prestazioni delle query in Logs. CloudWatch Questa funzionalità ti consente di analizzare le query in dettaglio, aiutandoti a ottimizzare le query di Amazon Managed Service for Prometheus e a gestire i costi in modo più efficace. La registrazione delle query acquisisce informazioni sulle query che superano le soglie di Query Samples Processed (QSP) specificate. Questi dati vengono quindi pubblicati in CloudWatch Logs, per consentire di esaminare e analizzare le prestazioni delle query. Le query registrate includono sia le query API che le query Rule. Per impostazione predefinita, la registrazione delle query è disabilitata per ridurre al minimo l'utilizzo non necessario dei log. CloudWatch È possibile abilitare questa funzionalità quando necessario per l'analisi delle query. 

**Topics**
+ [Configurazione della registrazione delle interrogazioni](#query-logging)
+ [Configurazione delle soglie di limitazione delle query](#query-throttling-thresholds)
+ [Contenuto del registro](#log-content)
+ [Limitazioni](#limitations)

## Configurazione della registrazione delle interrogazioni
<a name="query-logging"></a>

Puoi configurare la registrazione delle query nella console Amazon Managed Service for Prometheus o nella AWS CLI chiamando la richiesta API. `create-query-logging-configuration ` Questo corpo dell'API contiene un elenco di destinazioni, ma per ora supportiamo solo CloudWatch i log come destinazione e le destinazioni devono contenere esattamente un elemento con configurazioni. CloudWatch 

### Prerequisiti
<a name="CW-vender-query-logs-prerequisites"></a>

Assicurati che `logGroup` sia già stato creato. L'ID o il ruolo utilizzato per la configurazione deve avere la seguente politica o autorizzazioni equivalenti.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
"Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups",
                "aps:CreateQueryLoggingConfiguration",
                "aps:UpdateQueryLoggingConfiguration",
                "aps:DescribeQueryLoggingConfiguration",
                "aps:DeleteQueryLoggingConfiguration"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Configura i registri CloudWatch
<a name="configure-cloudwatch-logs"></a>

Puoi configurare CloudWatch i log accedendo ad Amazon Managed Service for Prometheus utilizzando o. Console di gestione AWS AWS CLI

**Per configurare la registrazione delle query utilizzando la console Amazon Managed Service for Prometheus**

1. Vai alla scheda **Log** nel pannello dei dettagli dell'area di lavoro.

1. **In **Query Insights**, scegli Crea.**

1. Seleziona il menu a discesa **Log Group** e scegli il gruppo di log per pubblicare i log.

   Puoi anche creare un nuovo gruppo di log nella CloudWatch console.

1. Inserisci la **soglia (QSP).**

1. Scegli **Save** (Salva).

**Per configurare la registrazione delle interrogazioni utilizzando il AWS CLI comando** 

```
aws amp create-query-logging-configuration \
--workspace-id my_workspace_ID \
--destinations '[{"cloudWatchLogs":{"logGroupArn":"$my-log-group-arn"},"filters":{"qspThreshold":$qspThreshold}}]'
```

Per informazioni su come aggiornare, eliminare e descrivere le operazioni, consulta [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/APIReference/Welcome.html) API Reference.

## Configurazione delle soglie di limitazione delle query
<a name="query-throttling-thresholds"></a>

[Per configurare le soglie QSP, è necessario fornire i parametri di interrogazione nell'API. QueryMetrics ](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference-QueryMetrics.html)
+ max\$1samples\$1processed\$1warning\$1threshold — Imposta la soglia di avviso per i campioni di query elaborati
+ max\$1samples\$1processed\$1error\$1threshold — Imposta la soglia di errore per i campioni di query elaborati

Per gli utenti di Amazon Managed Grafana, puoi utilizzare la configurazione dell'origine dati grafana per applicare limiti a tutte le query provenienti dall'origine dati:

1. Accedi alla configurazione dell'origine dati Amazon Managed Service for Prometheus in Amazon Managed Grafana.

1. In **Parametri di query personalizzati**, aggiungi le intestazioni di soglia.

1. Scegli **Save** (Salva).

## Contenuto del registro
<a name="log-content"></a>

Per le interrogazioni che hanno origine da regole, nei CloudWatch log verranno visualizzate le seguenti informazioni sulla query:

```
{
    workspaceId: "workspace_id",
    message: {
        query: "avg(rate(go_goroutines[1m])) > 1",
        name: "alert_rule",
        kind: "alerting",
        group: "test-alert",
        namespace: "test",
        samples: "59321",
    },
    component: "ruler"
}
```

Per le query che provengono da chiamate API, nei log verranno visualizzate le seguenti informazioni sulla query: CloudWatch 

```
{
    workspaceId: "ws-5e7658c2-7ccf-4c30-9de9-2ab26fa30639",
    message: {
        query: "sum by (instance) (go_memstats_alloc_bytes{job=\"node\"})",
        queryType: "range",
        start: "1683308700000",
        end: "1683913500000",
        step: "300000",
        samples: "11496",
        userAgent: "AWSPrometheusDPJavaClient/2.0.436.0 ",
        dashboardUid: "11234",
        panelId: "12"
    },
    component: "query-frontend"
}
```

## Limitazioni
<a name="limitations"></a>

**Limiti di dimensione delle policy**: le policy relative CloudWatch alle risorse dei log sono limitate a 5120 caratteri. Quando CloudWatch Logs rileva che la policy si avvicina al limite di dimensione, abilita automaticamente i gruppi di log che iniziano con. `/aws/vendedlogs/` Quando abiliti la registrazione delle query, Amazon Managed Service for Prometheus deve aggiornare la politica delle risorse Logs con CloudWatch il gruppo di log specificato. Per evitare di raggiungere il limite di dimensione della politica delle risorse CloudWatch Logs, inserisci come prefisso i nomi dei gruppi di log Logs con. CloudWatch `/aws/vendedlogs/`