

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Consulta de las métricas de Prometheus
<a name="AMP-query"></a>

Ahora que las métricas se están incorporando al espacio de trabajo, puede consultarlas.

Para crear paneles con representaciones visuales de las métricas, puede utilizar un servicio como Amazon Managed Grafana. Amazon Managed Grafana (o una instancia independiente de Grafana) puede crear una interfaz gráfica que muestre las métricas en una amplia variedad de estilos de presentación de pantalla. Para obtener más información sobre Amazon Managed Grafana, consulte la [Guía del usuario de Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/).

También puede crear consultas únicas, explorar los datos o crear aplicaciones propias que utilicen las métricas mediante consultas directas. Las consultas directas utilizan la API de Amazon Managed Service para Prometheus y el lenguaje de consultas de Prometheus estándar, PromQL, para obtener datos del espacio de trabajo de Prometheus. Para obtener más información sobre PromQL y su sintaxis, consulte [Consultas de Prometheus](https://prometheus.io/docs/prometheus/latest/querying/basics/) en la documentación de Prometheus.

**Topics**
+ [Hoja de referencia de PromQL](#promql-cheat-sheet)
+ [Selectores básicos](#promql-basic-selectors)
+ [Selectores vectoriales de rango](#promql-range-selectors)
+ [Operadores de agregación](#promql-aggregation-operators)
+ [Funciones habituales](#promql-functions)
+ [Operadores binarios](#promql-operators)
+ [Ejemplos de consultas prácticas](#promql-practical-examples)
+ [Protección de las consultas de métricas](AMP-secure-querying.md)
+ [Configuración de Amazon Managed Grafana para su uso con Amazon Managed Service para Prometheus](AMP-amg.md)
+ [Configuración de Grafana de código abierto o Grafana Enterprise para su uso con Amazon Managed Service para Prometheus](AMP-onboard-query-standalone-grafana.md)
+ [Consultas con Grafana ejecutada en un clúster de Amazon EKS](AMP-onboard-query-grafana-7.3.md)
+ [Consulta mediante Prometheus compatible APIs](AMP-onboard-query-APIs.md)
+ [Obtención de estadísticas sobre el uso de cada consulta](AMP-stats.md)

## Hoja de referencia de PromQL
<a name="promql-cheat-sheet"></a>

Utilice esta hoja de referencia de PromQL (lenguaje de consultas de Prometheus) como referencia rápida cuando consulte métricas en su espacio de trabajo de Amazon Managed Service para Prometheus. Con PromQL, puede seleccionar y agregar datos de series temporales en tiempo real a través de su funcional lenguaje de consulta.

Para obtener más información sobre ProMQL, consulte la hoja de [trucos de ProMQL en](https://promlabs.com/promql-cheat-sheet/) el sitio web. *PromLabs*

## Selectores básicos
<a name="promql-basic-selectors"></a>

Seleccione series temporales por nombre de métrica y etiquetas que coincidan:

```
# 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
```

## Selectores vectoriales de rango
<a name="promql-range-selectors"></a>

Seleccione un rango de muestras a lo largo del tiempo:

```
# 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]
```

## Operadores de agregación
<a name="promql-aggregation-operators"></a>

Agregue datos en varias series temporales:

```
# 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
```

## Funciones habituales
<a name="promql-functions"></a>

Aplique funciones para transformar sus datos:

```
# 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)
```

## Operadores binarios
<a name="promql-operators"></a>

Realice operaciones aritméticas y lógicas:

```
# 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)
```

## Ejemplos de consultas prácticas
<a name="promql-practical-examples"></a>

Consultas comunes de supervisión que puede utilizar en el espacio de trabajo de Amazon Managed Service para 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))
```