Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Abfragen Ihrer Prometheus-Metriken
Jetzt, da die Metriken in den Workspace erfasst wurden, können Sie sie abfragen.
Um Dashboards mit visuellen Darstellungen Ihrer Kennzahlen zu erstellen, können Sie einen Service wie Amazon Managed Grafana verwenden. Amazon Managed Grafana (oder eine eigenständige Instanz von Grafana) kann eine grafische Oberfläche erstellen, die Ihre Metriken in einer Vielzahl von Darstellungsarten anzeigt. Weitere Informationen zu Amazon Managed Grafana finden Sie im Amazon Managed Grafana-Benutzerhandbuch.
Sie können auch einmalige Abfragen erstellen, Ihre Daten untersuchen oder Ihre eigenen Anwendungen schreiben, die Ihre Metriken mithilfe direkter Abfragen verwenden. Direkte Abfragen verwenden die Amazon Managed Service for Prometheus API und die standardmäßige Prometheus-Abfragesprache PromQL, um Daten aus Ihrem Prometheus-Workspace abzurufen. Weitere Informationen zu PromQL und seiner Syntax finden Sie unter Abfragen von Prometheus in der Prometheus-Dokumentation
Themen
PromQL-Spickzettel
Verwenden Sie diesen PromQL-Spickzettel (Prometheus Query Language) als Kurzreferenz, wenn Sie Kennzahlen in Ihrem Amazon Managed Service for Prometheus-Workspace abfragen. Mit PromQL können Sie mithilfe der funktionalen Abfragesprache Zeitreihendaten in Echtzeit auswählen und aggregieren.
Weitere Informationen zu PromQL finden Sie im PromQL Cheat Sheet auf der Website
Grundlegende Selektoren
Wählen Sie Zeitreihen nach Metriknamen und Label-Matchern aus:
# 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
Selektoren für Bereichsvektoren
Wählen Sie im Laufe der Zeit einen Bereich von Samples aus:
# 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]
Aggregationsoperatoren
Aggregieren Sie Daten über mehrere Zeitreihen hinweg:
# 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
Allgemeine Funktionen
Wenden Sie Funktionen an, um Ihre Daten zu transformieren:
# 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)
Binäre Operatoren
Führen Sie arithmetische und logische Operationen durch:
# 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)
Praktische Beispiele für Abfragen
Allgemeine Überwachungsanfragen, die Sie in Ihrem Amazon Managed Service for Prometheus Workspace verwenden können:
# 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))