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 für Abfragen mit Prometheus-Compatible APIs
APIAnfragen für Amazon Managed Service for 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 die Region
, Workspace-id
and QUERY
Eingaben 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. Den Zugriffsschlüssel und den geheimen Schlüssel für die Rolle finden Sie in der https://console.aws.amazon.com/iam/
. Beispielsweise:
$
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 diedefault
Datei verwendet. Beispielsweise:$
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 Image 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
"