Google Cloud Managed Service per Prometheus

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

Managed Service per Prometheus raccoglie le 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 garantisce la portabilità rimanendo compatibile con l'upstream Prometheus. Puoi anche integrare il monitoraggio Prometheus eseguendo query su oltre 1500 metriche gratuite in Cloud Monitoring, incluse le metriche di sistema GKE gratuite, utilizzando PromQL.

Questo documento fornisce 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 osservabilità unificata su 2200 negozi 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 eseguire query sia sulle metriche di Cloud Monitoring sia su 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 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, di cui è stato eseguito il deployment in modo autonomo, da OpenTelemetry Collector o da Ops Agent, che analizzano gli esportatori locali e inoltrano i dati raccolti a Monarch. Questi raccoglitori possono essere utilizzati per carichi di lavoro delle VM Kubernetes, serverless e tradizionali e possono essere eseguiti ovunque, inclusi altri cloud e deployment on-prem.
  • La valutazione delle query è gestita da Monarch, che esegue query e risultati delle unioni in tutte le regioni 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 per la valutazione delle regole eseguiti localmente e configurati localmente, che eseguono regole e avvisi nell'datastore Monarch globale e inoltrano eventuali avvisi attivati a Prometheus AlertManager.
  • L'archiviazione dei dati è gestita da Monarch, che archivia tutti i dati di Prometheus per 24 mesi senza costi aggiuntivi.

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

Raccolta dati

Puoi utilizzare Managed Service per Prometheus in una delle quattro modalità: con raccolta dei dati gestita, con raccolta dei dati di cui è stato eseguito il deployment in modo autonomo, con OpenTelemetry Collector o con 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 quanto elimina la complessità associata alle operazioni di deployment, scalabilità, sharding, configurazione e manutenzione dei server Prometheus. La raccolta gestita è supportata per 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 a monte è che esegui 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 con un singolo agente per tutti gli indicatori, in cui un raccoglitore può essere utilizzato per le metriche (incluse le metriche di Prometheus), i log e le tracce in qualsiasi ambiente.

Puoi configurare Ops Agent su qualsiasi istanza 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 Managed Service per Prometheus per inviare le metriche a Cloud Monitoring.

Puoi eseguire raccoglitori 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 i dati a Monarch per l'archiviazione a lungo termine e le query globali.

Quando scegli tra le opzioni di raccolta, tieni presente quanto segue:

  • Raccolta gestita:

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

    • Una sostituzione drop-in per il programma binario di Prometheus a monte.
    • Puoi utilizzare il tuo meccanismo di deployment preferito, 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 un'integrazione rapida in configurazioni esistenti più complesse. Puoi riutilizzare le configurazioni esistenti ed eseguire Prometheus a monte e Managed Service per Prometheus affiancati.
    • Le regole e gli avvisi vengono generalmente 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 di Google Cloud.
  • OpenTelemetry Collector:

    • Un singolo raccoglitore in grado di raccogliere metriche (incluse quelle di 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, inclusi Cloud Logging e Cloud Trace.
    • Deployment eseguito 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 pattern di raccolta delle metriche basati su push.
    • I metadati vengono inseriti da qualsiasi cloud utilizzando processori di rilevamento delle risorse.
    • Le regole e gli avvisi possono essere eseguiti utilizzando un criterio di avviso di Cloud Monitoring o il valutatore di regole autonomo.
    • Best supporta flussi di lavoro e funzionalità di segnali diversi, come gli esempi.
    • Assistenza limitata da parte dell'assistenza tecnica di Google Cloud.
  • Ops Agent:

Se utilizzi il servizio gestito al di fuori di Google Kubernetes Engine o Google Cloud, potrebbero essere necessarie alcune configurazioni aggiuntive; vedi Eseguire la raccolta gestita al di fuori di Google Cloud, Eseguire la raccolta autodistribuita 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 Prometheus, tra cui Grafana e la UI di Cloud Monitoring. Le dashboard Grafana esistenti continuano a funzionare quando si passa da Prometheus locale a Managed Service per Prometheus e si può continuare a utilizzare PromQL nei repository open source popolari e nei forum della community.

Puoi utilizzare PromQL per eseguire query su oltre 1500 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, vedi 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 entrambe 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. Inoltre, ti consente di impostare le 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 e incollando le regole presenti nei repository open source più diffusi. Per chi utilizza 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 inoltre eseguire la migrazione delle regole di avviso di Prometheus ai 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, vedi Valutazione e avvisi delle regole gestite.

Per la valutazione delle regole con 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 raccoglitori 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 ricampionati a punti di 1 minuto per le 5 settimane successive, quindi vengono ricampionati 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 totali.

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

Fatturazione e quote

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

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 volumi di metriche e query. Per informazioni sulla gestione delle quote e sulla richiesta di aumenti di 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