As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use awscurl para consultar com compatibilidade com Prometheus APIs
APIas solicitações do Amazon Managed Service for Prometheus devem ser assinadas com o SigV4. Você pode usar o awscurl
Para instalar o awscurl
, você precisa ter o Python 3 e o gerenciador de pacotes pip instalados.
Em uma instância baseada no Linux, o comando a seguir instala oawscurl
.
$
pip3 install awscurl
Em um computador macOS, o comando a seguir instala o awscurl
.
$
brew install awscurl
O exemplo a seguir é um exemplo de awscurl
consulta. Substitua o Region
, Workspace-id
e QUERY
entradas com valores apropriados para seu caso de 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 --regionRegion
\ --service aps "${AMP_QUERY_ENDPOINT}" -d 'query=QUERY
' --header 'Content-Type: application/x-www-form-urlencoded'
nota
Sua sequência de caracteres de consulta deve ser codificada em URL.
Para uma consulta comoquery=up
, você pode obter resultados como:
{ "status": "success", "data": { "resultType": "vector", "result": [ { "metric": { "__name__": "up", "instance": "localhost:9090", "job": "prometheus", "monitor": "monitor" }, "value": [ 1652452637.636, "1" ] }, ] } }
Para que o awscurl
assine as solicitações fornecidas, você precisará passar as credenciais válidas de uma das seguintes formas:
-
Forneça o ID da chave de acesso e a chave secreta da IAM função. Você pode encontrar a chave de acesso e a chave secreta para a função no https://console.aws.amazon.com/iam/
. Por exemplo:
$
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>"
-
Faça referência aos arquivos de configuração armazenados no
.aws/credentials
e no arquivo/aws/config
. Você também pode optar por especificar o nome do perfil a ser utilizado. Se não for especificado, o arquivodefault
será utilizado. Por exemplo:$
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>" -
Use o perfil da instância associado à EC2 instância.
Como executar solicitações de consulta usando o contêiner awscurl
Quando a instalação de uma versão diferente do Python e das dependências associadas não for viável, um contêiner pode ser usado para empacotar a aplicação awscurl
e suas dependências. O exemplo a seguir usa um tempo de execução do Docker para implantarawscurl
, mas qualquer tempo de execução e imagem OCI compatíveis funcionarão.
$
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
"