Abfragen Ihrer Prometheus-Metriken - Amazon Managed Service für Prometheus

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.

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

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