Google Cloud Managed Service per Prometheus

Google Cloud Managed Service per Prometheus è la soluzione cross-project, multi-cloud completamente gestita di Google Cloud per le metriche Prometheus. Consente di monitorare e creare avvisi sui carichi di lavoro a livello globale utilizzando Prometheus, senza dover gestire e utilizzare manualmente Prometheus su larga scala.

Managed Service per Prometheus raccoglie metriche dagli esportatori di Prometheus e ti consente di eseguire query sui dati a livello globale utilizzando PromQL, il che significa che puoi continuare a utilizzare qualsiasi dashboard Grafana, avvisi basati su PromQL e flussi di lavoro esistenti. È compatibile con ambienti ibridi e multi-cloud, è in grado di monitorare Kubernetes, VM e carichi di lavoro serverless su Cloud Run, conserva i dati per 24 mesi e ne garantisce la portabilità grazie alla compatibilità con Prometheus upstream. Puoi anche integrare il monitoraggio Prometheus eseguendo query su oltre 6500 metriche gratuite in Cloud Monitoring, incluse le metriche di sistema gratuite GKE, utilizzando PromQL.

Questo documento offre una panoramica del servizio gestito e ulteriori documenti descrivono come configurare ed eseguire il servizio. Per ricevere aggiornamenti regolari sulle nuove funzionalità e release, invia il modulo di registrazione facoltativo.

Scopri come The Home Depot utilizza Managed Service per Prometheus per ottenere l'osservabilità unificata su 2200 archivi in esecuzione su cluster Kubernetes on-prem:

Panoramica del sistema

Google Cloud Managed Service per Prometheus ti offre la familiarità di Prometheus supportata dall'infrastruttura globale, multi-cloud e tra progetti di Cloud Monitoring.

Managed Service per Prometheus ti dà accesso alle funzionalità di Prometheus e Cloud Monitoring.

Managed Service per Prometheus si basa su Monarch, lo stesso datastore scalabile a livello globale utilizzato per il monitoraggio di Google. Poiché Managed Service per Prometheus utilizza lo stesso backend e le stesse API di Cloud Monitoring, è possibile interrogare sia le metriche di Cloud Monitoring sia quelle importate da Managed Service per Prometheus utilizzando PromQL in Cloud Monitoring, Grafana o qualsiasi altro strumento in grado di leggere l'API Prometheus.

In un deployment di Prometheus standard, la raccolta dei dati, la valutazione delle query, la valutazione di regole e avvisi e l'archiviazione dei dati vengono gestite all'interno di un singolo server Prometheus. Managed Service per Prometheus suddivide le responsabilità per queste funzioni in più componenti:

  • La raccolta dei dati viene gestita da raccoglitori gestiti, raccoglitori con deployment autonomo, da OpenTelemetry Collector o Ops Agent, che eseguono lo scraping degli esportatori locali e inoltrano i dati raccolti a Monarch. Questi raccoglitori possono essere utilizzati per carichi di lavoro VM tradizionali, serverless e tradizionali ed eseguiti ovunque, inclusi altri cloud e deployment on-prem.
  • La valutazione delle query è gestita da Monarch, che esegue query e risultati dell'unione in tutte le aree geografiche di Google Cloud e in un massimo di 1000 progetti Google Cloud.
  • La valutazione di regole e avvisi viene gestita scrivendo avvisi PromQL in Cloud Monitoring, che vengono eseguiti completamente nel cloud, oppure utilizzando componenti valutatori di regole eseguiti in locale e configurati localmente, che eseguono regole e avvisi nel datastore globale Monarch e inoltrano eventuali avvisi attivati a Prometheus AlertManager.
  • L'archiviazione dei dati viene gestita da Monarch, che archivia tutti i dati di Prometheus per 24 mesi senza costi aggiuntivi.

Grafana si connette al datastore globale Monarch invece di connettersi ai singoli server Prometheus. Se hai configurato i raccoglitori di Managed Service per Prometheus in tutti i tuoi deployment, questa singola istanza di Grafana ti offre una visualizzazione unificata di tutte le metriche in tutti i tuoi cloud.

Raccolta dati

Puoi utilizzare Managed Service per Prometheus in una delle quattro modalità: con raccolta dei dati gestita, raccolta dei dati di cui è stato eseguito il deployment autonomamente, OpenTelemetry Collector o Ops Agent.

Managed Service per Prometheus offre un operatore per la raccolta gestita dei dati in ambienti Kubernetes. Ti consigliamo di utilizzare la raccolta gestita; in questo modo si elimina la complessità legata a deployment, scalabilità, sharding, configurazione e manutenzione dei server Prometheus. La raccolta gestita è supportata per gli ambienti Kubernetes GKE e non GKE.

Con la raccolta dei dati con deployment autonomo, puoi gestire l'installazione di Prometheus come hai sempre fatto. L'unica differenza rispetto al programma binario di Prometheus upstream è che viene eseguito il programma binario di sostituzione drop-in di Managed Service per Prometheus anziché il programma binario di Prometheus a monte.

OpenTelemetry Collector può essere utilizzato per eseguire lo scraping degli esportatori di Prometheus e inviare dati a Managed Service per Prometheus. OpenTelemetry supporta una strategia a singolo agente per tutti gli indicatori, in cui è possibile utilizzare un raccoglitore per metriche (incluse le metriche Prometheus), log e tracce in qualsiasi ambiente.

Puoi configurare Ops Agent su qualsiasi istanza di Compute Engine per eseguire lo scraping e l'invio delle metriche Prometheus al datastore globale. L'utilizzo di un agente semplifica notevolmente il rilevamento delle VM ed elimina la necessità di installare, eseguire il deployment o configurare Prometheus in ambienti VM.

Se disponi di un servizio Cloud Run che scrive metriche di Prometheus o metriche OTLP, puoi utilizzare un file collaterale e un servizio gestito per Prometheus per inviare le metriche a Cloud Monitoring.

Puoi eseguire raccoglitori di OpenTelemetry, con deployment autonomo e gestiti in deployment on-prem e su qualsiasi cloud. I raccoglitori in esecuzione al di fuori di Google Cloud inviano dati a Monarch per l'archiviazione a lungo termine e le query globali.

Quando scegli tra le opzioni di raccolta, considera quanto segue:

  • Raccolta gestita:

    • Approccio consigliato da Google per tutti gli ambienti Kubernetes.
    • Deployment eseguito utilizzando la UI di GKE, gcloud CLI, l'interfaccia a riga di comando kubectl o Terraform.
    • Il funzionamento di Prometheus, ossia la generazione di configurazioni di scrape, l'importazione della scalabilità, la definizione di regole di ambito per i dati corretti e così via, è completamente gestito dall'operatore Kubernetes.
    • Lo scraping e le regole vengono configurati utilizzando risorse personalizzate (CR) leggere.
    • Ideale per chi desidera un'esperienza completamente gestita e più pratica.
    • Migrazione intuitiva dalle configurazioni prometheus-operator.
    • Supporta la maggior parte dei casi d'uso di Prometheus attuali.
    • Assistenza completa da parte dell'assistenza tecnica di Google Cloud.
  • Raccolta con deployment autonomo:

    • Una sostituzione diretta per il programma binario di Prometheus a monte.
    • Puoi utilizzare il meccanismo di deployment che preferisci, ad esempio prometheus-operator o il deployment manuale.
    • Lo scraping viene configurato utilizzando i tuoi metodi preferiti, come le annotazioni o l'operatore-prometheus.
    • La scalabilità e lo sharding funzionale vengono eseguiti manualmente.
    • Ideale per una rapida integrazione in configurazioni esistenti più complesse. Puoi riutilizzare le configurazioni esistenti ed eseguire Prometheus upstream e Managed Service per Prometheus uno accanto all'altro.
    • Le regole e gli avvisi vengono in genere eseguiti all'interno di singoli server Prometheus, opzione preferibile per i deployment perimetrali, in quanto la valutazione delle regole locali non comporta traffico di rete.
    • Potrebbero supportare casi d'uso long-tail non ancora supportati dalla raccolta gestita, come le aggregazioni locali per ridurre la cardinalità.
    • Assistenza limitata da parte dell'assistenza tecnica Google Cloud.
  • OpenTelemetry Collector:

    • Un unico raccoglitore in grado di raccogliere metriche (incluse le metriche Prometheus) da qualsiasi ambiente e inviarle a qualsiasi backend compatibile. Può essere utilizzato anche per raccogliere log e tracce e inviarli a qualsiasi backend compatibile, tra cui Cloud Logging e Cloud Trace.
    • Deployment in qualsiasi ambiente di computing o Kubernetes, manualmente o utilizzando Terraform. Può essere utilizzata per inviare metriche da ambienti stateless come Cloud Run.
    • Lo scraping viene configurato utilizzando configurazioni simili a Prometheus nel ricevitore Prometheus del raccoglitore.
    • Supporta i pattern di raccolta delle metriche basati su push.
    • I metadati vengono inseriti da qualsiasi cloud utilizzando i processori dei rilevatori di risorse.
    • Le regole e gli avvisi possono essere eseguiti utilizzando un criterio di avviso di Cloud Monitoring o il valutatore di regole autonomo.
    • Al meglio supporta flussi di lavoro e funzionalità incrociati come gli esemplari.
    • Assistenza limitata da parte dell'assistenza tecnica Google Cloud.
  • L'Ops Agent:

Se utilizzi il servizio gestito al di fuori di Google Kubernetes Engine o Google Cloud, potrebbe essere necessaria una configurazione aggiuntiva. Consulta gli articoli Esegui raccolta gestita all'esterno di Google Cloud, Esecuzione di una raccolta di cui è stato eseguito il deployment al di fuori di Google Cloud o Aggiungere processori OpenTelemetry.

Valutazione delle query

Managed Service per Prometheus supporta qualsiasi UI di query in grado di chiamare l'API di query di Prometheus, tra cui Grafana e l'interfaccia utente di Cloud Monitoring. Le dashboard Kubernetes esistenti continuano a funzionare quando si passa da Prometheus locale a Managed Service per Prometheus e puoi continuare a utilizzare PromQL che si trova nei repository open source popolari e nei forum della community.

Puoi utilizzare PromQL per eseguire query su oltre 6500 metriche gratuite in Cloud Monitoring, anche senza inviare dati a Managed Service per Prometheus. Puoi anche utilizzare PromQL per eseguire query su metriche Kubernetes gratuite, metriche personalizzate e metriche basate su log.

Per informazioni su come configurare Grafana per eseguire query sui dati di Managed Service per Prometheus, consulta Eseguire query utilizzando Grafana.

Per informazioni su come eseguire query sulle metriche di Cloud Monitoring utilizzando PromQL, consulta PromQL in Cloud Monitoring.

Valutazione di regole e avvisi

Managed Service per Prometheus fornisce sia una pipeline di avviso completamente basata su cloud che un valutatore di regole autonomo, che valutano le regole in base a tutti i dati Monarch accessibili in un ambito delle metriche. La valutazione delle regole in base a un ambito delle metriche multiprogetto elimina la necessità di collocare tutti i dati di interesse su un singolo server Prometheus o all'interno di un singolo progetto Google Cloud e ti consente di impostare autorizzazioni IAM su gruppi di progetti.

Poiché tutte le opzioni di valutazione delle regole accettano il formato rule_files standard di Prometheus, puoi eseguire facilmente la migrazione a Managed Service per Prometheus copiando e incollando le regole esistenti o copiando quelle presenti nei repository open source più diffusi. Per chi utilizza i raccoglitori con deployment autonomo, puoi continuare a valutare le regole di registrazione localmente nei raccoglitori. I risultati delle regole di registrazione e avviso vengono archiviati in Monarch, proprio come i dati delle metriche raccolti direttamente. Puoi anche eseguire la migrazione delle regole di avviso di Prometheus a criteri di avviso basati su PromQL in Cloud Monitoring.

Per la valutazione degli avvisi con Cloud Monitoring, consulta Avvisi PromQL in Cloud Monitoring.

Per la valutazione delle regole con la raccolta gestita, consulta Valutazione e avvisi delle regole gestite.

Per la valutazione delle regole con una raccolta con deployment autonomo, OpenTelemetry Collector e Ops Agent, consulta Valutazione e avvisi delle regole con deployment automatico.

Per informazioni sulla riduzione della cardinalità utilizzando le regole di registrazione sui collettori di cui è stato eseguito il deployment autonomo, consulta Controllo dei costi e attribuzione.

Archiviazione dei dati

Tutti i dati di Managed Service per Prometheus vengono archiviati per 24 mesi senza costi aggiuntivi.

Managed Service per Prometheus supporta un intervallo minimo di scrape di 5 secondi. I dati vengono archiviati alla massima granularità per 1 settimana, poi vengono sottoposti a campionamento a punti di 1 minuto per le 5 settimane successive, quindi sottocampionati a punti di 10 minuti e archiviati per il resto del periodo di conservazione.

Managed Service per Prometheus non ha limiti al numero di serie temporali attive o di serie temporali totali.

Per ulteriori informazioni, consulta Quote e limiti nella documentazione di Cloud Monitoring.

Fatturazione e quote

Managed Service per Prometheus è un prodotto Google Cloud e si applicano quote di fatturazione e di utilizzo.

Fatturazione

La fatturazione del servizio si basa principalmente sul numero di campioni di metriche importati nello spazio di archiviazione. È previsto anche un addebito nominale per le chiamate API di lettura. Managed Service per Prometheus non addebita alcun costo per l'archiviazione o la conservazione dei dati delle metriche.

Quote

Managed Service per Prometheus condivide le quote di importazione e lettura con Cloud Monitoring. La quota di importazione predefinita è 500 QPS per progetto con un massimo di 200 campioni in una singola chiamata, equivalenti a 100.000 campioni al secondo. La quota di lettura predefinita è 100 QPS per ambito delle metriche.

Puoi aumentare queste quote per supportare i tuoi volumi di metriche e query. Per informazioni sulla gestione delle quote e sulla richiesta di aumenti della quota, consulta Utilizzo delle quote.

Termini di servizio e conformità

Managed Service per Prometheus fa parte di Cloud Monitoring e pertanto eredita determinati contratti e certificazioni da Cloud Monitoring, inclusi, a titolo esemplificativo:

Passaggi successivi