View a markdown version of this page

Usa awscurl per eseguire query con le API Prometheus-compatible - Amazon Managed Service per Prometheus

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa awscurl per eseguire query con le API Prometheus-compatible

Le richieste API per il servizio gestito da Amazon per Prometheus devono essere firmate con SigV4. Puoi usare awscurl per semplificare il processo di interrogazione.

Per l'installazioneawscurl, è necessario che Python 3 e il gestore di pacchetti pip siano installati.

Su un'istanza basata su Linux, viene installato il seguente comando awscurl.

$ pip3 install awscurl

Su un computer macOS, viene installato il seguente comando awscurl.

$ brew install awscurl

L'esempio seguente è una query di esempio. awscurl Sostituisci Region gli QUERY input Workspace-id e con i valori appropriati per il tuo caso d'uso:

# 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'
Nota

La stringa di query deve essere codificata con URL.

Per una query comequery=up, potresti ottenere risultati come:

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

awscurl Per firmare le richieste fornite, è necessario passare le credenziali valide in uno dei seguenti modi:

  • Fornisci l'ID chiave di accesso e la chiave segreta per il ruolo IAM. È possibile trovare la chiave di accesso e la chiave segreta per il ruolo in https://console.aws.amazon.com/iam/.

    Esempio:

    $ 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>"
  • Fai riferimento ai file di configurazione memorizzati nei file /aws/config e .aws/credentials. Puoi anche scegliere di specificare il nome del profilo da utilizzare. Se non specificato, verrà utilizzato il default file. Esempio:

    $ 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>"
  • Sostituzione del profilo dell'istanza associato all'istanza EC2.

Esecuzione di richieste di interrogazione utilizzando il contenitore awscurl

Quando non è possibile installare una versione diversa di Python e le dipendenze associate, è possibile utilizzare un contenitore per impacchettare l'awscurlapplicazione e le sue dipendenze. L'esempio seguente utilizza un runtime Docker per la distribuzione awscurl, ma qualsiasi runtime e immagine conformi a OCI funzioneranno.

$ 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"