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.
Verwenden Sie awscurl, um Abfragen mit Prometheus-Compatible durchzuführen APIs
API-Anfragen für Amazon Managed Service für Prometheus müssen mit SigV4 signiert werden. Sie können awscurl
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 --regionRegion\ --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/
. Zum 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/credentialsund/aws/configDatei gespeichert sind. Sie können auch den Namen des zu verwendenden Profils angeben. Falls nicht angegeben, wird diedefaultDatei verwendet. Zum 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 der Instanz zugeordnete EC2 Instanzprofil.
Ausführen von Abfrageanforderungen mithilfe des awscurl-Containers
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 verwendetawscurl, 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 \ --regionRegion--service aps "$AMP_QUERY_ENDPOINT?query=QUERY"