Google Cloud Managed Service per Prometheus

Google Cloud Managed Service per Prometheus è la soluzione multicloud e multiprogetto completamente gestita di Google Cloudper le metriche di Prometheus e OpenTelemetry. Ti consente di monitorare e creare avvisi sui tuoi carichi di lavoro a livello globale utilizzando Prometheus e OpenTelemetry, senza dover gestire e utilizzare manualmente Prometheus su larga scala.

Managed Service per Prometheus raccoglie le metriche dagli esportatori 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, avviso e flusso di lavoro esistenti basati su PromQL. È compatibile con il cloud ibrido 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 di sistema GKE gratuite, utilizzando PromQL.

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

Scopri in che modo The Home Depot utilizza Managed Service per Prometheus per ottenere un'osservabilità unificata in 2200 negozi che eseguono cluster Kubernetes on-premise:

Panoramica del sistema

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

Managed Service per Prometheus ti consente di accedere alle funzionalità di Prometheus e Cloud Monitoring.

Managed Service per Prometheus è basato 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, sia le metriche di Cloud Monitoring sia quelle importate da Managed Service per Prometheus possono essere sottoposte a query 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 delle regole e degli avvisi e l'archiviazione dei dati vengono gestite all'interno di un singolo server Prometheus. Managed Service per Prometheus suddivide le responsabilità di queste funzioni in più componenti:

  • La raccolta dei dati viene gestita da raccoglitori gestiti, raccoglitori di cui è stato eseguito il deployment da remoto, OpenTelemetry Collector o Ops Agent, che recupera gli esportatori locali e inoltra i dati raccolti a Monarch. Questi raccoglitori possono essere utilizzati per carichi di lavoro Kubernetes, serverless e VM tradizionali e possono essere eseguiti ovunque, inclusi altri cloud e deployment on-premise.
  • La valutazione delle query viene gestita da Monarch, che esegue query e unisce i risultati in tutte le regioni Google Cloude in un massimo di 3500 progettiGoogle 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 e configurati localmente, che eseguono regole e avvisi rispetto al datastore Monarch globale e inoltrano gli avvisi attivati a Prometheus AlertManager.
  • L'archiviazione dei dati è gestita da Monarch, che memorizza tutti i dati Prometheus per 24 mesi senza costi aggiuntivi.

Grafana si connette al datastore Monarch globale anziché a 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 tue metriche in tutti i tuoi cloud.

Raccolta dei dati

Puoi utilizzare Managed Service per Prometheus in una delle quattro modalità: con la raccolta di dati gestita, con la raccolta di dati con deployment automatico, con OpenTelemetry Collector o con Ops Agent.

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

Con la raccolta di dati autodeployata, gestisci l'installazione di Prometheus come hai sempre fatto. L'unica differenza rispetto a Prometheus upstream è che esegui il programma binario di sostituzione drop-in di Managed Service per Prometheus anziché il programma binario Prometheus upstream.

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

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

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

Puoi eseguire raccoglitori gestiti, di cui è stato eseguito il deployment da remoto e OpenTelemetry nei deployment on-premise 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 l'esecuzione di query globali.

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

  • Raccolta gestita:

    • L'approccio consigliato da Google per tutti gli ambienti Kubernetes.
    • Eseguiti il deployment utilizzando la UI di GKE, gcloud CLI, kubectl CLI o Terraform.
    • Il funzionamento di Prometheus, ovvero la generazione di configurazioni di scraping, lo scaling dell'importazione, l'ambito delle regole per i dati giusti e così via, è gestito completamente dall'operatore Kubernetes.
    • Lo scraping e le regole sono configurati utilizzando risorse personalizzate leggere.
    • 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' Google Cloud assistenza tecnica.
  • Raccolta con deployment autonomo:

    • Un sostituto temporaneo per il programma 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.
    • Lo scaling e lo sharding funzionale vengono eseguiti manualmente.
    • Ideale per l'integrazione rapida in configurazioni esistenti più complesse. Puoi riutilizzare le configurazioni esistenti ed eseguire Prometheus upstream e Managed Service per Prometheus contemporaneamente.
    • Le regole e gli avvisi vengono in genere eseguiti all'interno di singoli server Prometheus, il che potrebbe essere preferibile per le implementazioni edge, in quanto la valutazione delle regole locali non comporta traffico di rete.
    • Potrebbe supportare casi d'uso di coda lunga non ancora supportati dalla raccolta gestita, ad esempio aggregazioni locali per ridurre la cardinalità.
    • Assistenza limitata da parte dell'assistenza tecnica di Google Cloud .
  • Il raccoglitore OpenTelemetry:

    • Un singolo raccoglitore che può 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.
    • Eseguiti il deployment in qualsiasi ambiente di calcolo o Kubernetes manualmente o utilizzando Terraform. Può essere utilizzato 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 sul push.
    • I metadati vengono inseriti da qualsiasi cloud utilizzando i processori di rilevamento delle risorse.
    • Le regole e gli avvisi possono essere eseguiti utilizzando un criterio di avviso di Cloud Monitoring o lo strumento di valutazione delle regole autonomo.
    • Supporta al meglio i flussi di lavoro e le funzionalità cross-signal, come gli esemplari.
    • 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 Esegui la raccolta gestita al di fuori di Google Cloud, Esegui la raccolta autodeploy al di fuori diGoogle Cloud o Aggiungi processori OpenTelemetry.

Valutazione delle query

Managed Service per Prometheus supporta qualsiasi UI di query che possa chiamare l'API Prometheus Query, inclusa Grafana e la UI di Cloud Monitoring. Le dashboard Grafana esistenti continuano a funzionare quando passi da Prometheus locale a Managed Service per Prometheus e puoi continuare a utilizzare PromQL che si trova nei repository 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 Kubernetes gratuite, metriche personalizzate e metriche basate sui 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 avvisi completamente basata sul cloud sia un valutatore di regole autonomo, entrambi 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 consente di impostare le autorizzazioni IAM su gruppi di progetti.

Poiché tutte le opzioni di valutazione delle regole accettano il formato standard rule_files di Prometheus, puoi eseguire facilmente la migrazione a Managed Service per Prometheus copiando e incollando le regole esistenti o quelle trovate in repository open source popolari. Per chi utilizza i raccoglitori autogestiti, 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 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 delle regole gestite e avvisi.

Per la valutazione delle regole con la raccolta di cui è stato eseguito il deployment automatico, OpenTelemetry Collector e Ops Agent, vedi Valutazione delle regole e avvisi con deployment automatico.

Per informazioni sulla riduzione della cardinalità utilizzando le regole di registrazione sui raccoglitori autogestiti, consulta Controlli e attribuzione dei costi.

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 di scraping minimo di 5 secondi. I dati vengono archiviati con granularità completa per 1 settimana, poi vengono ridotti a punti di 1 minuto per le 5 settimane successive, poi vengono ridotti a punti di 10 minuti e archiviati per il resto del periodo di conservazione.

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

Per saperne di più, 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 utilizzo.

Fatturazione

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

Quote

Managed Service per Prometheus condivide le quote di inserimento 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 sulle richieste di aumento delle quote, vedi Utilizzo delle quote.

Termini di servizio e conformità

Managed Service per Prometheus fa parte di Cloud Monitoring e pertanto eredita determinati accordi e certificazioni da Cloud Monitoring, tra cui (ma non solo):

Passaggi successivi