Consulta de las métricas de Prometheus - Amazon Managed Service for Prometheus

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

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.

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 en la documentación de Prometheus.

Hoja de referencia de ProMQL

Utiliza esta hoja de referencia de ProMQL (lenguaje de consultas de Prometheus) como referencia rápida cuando consultes métricas en tu espacio de trabajo de Amazon Managed Service for 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 el sitio web. PromLabs

Selectores básicos

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 de vectores de rango

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

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

Aplica funciones para transformar tus 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

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 prácticos de consultas

Consultas de monitorización habituales que puedes utilizar en tu espacio de trabajo de 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))