Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interroger vos métriques Prometheus
Maintenant que les métriques sont ingérées dans l’espace de travail, vous pouvez les interroger.
Pour créer des tableaux de bord avec des représentations visuelles de vos indicateurs, vous pouvez utiliser un service tel qu'Amazon Managed Grafana. Amazon Managed Grafana (ou une instance autonome de Grafana) peut créer une interface graphique qui affiche vos statistiques dans une grande variété de styles de présentation. Pour plus d'informations sur Amazon Managed Grafana, consultez le guide de l'utilisateur d'Amazon Managed Grafana.
Vous pouvez également créer des requêtes ponctuelles, explorer vos données ou créer vos propres applications qui utilisent vos métriques à l'aide de requêtes directes. Les requêtes directes utilisent l'API Amazon Managed Service for Prometheus et le langage de requête standard Prometheus, ProMQL, pour obtenir des données depuis votre espace de travail Prometheus. Pour plus d’informations sur ProMQL et sa syntaxe, consultez la section Querying Prometheus
Rubriques
Aide-mémoire ProMQL
Utilisez cette aide-mémoire ProMQL (Prometheus Query Language) comme référence rapide lorsque vous recherchez des métriques dans votre espace de travail Amazon Managed Service for Prometheus. Avec ProMQL, vous pouvez sélectionner et agréger des données de séries chronologiques en temps réel grâce à son langage de requête fonctionnel.
Pour plus de détails sur ProMQL, consultez ProMQL Cheat
Sélecteurs de base
Sélectionnez les séries chronologiques par nom de métrique et par étiquette correspondante :
# 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
Sélecteurs vectoriels de plage
Sélectionnez une gamme d'échantillons au fil du temps :
# 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]
Opérateurs d'agrégation
Données agrégées sur plusieurs séries chronologiques :
# 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
Fonctions courantes
Appliquez des fonctions pour transformer vos données :
# 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)
Opérateurs binaires
Effectuez des opérations arithmétiques et logiques :
# 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)
Exemples de requêtes pratiques
Requêtes de surveillance courantes que vous pouvez utiliser dans votre espace de travail 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))