Google Cloud Managed Service per Prometheus

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

Managed Service per Prometheus raccoglie le metriche dagli esportatori Prometheus e consente di eseguire query sui dati a livello globale utilizzando PromQL, il che significa che puoi continuare a utilizzare le dashboard, gli avvisi e i flussi di lavoro Grafana esistenti basati su PromQL. È 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 a monte. 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 fornisce una panoramica del servizio gestito e altri documenti descrivono come configurare ed eseguire il servizio. Per ricevere aggiornamenti regolari sulle nuove funzionalità e release, 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 ti offre la familiarità di Prometheus supportata dall'infrastruttura globale, multi-cloud e tra progetti 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 sono disponibili per le query utilizzando PromQL in Cloud Monitoring, Grafana o qualsiasi altro strumento che può 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 lo spazio di archiviazione dei dati vengono gestiti 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 di cui è stato eseguito il deployment da remoto, dall'OpenTelemetry Collector o dall'Agente di gestione, che esegue lo scraping degli esportatori locali e inoltra i dati raccolti a Monarch. Questi collector possono essere utilizzati per i carichi di lavoro Kubernetes, serverless e VM tradizionali e possono essere eseguiti ovunque, inclusi altri cloud e deployment on-premise.
  • La valutazione delle query è gestita da Monarch, che esegue query e unisce i risultati in tutte le regioni Google Cloud e in un massimo di 1000 progetti Google Cloud.
  • La valutazione delle regole e degli 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 in base al 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 Monarch globale anziché ai singoli server Prometheus. Se hai configurato i raccoglitori Managed Service per Prometheus in tutti i tuoi deployment, questa singola istanza di Grafana ti offre una visualizzazione unificata di tutte le tue metriche su tutti i tuoi 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 con deployment automatico, con OpenTelemetry Collector o con Ops Agent.

Managed Service per Prometheus offre un operatore per la raccolta dei dati gestita in ambienti Kubernetes. Ti consigliamo di utilizzare la raccolta gestita, poiché elimina la complessità del deployment, del ridimensionamento, dello sharding, della configurazione e della manutenzione dei server Prometheus. La raccolta gestita è supportata sia per gli ambienti Kubernetes GKE sia per quelli non GKE.

Con la raccolta dei dati di cui hai eseguito il deployment autonomamente, gestisci l'installazione di Prometheus come sempre. L'unica differenza rispetto a Prometheus upstream è che esegui il programma binario sostitutivo plug-in di Managed Service per Prometheus anziché il programma binario di Prometheus upstream.

Il raccoglitore OpenTelemetry può essere utilizzato per eseguire lo scraping degli esportatori Prometheus e inviare i dati a Managed Service per Prometheus. OpenTelemetry supporta una strategia di agente singolo per tutti gli indicatori, in cui è possibile utilizzare un singolo collector 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 estrarre e inviare le metriche di 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 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 i raccoglitori gestiti, di cui è stato eseguito il deployment da remoto e OpenTelemetry nei deployment on-prem e su qualsiasi cloud. I collector in esecuzione all'esterno 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.
    • Eseguito il deployment utilizzando l'interfaccia utente di GKE, gcloud CLI, kubectl CLI o Terraform.
    • Il funzionamento di Prometheus, ovvero la generazione di configurazioni di scansione, l'importazione su larga scala, le regole di ambito per i dati giusti e così via, è gestito completamente dall'operatore Kubernetes.
    • Lo scraping e le regole sono configurati utilizzando risorse personalizzate leggere.
    • Ottimo per chi vuole un'esperienza completamente gestita e senza interventi.
    • Migrazione intuitiva dalle configurazioni di prometheus-operator.
    • Supporta la maggior parte dei casi d'uso attuali di Prometheus.
    • Assistenza completa da parte dell'assistenza tecnica di Google Cloud.
  • 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 metodi che preferisci, 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 contemporaneamente Prometheus e Managed Service per Prometheus.
    • Le regole e gli avvisi vengono in genere eseguiti all'interno di singoli server Prometheus, che potrebbe essere preferibile per le implementazioni edge poiché la valutazione delle regole locali non comporta alcun traffico di rete.
    • Potrebbe supportare casi d'uso long-tail non ancora supportati dalla raccolta gestita, ad esempio le aggregazioni locali per ridurre la cardinalità.
    • Assistenza limitata da parte dell'assistenza tecnica Google Cloud.
  • Il Collector OpenTelemetry:

    • Un singolo collector che può raccogliere le 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.
    • Dispiegato 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 su push.
    • I metadati vengono iniettati 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 la valutazione autonoma delle regole.
    • Supporta al meglio i flussi di lavoro e le funzionalità di cross-signal, come gli esempi.
    • Assistenza limitata da parte dell'assistenza tecnica Google Cloud.
  • L'agente operativo:

Se utilizzi il servizio gestito al di fuori di Google Kubernetes Engine o Google Cloud, potrebbe essere necessaria qualche configurazione aggiuntiva. Consulta Eseguire la raccolta gestita al di fuori di Google Cloud, Eseguire la raccolta di cui è stato eseguito il deployment autonomo al di fuori di Google Cloud o Aggiungere i processori OpenTelemetry.

Valutazione delle query

Managed Service per Prometheus supporta qualsiasi interfaccia utente di query che può chiamare l'API Prometheus Query, tra cui Grafana e l'interfaccia utente di Cloud Monitoring. Le dashboard di Grafana esistenti continuano a funzionare quando passi da Prometheus locale a Managed Service per Prometheus e puoi continuare a utilizzare PromQL 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 sulle metriche Kubernetes gratuite, sulle metriche personalizzate e sulle 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 delle regole e degli avvisi

Managed Service per Prometheus fornisce sia una pipeline di avviso completamente basata su cloud sia un valutatore di regole autonomo, che valutano entrambi le regole in base a tutti i dati di Monarch accessibili in un ambito delle metriche. La valutazione delle regole in base a un ambito delle metriche di più progetti elimina la necessità di collocare in modo congiunto tutti i dati di interesse su un singolo server Prometheus o all'interno di un singolo progetto Google Cloud e 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 quelle disponibili nei repository open source più diffusi. Se utilizzi i collector di cui hai eseguito il deployment autonomo, puoi continuare a valutare le regole di registrazione localmente nei tuoi collector. I risultati delle regole di registrazione e di avviso vengono archiviati in Monarch, proprio come i dati metrici 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, consulta Valutazione delle regole gestite e alert.

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

Per informazioni su come ridurre la cardinalità utilizzando le regole di registrazione sui collector di cui è stato eseguito il deployment autonomo, consulta Controlli 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 di scansione 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.

Il 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 le quote di fatturazione e utilizzo.

Fatturazione

La fatturazione del servizio si basa principalmente sul numero di campioni di metriche importati nello spazio di archiviazione. Inoltre, è previsto un costo nominale per le chiamate API di lettura. Managed Service per Prometheus non prevede addebiti per lo spazio di 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, ovvero 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 query e metriche. 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, tra cui (a titolo esemplificativo):

Passaggi successivi