Google Cloud Managed Service per Prometheus

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

Managed Service per Prometheus raccoglie metriche dagli esportatori Prometheus e consente di eseguire query sui dati a livello globale utilizzando PromQL, il che significa che puoi continuare a utilizzare qualsiasi dashboard Grafana esistente, avvisi basati su PromQL e flussi di lavoro. È compatibile con ambienti ibridi e multi-cloud, può monitorare Kubernetes, VM e carichi di lavoro serverless su Cloud Run, conserva i dati per 24 mesi e mantiene la portabilità rimanendo compatibile con Prometheus upstream. Puoi anche integrare il monitoraggio di Prometheus eseguendo query su oltre 6500 metriche gratuite in Cloud Monitoring, incluse le metriche del 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 su nuove funzionalità e release, invia il modulo di registrazione facoltativo.

Scopri come The Home Depot utilizza Managed Service per Prometheus per ottenere osservabilità unificata in 2200 negozi che eseguono cluster Kubernetes on-prem:

Panoramica del sistema

Google Cloud Managed Service per Prometheus ti offre la familiarità di Prometheus grazie al supporto dell'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 data store 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 le metriche 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, raccoglitori auto-distribuiti, OpenTelemetry Collector o Ops Agent, che eseguono lo scraping dei dati degli esportatori locali e inoltrano i dati raccolti a Monarch. Questi raccoglitori possono essere utilizzati per carichi di lavoro 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 di unioni in tutte le regioni di Google Cloud e su 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 di valutazione delle regole eseguiti in locale e configurati localmente che eseguono regole e avvisi sul datastore Monarch globale 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 anziché connettersi ai singoli server Prometheus. Se hai configurato i raccoglitori Managed Service per Prometheus in tutti i deployment, questa singola istanza Grafana ti offre una visualizzazione unificata di tutte le metriche in tutti i cloud.

Raccolta dei dati

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

Managed Service per Prometheus offre un operatore per la raccolta dei dati gestita negli ambienti Kubernetes. Ti consigliamo di utilizzare la raccolta gestita, che elimina la complessità legata al deployment, alla scalabilità, allo sharding, alla configurazione e alla manutenzione dei server Prometheus. La raccolta gestita è supportata per gli ambienti Kubernetes sia GKE che non GKE.

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

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

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

Se hai un servizio Cloud Run che scrive metriche Prometheus o metriche OTLP, puoi utilizzare un file collaterale e Managed Service per Prometheus per inviare le metriche a Cloud Monitoring.

Puoi eseguire raccoglitori gestiti, con deployment autonomo e OpenTelemetry 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 diverse 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.
    • L'operazione di Prometheus, ad esempio la generazione di configurazioni di scrape, l'importazione di scalabilità, la definizione di regole di ambito in base ai dati corretti e così via, è gestita completamente dall'operatore Kubernetes.
    • Lo scraping e le regole vengono configurati utilizzando risorse personalizzate (CR) leggere.
    • Ideale per chi desidera un'esperienza più pratica e completamente gestita.
    • Migrazione intuitiva dalle configurazioni prometheus-operator.
    • Supporta la maggior parte dei casi d'uso di Prometheus attuali.
    • Assistenza completa dall'assistenza tecnica di Google Cloud.
  • Raccolta di cui è stato eseguito il deployment autonomo:

    • Una sostituzione drop-in del file binario Prometheus upstream.
    • 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 un'integrazione rapida in configurazioni esistenti più complesse. Puoi riutilizzare le configurazioni esistenti ed eseguire l'upstream di Prometheus e Managed Service per Prometheus uno accanto all'altro.
    • Regole e avvisi in genere vengono eseguiti all'interno di singoli server Prometheus, il che potrebbe essere preferibile per i deployment a livello perimetrale, in quanto la valutazione delle regole locali non comporta traffico di rete.
    • Potrebbe 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 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, inclusi Cloud Logging e Cloud Trace.
    • Deployment manuale o mediante Terraform in qualsiasi ambiente di computing o Kubernetes. Può essere usato 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 di metriche basate su push.
    • I metadati vengono inseriti da qualsiasi cloud utilizzando processori di rilevamento di risorse.
    • Regole e avvisi possono essere eseguiti utilizzando un criterio di avviso di Cloud Monitoring o lo strumento di valutazione delle regole autonomo.
    • Ideale supporta funzionalità e flussi di lavoro con indicatori 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, potrebbe essere necessaria una configurazione aggiuntiva; consulta Eseguire la raccolta gestita all'esterno di Google Cloud, Eseguire la raccolta di cui è stato eseguito il deployment autonomo all'esterno 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, inclusi Grafana e l'interfaccia utente di Cloud Monitoring. Le dashboard Grafana esistenti continuano a funzionare quando si passa da Prometheus locale a Managed Service per Prometheus. Inoltre, puoi continuare a utilizzare PromQL che si trova nei relativi open source più diffusi 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 gratuite di Kubernetes, 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 sia un valutatore delle regole autonomo, entrambi i quali valutano le regole sulla base di 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 consente di impostare autorizzazioni IAM su gruppi di progetti.

Poiché tutte le opzioni di valutazione delle regole accettano il formato rule_files di Prometheus standard, puoi eseguire facilmente la migrazione a Managed Service per Prometheus copiando e incollando le regole esistenti o copiando e incollando le regole presenti nei più diffusi repository open source. Per chi utilizza i raccoglitori di cui è stato eseguito il 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 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, consulta Valutazione e avvisi delle regole gestite.

Per la valutazione delle regole con raccolta di cui è stato eseguito il deployment autonomo, il raccoglitore OpenTelemetry e Ops Agent, consulta Valutazione e avvisi delle regole di cui è stato eseguito il deployment autonomo.

Per informazioni sulla riduzione della cardinalità mediante regole di registrazione su 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, quindi vengono sottoposti a sottocampionamento a punti di 1 minuto per le 5 settimane successive, quindi vengono sottoposti a sottocampionamento 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 al totale delle serie temporali.

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

Fatturazione e quote

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

Fatturazione

La fatturazione per il 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 è di 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 è di 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 delle quote, consulta Utilizzo delle quote.

Termini di servizio e conformità

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

Passaggi successivi