Prometheus: Automatize com a CLI

Inicie o Prometheus, recupere as suas credenciais e altere a sua configuração programaticamente com a Stackhero CLI

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Prometheus cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Alert Manager incluído para enviar alertas para Slack, Mattermost, PagerDuty, etc.
  • Servidor de email dedicado para enviar alertas de email ilimitados.
  • Blackbox para sondar HTTP, ICMP, TCP, e mais.
  • Configuração fácil com editor de ficheiros de configuração online.
  • Atualizações sem esforço com apenas um clique.
  • Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem cloud Prometheus da Stackhero!

Este guia mostra-lhe como criar um serviço Prometheus, ler as suas credenciais e atualizar a sua configuração totalmente a partir da linha de comandos, sem necessidade de clicar no dashboard. É ideal para scripts, pipelines de CI e agentes de IA.

Vamos utilizar a Stackhero CLI para todas as tarefas. Se ainda não o fez, pode instalá-la com:

curl -fsSL https://www.stackhero.io/install.sh | sh

A forma mais simples de começar é iniciar sessão através do seu navegador. Quando executa o comando de login, a CLI abre uma página web onde pode aprovar o acesso. Não é necessário introduzir passwords ou códigos 2FA diretamente na CLI.

stackhero login

Após iniciar sessão, as suas credenciais ficam guardadas localmente e serão utilizadas automaticamente nos próximos comandos da CLI.

Para ambientes totalmente automatizados, como scripts ou pipelines de CI, poderá preferir um token de acesso não interativo. Pode criar um a partir do seu dashboard (Conta > Access tokens) e exportá-lo como variável de ambiente. A CLI, assim como qualquer script que execute, irá detetá-lo automaticamente.

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

De seguida, irá querer listar os serviços store Prometheus disponíveis na sua conta. A CLI aceita diretamente o nome do store (prometheus), pelo que não é necessário procurar ou copiar IDs.

# Listar os serviços store Prometheus (adicione --organization se gerir mais do que um)
stackhero services-store-list --name="prometheus"

Pode referir-se ao nome do store prometheus nos comandos seguintes, ou escolher um ID específico svs-xxxxxx da lista, se preferir.

# Listar tamanhos de instância para o seu serviço store (utilize a coluna NAME para --instance)
stackhero instances-store-list --service-store=prometheus

# Listar regiões disponíveis (nomes como "europe")
stackhero regions-list

Segue-se um exemplo de script que cria um stack, adiciona o seu serviço Prometheus, aguarda que este inicie, recupera a sua configuração (incluindo as credenciais geradas) e depois aplica uma nova configuração.

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="prometheus"   # O nome do serviço store Prometheus (ver passo 2)
instance="..."                # Um tamanho de instância do passo 3
region="europe"               # Um nome de região do passo 3

# Criar um stack para o seu serviço (utiliza a sua organização por defeito; adicione --organization se necessário)
stackId=$(stackhero --format=script stack-create \
  --name="My Prometheus stack")
echo "Stack criado: ${stackId}"

# Adicionar Prometheus ao stack (os nomes são resolvidos automaticamente)
serviceId=$(stackhero --format=script service-add \
  --stack="My Prometheus stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Serviço adicionado: prometheus"

# Aguardar que o serviço esteja totalmente operacional (pode demorar alguns minutos)
stackhero service-wait-for --service="prometheus"

# Recuperar a configuração do serviço, incluindo as credenciais geradas
stackhero service-configuration-get --service="prometheus" --format=json

O comando service-configuration-get devolve a configuração completa do seu serviço, incluindo passwords geradas automaticamente e detalhes de ligação. O resultado é em formato JSON, facilitando a utilização em scripts e automação.

stackhero service-configuration-get --service=svc-xxxxxx --format=json

Pode consultar um exemplo de esquema de configuração e depois aplicar as suas próprias definições. Ao atualizar a configuração, o serviço pode reiniciar para aplicar as alterações.

# Ver o esquema de configuração e um exemplo para o seu serviço
stackhero service-configuration-example --service=svc-xxxxxx

# Aplicar uma configuração personalizada (o serviço reinicia se necessário)
stackhero service-configuration-set \
  --service=svc-xxxxxx \
  --configuration='{ "...": "..." }'

# Aguardar que a nova configuração seja aplicada
stackhero service-wait-for --service=svc-xxxxxx

E está feito. Acabou de ver todo o ciclo de vida: iniciar um serviço, recuperar as suas credenciais e reconfigurá-lo, tudo de forma automatizada e scriptável. Para saber mais, consulte a documentação completa da CLI, que também cobre a autenticação não interativa com STACKHERO_TOKEN demonstrada aqui.