Prometheus: Automatizzare con la CLI
Avvia Prometheus, recupera le sue credenziali e modifica la sua configurazione in modo programmato con la Stackhero CLI
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una piattaforma Prometheus cloud completamente gestita, progettata per garantire affidabilità e semplicità:
Alert Managerè integrato, così potete inviare avvisi direttamente aSlack,Mattermost,PagerDutye altre destinazioni popolari.- Un server email dedicato vi consente di inviare avvisi email illimitati senza configurazioni aggiuntive.
Blackboxè incluso, permettendovi di effettuare probe su protocolli comeHTTP,ICMP,TCPe altri per un monitoraggio completo.- Configurate rapidamente la vostra istanza tramite l’editor online del file di configurazione. Non è necessario gestire manualmente i file YAML.
- Applicate gli aggiornamenti con un solo clic. Stackhero si occupa dell’intero processo di upgrade, riducendo al minimo i tempi di inattività e l’intervento manuale.
- Alte prestazioni e sicurezza avanzata sono garantite grazie a un’infrastruttura privata e dedicata.
Sarete operativi in circa 5 minuti. Stackhero si occupa della configurazione, così potete concentrarvi sul monitoraggio invece che sulla manutenzione. Provate Prometheus cloud hosting su Stackhero per ottimizzare i vostri flussi di lavoro di monitoring e alerting.
Questa guida mostra come creare un servizio Prometheus, leggere le sue credenziali e aggiornare la sua configurazione interamente dalla riga di comando, senza alcun clic sul dashboard. È l'ideale per script, pipeline CI e agenti AI.
Per tutte le operazioni utilizzeremo la Stackhero CLI. Se non l'ha già fatto, può installarla con:
curl -fsSL https://www.stackhero.io/install.sh | sh
1. Autenticazione
Il modo più semplice per iniziare è effettuare il login tramite browser. Quando esegue il comando di login, la CLI apre una pagina web dove può approvare l'accesso. Nessuna password o codice 2FA viene inserito direttamente nella CLI.
stackhero login
Dopo l'accesso, le sue credenziali vengono memorizzate localmente e saranno utilizzate automaticamente dai successivi comandi CLI.
Per ambienti completamente automatizzati come script o pipeline CI, può preferire un token di accesso non interattivo. Può crearne uno dal suo dashboard (Account > Access tokens), quindi esportarlo come variabile d'ambiente. La CLI, così come qualsiasi script eseguito, lo rileverà automaticamente.
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
2. Trovare il service store di Prometheus
Successivamente, vorrà elencare i service store Prometheus disponibili per il suo account. La CLI accetta direttamente il nome dello store (prometheus), quindi non è necessario cercare o copiare alcun ID.
# Elenca i service store Prometheus (aggiunga --organization se ne gestisce più di uno)
stackhero services-store-list --name="prometheus"
Può fare riferimento al nome dello store prometheus nei comandi successivi, oppure scegliere un ID specifico svs-xxxxxx dall'elenco se preferisce.
3. Scegliere una dimensione dell'istanza e una regione
# Elenca le dimensioni delle istanze per il suo service store (utilizzi la colonna NAME per --instance)
stackhero instances-store-list --service-store=prometheus
# Elenca le regioni disponibili (nomi come "europe")
stackhero regions-list
4. Creare il servizio
Ecco uno script di esempio che crea uno stack, aggiunge il suo servizio Prometheus, attende che venga avviato, recupera la configurazione (incluse le credenziali generate) e applica una nuova configurazione.
#!/bin/bash
set -e
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
serviceStore="prometheus" # Il nome del service store Prometheus (vedi step 2)
instance="..." # Una dimensione dell'istanza dallo step 3
region="europe" # Un nome di regione dallo step 3
# Crea uno stack per il suo servizio (usa l'organizzazione predefinita; aggiunga --organization se necessario)
stackId=$(stackhero --format=script stack-create \
--name="My Prometheus stack")
echo "Stack creato: ${stackId}"
# Aggiunge Prometheus allo stack (i nomi vengono risolti automaticamente)
serviceId=$(stackhero --format=script service-add \
--stack="My Prometheus stack" \
--service-store="${serviceStore}" \
--instance="${instance}" \
--region="${region}")
echo "Servizio aggiunto: prometheus"
# Attende che il servizio sia completamente operativo (può richiedere alcuni minuti)
stackhero service-wait-for --service="prometheus"
# Recupera la configurazione del servizio, incluse le credenziali generate
stackhero service-configuration-get --service="prometheus" --format=json
5. Recuperare le credenziali
Il comando service-configuration-get restituisce la configurazione completa del servizio, incluse password generate automaticamente e dettagli di connessione. L'output è in formato JSON, facilitando l'utilizzo in script e automazioni.
stackhero service-configuration-get --service=svc-xxxxxx --format=json
6. Modificare la configurazione
Può consultare uno schema di configurazione di esempio e poi applicare le sue impostazioni personalizzate. Quando aggiorna la configurazione, il servizio potrebbe riavviarsi per applicare le modifiche.
# Visualizza lo schema di configurazione e un esempio per il suo servizio
stackhero service-configuration-example --service=svc-xxxxxx
# Applica una configurazione personalizzata (il servizio si riavvia se necessario)
stackhero service-configuration-set \
--service=svc-xxxxxx \
--configuration='{ "...": "..." }'
# Attende che la nuova configurazione venga applicata
stackhero service-wait-for --service=svc-xxxxxx
Ecco fatto. Ha ora visto l'intero ciclo di vita: avviare un servizio, recuperare le sue credenziali e riconfigurarlo, tutto in modo scriptabile e automatizzato. Per approfondire, consulti la documentazione completa della CLI, che copre anche l'autenticazione non interattiva tramite STACKHERO_TOKEN illustrata qui.