

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

# Esegui una ricerca sui parametri Prometheus
<a name="AMP-query"></a>

Ora che i parametri vengono inseriti nell'area di lavoro, puoi interrogarli.

Per creare dashboard con rappresentazioni visive delle tue metriche, puoi utilizzare un servizio come Amazon Managed Grafana. Amazon Managed Grafana (o un'istanza autonoma di Grafana) può creare un'interfaccia grafica che mostra le tue metriche in un'ampia varietà di stili di presentazione del display. Per ulteriori informazioni su Amazon Managed Grafana, consulta la [Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/) User Guide.

Puoi anche creare query singole, esplorare i tuoi dati o scrivere applicazioni personalizzate che utilizzano i tuoi parametri utilizzando le tue query utilizzando le query dirette. Le query dirette utilizzano l'API Amazon Managed Service for Prometheus e il linguaggio di query Prometheus standard, PromQL, per ottenere dati dal tuo spazio di lavoro Prometheus. Per ulteriori informazioni su PromQL e sulla sua sintassi, consulta [Interrogazione a Prometheus](https://prometheus.io/docs/prometheus/latest/querying/basics/) nella documentazione di Prometheus.

**Topics**
+ [Foglio informativo di PromQL](#promql-cheat-sheet)
+ [Selettori di base](#promql-basic-selectors)
+ [Selettori vettoriali di intervallo](#promql-range-selectors)
+ [Operatori di aggregazione](#promql-aggregation-operators)
+ [Funzioni comuni](#promql-functions)
+ [Operatori binari](#promql-operators)
+ [Esempi pratici di interrogazioni](#promql-practical-examples)
+ [Proteggi le tue interrogazioni metriche](AMP-secure-querying.md)
+ [Configurazione di Grafana gestito da Amazon per l'utilizzo con il servizio gestito da Amazon per Prometheus](AMP-amg.md)
+ [Configurazione di Grafana open source o Grafana Enterprise per l'utilizzo con il servizio gestito da Amazon per Prometheus](AMP-onboard-query-standalone-grafana.md)
+ [Interrogazione tramite Grafana in esecuzione in un cluster Amazon EKS](AMP-onboard-query-grafana-7.3.md)
+ [Interrogazione con compatibilità con Prometheus APIs](AMP-onboard-query-APIs.md)
+ [Ottieni statistiche sull'utilizzo delle query per ogni query](AMP-stats.md)

## Foglio informativo di PromQL
<a name="promql-cheat-sheet"></a>

Usa questo cheat sheet di Prometheus (Prometheus Query Language) come riferimento rapido per interrogare le metriche nel tuo spazio di lavoro Amazon Managed Service for Prometheus. Con PromQL, puoi selezionare e aggregare i dati delle serie temporali in tempo reale tramite il suo linguaggio di interrogazione funzionale.

Per maggiori dettagli su PromQL, consulta [PromQL Cheat Sheet](https://promlabs.com/promql-cheat-sheet/) sul sito web. *PromLabs*

## Selettori di base
<a name="promql-basic-selectors"></a>

Seleziona le serie temporali in base al nome della metrica e ai corrispondenti valori di etichetta:

```
# Select all time series with the metric name http_requests_total
http_requests_total

# Select time series with specific label values
http_requests_total{job="prometheus", method="GET"}

# Use label matchers
http_requests_total{status_code!="200"}          # Not equal
http_requests_total{status_code=~"2.."}          # Regex match
http_requests_total{status_code!~"4.."}          # Negative regex match
```

## Selettori vettoriali di intervallo
<a name="promql-range-selectors"></a>

Seleziona un intervallo di campioni nel tempo:

```
# Select 5 minutes of data
http_requests_total[5m]

# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks), y (years)
cpu_usage[1h]
memory_usage[30s]
```

## Operatori di aggregazione
<a name="promql-aggregation-operators"></a>

Aggrega i dati su più serie temporali:

```
# Sum all values
sum(http_requests_total)

# Sum by specific labels
sum by (job) (http_requests_total)
sum without (instance) (http_requests_total)

# Other aggregation operators
avg(cpu_usage)                    # Average
min(response_time)               # Minimum
max(response_time)               # Maximum
count(up)                        # Count of series
stddev(cpu_usage)               # Standard deviation
```

## Funzioni comuni
<a name="promql-functions"></a>

Applica funzioni per trasformare i tuoi dati:

```
# Rate of increase per second (for counters)
rate(http_requests_total[5m])

# Increase over time range
increase(http_requests_total[1h])

# Derivative (for gauges)
deriv(cpu_temperature[5m])

# Mathematical functions
abs(cpu_usage - 50)              # Absolute value
round(cpu_usage, 0.1)           # Round to nearest 0.1
sqrt(memory_usage)              # Square root

# Time functions
time()                          # Current Unix timestamp
hour()                          # Hour of day (0-23)
day_of_week()                   # Day of week (0-6, Sunday=0)
```

## Operatori binari
<a name="promql-operators"></a>

Esegui operazioni aritmetiche e logiche:

```
# Arithmetic operators
cpu_usage + 10
memory_total - memory_available
disk_usage / disk_total * 100

# Comparison operators (return 0 or 1)
cpu_usage > 80
memory_usage < 1000
response_time >= 0.5

# Logical operators
(cpu_usage > 80) and (memory_usage > 1000)
(status_code == 200) or (status_code == 201)
```

## Esempi pratici di interrogazioni
<a name="promql-practical-examples"></a>

Query di monitoraggio comuni che puoi utilizzare nel tuo spazio di lavoro Amazon Managed Service for Prometheus:

```
# CPU usage percentage
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

# Memory usage percentage
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100

# Request rate per second
sum(rate(http_requests_total[5m])) by (job)

# Error rate percentage
sum(rate(http_requests_total{status_code=~"5.."}[5m])) / 
sum(rate(http_requests_total[5m])) * 100

# 95th percentile response time
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))

# Top 5 instances by CPU usage
topk(5, avg by (instance) (cpu_usage))
```