Monitoraggio basato su software open source (OSS)

I settori regolamentati come quello finanziario e sanitario devono monitorare le infrastrutture critiche mantenendo i dati rigorosamente entro i confini regionali.

Il software open source (OSS) può integrare ed estendere le funzionalità di Cloud Monitoring e Cloud Logging attualmente disponibili in Cloud de Confiance by S3NS. Questo esempio mostra come creare una soluzione di osservabilità sovrana completa su Cloud de Confiance by S3NS aggiungendo strumenti open source di uso comune.

L'architettura utilizza OpenTelemetry, Grafana Mimir e Grafana Loki (supportati da Cloud Storage), Grafana e Fluent Bit per generare metriche, log, visualizzazioni e avvisi per Google Kubernetes Engine (GKE) e Compute Engine. Tutti i dati rimangono all'interno della regione sovrana ed evitano le tariffe SaaS di terze parti.

Ti consigliamo di abbonarti alle note di rilascio pertinenti per i futuri aggiornamenti delle funzionalità di osservabilità. Cloud de Confiance by S3NS

Puoi eseguire il deployment di questa soluzione seguendo l'implementazione di riferimento di accompagnamento con Terraform.

Pubblico di destinazione

Questa soluzione è destinata alle aziende che devono monitorare i carichi di lavoro in ambienti sovrani Cloud de Confiance by S3NS Si rivolge ai seguenti stakeholder:

  • Site Reliability Engineer (SRE) e leader DevOps che eseguono il provisioning di pipeline di log e archiviazione di metriche scalabili e automatizzate per monitorare l'integrità delle applicazioni e tenere traccia degli accordi sul livello del servizio (SLA) del sistema senza la manutenzione manuale degli esportatori.
  • Responsabili della conformità e della sicurezza che garantiscono che i log, le metriche e i segnali operativi delle applicazioni sensibili rimangano localizzati all'interno del confine sovrano ed evitino il deflusso di dati SaaS non sovrani.
  • Architetti cloud aziendali che stabiliscono una base OpenTelemetry standardizzata che sblocca le migrazioni cloud immediate e fornisce un percorso di transizione senza problemi al monitoraggio cloud di prima parte.

Funzionalità principali

  • Osservabilità sovrana e conservazione dei dati locali: raccogli, elabora, e archivia le metriche delle applicazioni per i log di Compute Engine e GKE all'interno dell'infrastruttura sovrana locale utilizzando i bucket Cloud Storage.
  • Inserimento standard OpenTelemetry: utilizza gli agenti di raccolta OpenTelemetry per lo scraping di Prometheus basato su pull e l'inserimento di metriche OpenTelemetry Protocol (OTLP) basato su push. Questo approccio supporta la compatibilità futura con il monitoraggio cloud di prima parte.
  • Archiviazione di metriche scalabile supportata da Cloud Storage: configura Grafana Mimir e Grafana Loki in modo che utilizzino Cloud Storage come backend di blocchi di metriche Prometheus a costi contenuti e ad alta affidabilità.
  • Visualizzazione unificata della telemetria: visualizza le dashboard Grafana preconfigurate che mostrano le metriche delle applicazioni in tempo reale, gli stream di log di Grafana Loki, i log stdout delle VM di Compute Engine e integra le origini dati di Cloud Logging.
  • Pipeline di logging delle VM di Compute Engine: installa automaticamente Fluent Bit e OpenTelemetry Collector Contrib sulle VM di Compute Engine per eseguire lo streaming dei log systemd-journald e stdout in Grafana Loki, Cloud Logging o entrambi. Puoi anche raccogliere le metriche host delle VM e le metriche delle applicazioni OTLP sintetiche da inoltrare tramite mTLS a Mimir.
  • Automazione del deployment flessibile: utilizza un approccio Infrastructure as Code (IaC) di Terraform e la gestione dei pacchetti Kubernetes con Helm per la configurazione e l'eliminazione coerenti dell'ambiente.

Architettura

Questa architettura utilizza gli agenti di raccolta OpenTelemetry, Grafana Mimir, Grafana Loki, kube-state-metrics, Fluent Bit, cert-manager e Grafana per monitorare i carichi di lavoro di Compute Engine e GKE con Cloud Storage per le metriche e Cloud Logging per i log. Mimir e Loki all'interno del virtual private cloud (VPC) utilizzano il bilanciatore del carico delle applicazioni interno su mTLS in modo che le VM di Compute Engine possano eseguire il push di metriche e log. Grafana è esposto esternamente tramite HTTPS utilizzando un gateway GKE regionale.

Le VM di Compute Engine e i cluster GKE utilizzano strumenti di monitoraggio open source che archiviano i dati in Cloud Storage e si integrano con Cloud Logging e Cloud Monitoring.

Componenti

Componente Tecnologia Finalità
Agente di raccolta della telemetria Agente di raccolta OpenTelemetry Pipeline di telemetria centrale per elaborare le metriche HTTP/gRPC OpenTelemetry Protocol (OTLP), eseguire lo scraping degli endpoint Prometheus e inoltrarle a Mimir.
Database delle metriche Grafana Mimir Database di archiviazione delle metriche Prometheus a lungo termine e ad alta affidabilità con blocchi persistenti in Cloud Storage.
Database dei log Grafana Loki Database di aggregazione dei log multi-tenant scalabile orizzontalmente che persiste blocchi e indici TSDB in Cloud Storage.
Archiviazione degli oggetti Cloud Storage Esegue il provisioning di bucket dedicati per le metriche Mimir, i log Loki e gli artefatti di monitoraggio condivisi.
Metriche dello stato del cluster kube-state-metrics Ascolta il server API Kubernetes e genera metriche sullo stato degli oggetti del cluster (come deployment, nodi o pod). Eseguito lo scraping da OpenTelemetry Collector utilizzando ServiceMonitor.
PKI e certificati cert-manager e emittente PKI Esegue il bootstrap di una CA radice interna e di un ClusterIssuer per emettere certificati TLS/mTLS per i componenti del cluster e le VM di Compute Engine autonome.
Agente di raccolta dei log di Google Kubernetes Engine Fluent Bit (DaemonSet) Raccoglie i log stdout dei container nei nodi GKE, li arricchisce con i metadati Kubernetes e li inoltra utilizzando OTLP mTLS all'agente di raccolta OTel GKE.
Agente di raccolta dei log delle VM Fluent Bit e OpenTelemetry Contrib Raccoglie i log stdout del sistema operativo e delle applicazioni sulle VM di Compute Engine autonome utilizzando systemd-journald ed esegue lo streaming in Cloud Logging.
Logging centralizzato Cloud Logging Sink di logging centralizzato per i log della piattaforma e delle VM di Compute Engine.
Visualizzazione e avvisi Grafana Livello di visualizzazione della dashboard preconfigurato con origini dati per Mimir, Grafana Loki, Cloud Monitoring e Cloud Logging.
App demo push Python (app beacon) Microservizio demo che emette metriche OTLP sintetiche inviate a OpenTelemetry Collector ogni 5 secondi.
App demo pull Python (app sensore) Microservizio demo per esporre un endpoint Prometheus /metrics standard di cui viene eseguito lo scraping da OpenTelemetry Collector.
App demo Python Applicazione demo in esecuzione sulle VM di Compute Engine per produrre log JSON strutturati in stdout.
Deployment Terraform e Helm Automatizza il deployment di cloud privato virtuale, cluster GKE, bucket Cloud Storage, ruoli Identity and Access Management (IAM), VM di Compute Engine e grafico Helm.

Implementazione di riferimento

In GitHub è disponibile un'implementazione di riferimento di questa soluzione con Terraform. Tieni presente che si tratta di un prototipo di prova di fattibilità creato a scopo dimostrativo e che l'implementazione non è sottoposta a audit o protetta per i casi d'uso di produzione.

Per i prerequisiti e le istruzioni di deployment, consulta Osservabilità e monitoraggio sovrani con Grafana e OpenTelemetry.