

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.

# Abfrage mit Prometheus-Compatible APIs
<a name="AMP-onboard-query-APIs"></a>

Obwohl die Verwendung eines Tools wie [Amazon Managed Grafana](AMP-amg.md) die einfachste Methode ist, Ihre Metriken anzuzeigen und abzufragen, unterstützt Amazon Managed Service for Prometheus auch mehrere Prometheus kompatible, mit APIs denen Sie Ihre Metriken abfragen können. Weitere Informationen zu allen verfügbaren APIs Prometheus-kompatiblen Produkten finden Sie unter. [Promethus-kompatibel APIs](AMP-APIReference-Prometheus-Compatible-Apis.md)

Die Prometheus-kompatiblen APIs verwenden die Prometheus-Abfragesprache PromQL, um die Daten anzugeben, die Sie zurückgeben möchten. Einzelheiten zu PromQL und seiner Syntax finden Sie unter [Querying Prometheus in der Prometheus-Dokumentation](https://prometheus.io/docs/prometheus/latest/querying/basics/).

Wenn Sie diese APIs zur Abfrage Ihrer Metriken verwenden, müssen die Anfragen mit dem Signaturprozess von Signature Version 4 signiert werden. AWS Sie können [AWS Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) einrichten, um den Signaturprozess zu vereinfachen. Weitere Informationen finden Sie unter [aws-sigv4-proxy](https://github.com/awslabs/aws-sigv4-proxy).

Das Signieren über den AWS SigV4-Proxy kann mit `awscurl` durchgeführt werden. Das folgende Thema [Using awscurl to query Prometheus-compatible APIs](AMP-compatible-APIs.md) führt Sie durch die Verwendung zur Einrichtung von SigV4. `awscurl` AWS 

**Topics**
+ [

# Verwenden Sie awscurl, um Abfragen mit Prometheus-Compatible durchzuführen APIs
](AMP-compatible-APIs.md)

# Verwenden Sie awscurl, um Abfragen mit Prometheus-Compatible durchzuführen APIs
<a name="AMP-compatible-APIs"></a>

[API-Anfragen für Amazon Managed Service für Prometheus müssen mit SigV4 signiert werden.](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) Sie können [awscurl](https://github.com/okigan/awscurl) verwenden, um den Abfrageprozess zu vereinfachen.

Für die Installation von `awscurl` müssen Python 3 und der Pip-Package-Manager installiert sein. 

Auf einer Linux-basierten Instance installiert der folgende Befehl `awscurl`.

```
$ pip3 install awscurl
```

Auf einem macOS-Computer installiert der folgende Befehl `awscurl`.

```
$ brew install awscurl
```

Das folgende Beispiel ist eine Beispielabfrage. `awscurl` Ersetzen Sie *Region* die *QUERY* Eingaben *Workspace-id* und durch entsprechende Werte für Ihren Anwendungsfall:

```
# Define the Prometheus query endpoint URL. This can be found in the Amazon Managed Service for Prometheus console page 
# under the respective workspace. 

$ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace-id/api/v1/query

# credentials are infered from the default profile
$ awscurl -X POST --region Region \
                  --service aps "${AMP_QUERY_ENDPOINT}" -d 'query=QUERY'  --header 'Content-Type: application/x-www-form-urlencoded'
```

**Anmerkung**  
Ihre Abfragezeichenfolge muss URL-codiert sein.

Für eine Abfrage wie `query=up` könnten Sie Ergebnisse erhalten wie:

```
{
  "status": "success",
  "data": {
    "resultType": "vector",
    "result": [
      {
        "metric": {
          "__name__": "up",
          "instance": "localhost:9090",
          "job": "prometheus",
          "monitor": "monitor"
        },
        "value": [
          1652452637.636,
          "1"
        ]
      },
    ]
  }
}
```

Um die bereitgestellten Anfragen für `awscurl` zu signieren, müssen Sie die gültigen Anmeldeinformationen auf eine der folgenden Arten weitergeben:
+ Geben Sie die Zugriffsschlüssel-ID und den geheimen Schlüssel für die IAM-Rolle an. Sie finden den Zugriffsschlüssel und den geheimen Schlüssel für die Rolle in der [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

  Beispiel: 

  ```
  $ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace_id/api/v1/query
  
  $ awscurl -X POST --region <Region> \
                    --access_key <ACCESS_KEY> \
                    --secret_key <SECRET_KEY> \
                    --service aps "$AMP_QUERY_ENDPOINT?query=<QUERY>"
  ```
+ Verweisen Sie auf die Konfigurationsdateien, die in der `.aws/credentials`und `/aws/config` Datei gespeichert sind. Sie können auch den Namen des zu verwendenden Profils angeben. Falls nicht angegeben, wird die ` default ` Datei verwendet. Beispiel:

  ```
  $ export AMP_QUERY_ENDPOINT=https://aps-workspaces.<Region>.amazonaws.com/workspaces/<Workspace_ID>/api/v1/query
  $ awscurl -X POST --region <Region> \
                    --profile <PROFILE_NAME> 
                    --service aps "$AMP_QUERY_ENDPOINT?query=<QUERY>"
  ```
+ Verwenden Sie das mit einer EC2-Instance verknüpfte Instance-Profil.

## Ausführen von Abfrageanforderungen mithilfe des awscurl-Containers
<a name="awscurl-container"></a>

Wenn die Installation einer anderen Version von **Python** und der zugehörigen Abhängigkeiten nicht möglich ist, kann ein Container verwendet werden, um die `awscurl` Anwendung und ihre Abhängigkeiten zu packen. Im folgenden Beispiel wird für die Bereitstellung eine **Docker-Laufzeit** verwendet`awscurl`, aber jede OCI-konforme Laufzeit und jedes Bild funktionieren.

```
$ docker pull okigan/awscurl
$ export AMP_QUERY_ENDPOINT=https://aps-workspaces.Region.amazonaws.com/workspaces/Workspace_id/api/v1/query
$ docker run --rm -it okigan/awscurl --access_key $AWS_ACCESS_KEY_ID  --secret_key $AWS_SECRET_ACCESS_KEY \ --region Region --service aps "$AMP_QUERY_ENDPOINT?query=QUERY"
```