Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez awscurl pour effectuer une requête compatible avec Prometheus APIs
Les demandes d’API pour Amazon Managed Service for Prometheus doivent être signées avec SigV4. Vous pouvez utiliser awscurl
Pour installer awscurl
, Python 3 et le gestionnaire de package PIP doivent être installés.
Sur une instance Linux, la commande suivante installe awscurl
.
$
pip3 install awscurl
Sur un ordinateur macOS, la commande suivante installe awscurl
.
$
brew install awscurl
L'exemple suivant est un exemple de awscurl
requête. Remplacez Region
les QUERY
entrées Workspace-id
et par les valeurs appropriées à votre cas d'utilisation :
# 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'
Note
Votre chaîne de requête doit être codée en URL.
Pour une requête commequery=up
, vous pouvez obtenir des résultats tels que :
{ "status": "success", "data": { "resultType": "vector", "result": [ { "metric": { "__name__": "up", "instance": "localhost:9090", "job": "prometheus", "monitor": "monitor" }, "value": [ 1652452637.636, "1" ] }, ] } }
Pour qu’awscurl
signe les requêtes fournies, vous devez transmettre les informations d’identification valides de l’une des manières suivantes :
-
Fournissez l’ID de clé d’accès et la clé secrète du rôle IAM. Vous trouverez la clé d'accès et la clé secrète du rôle dans le https://console.aws.amazon.com/iam/
. Par exemple :
$
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>"
-
Référencez les fichiers de configuration stockés dans
.aws/credentials
et le fichier/aws/config
. Vous pouvez également choisir de spécifier le nom du profil à utiliser. S’il n’est pas spécifié, le fichierdefault
sera utilisé. Par exemple :$
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>" -
Utilisez le profil d'instance associé à l' EC2 instance.
Exécution de demandes de requête à l’aide du conteneur awscurl
Lorsqu’il n’est pas possible d’installer une version différente de Python et les dépendances associées, un conteneur peut être utilisé pour empaqueter l’application awscurl
et ses dépendances. L’exemple suivant utilise un environnement d’exécution Docker pour le déploiement d’awscurl
, mais tout environnement d’exécution et image conformes à l’OCI fonctionneront.
$
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
"