

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
<a name="AMP-query"></a>

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](https://docs.aws.amazon.com/grafana/latest/userguide/).

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](https://prometheus.io/docs/prometheus/latest/querying/basics/).

**Topics**
+ [PromQL-Spickzettel](#promql-cheat-sheet)
+ [Grundlegende Selektoren](#promql-basic-selectors)
+ [Selektoren für Bereichsvektoren](#promql-range-selectors)
+ [Aggregationsoperatoren](#promql-aggregation-operators)
+ [Allgemeine Funktionen](#promql-functions)
+ [Binäre Operatoren](#promql-operators)
+ [Praktische Beispiele für Abfragen](#promql-practical-examples)
+ [Schützen Sie Ihre metrischen Abfragen](AMP-secure-querying.md)
+ [Einrichten von Amazon Managed Grafana für die Verwendung mit Amazon Managed Service für Prometheus](AMP-amg.md)
+ [Richten Sie Grafana Open Source oder Grafana Enterprise für die Verwendung mit Amazon Managed Service für Prometheus ein](AMP-onboard-query-standalone-grafana.md)
+ [Abfrage mithilfe von Grafana, die in einem Amazon-EKS-Cluster ausgeführt wird](AMP-onboard-query-grafana-7.3.md)
+ [Abfrage mit Prometheus-Compatible APIs](AMP-onboard-query-APIs.md)
+ [Rufen Sie für jede Abfrage Statistiken über Ihre Abfragenutzung ab](AMP-stats.md)

## PromQL-Spickzettel
<a name="promql-cheat-sheet"></a>

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](https://promlabs.com/promql-cheat-sheet/). *PromLabs*

## Grundlegende Selektoren
<a name="promql-basic-selectors"></a>

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
<a name="promql-range-selectors"></a>

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
<a name="promql-aggregation-operators"></a>

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
<a name="promql-functions"></a>

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
<a name="promql-operators"></a>

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
<a name="promql-practical-examples"></a>

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