Surveillance basée sur des logiciels Open Source

Les secteurs réglementés, comme la finance et la santé, doivent surveiller les infrastructures critiques tout en conservant les données strictement dans les limites régionales.

Les logiciels Open Source (OSS) peuvent compléter et étendre les fonctionnalités Cloud Monitoring et Cloud Logging actuellement disponibles dans Cloud de Confiance by S3NS. Cet exemple vous montre comment créer une solution d'observabilité souveraine complète sur Cloud de Confiance by S3NS en ajoutant des outils Open Source largement utilisés.

L'architecture utilise OpenTelemetry, Grafana Mimir et Grafana Loki (basés sur Cloud Storage), Grafana et Fluent Bit pour générer des métriques, des journaux, des visualisations et des alertes pour Google Kubernetes Engine (GKE) et Compute Engine. Toutes les données restent dans la région souveraine et évitent les frais SaaS tiers.

Nous vous recommandons de vous abonner aux notes de version pertinentes pour les futures mises à jour des Cloud de Confiance by S3NS fonctionnalités d'observabilité.

Vous pouvez déployer cette solution en suivant l'implémentation de référence associée avec Terraform.

Audience cible

Cette solution est destinée aux entreprises qui doivent surveiller les charges de travail dans des environnements souverains Cloud de Confiance by S3NS Elle s'adresse aux parties prenantes suivantes :

  • Ingénieurs en fiabilité des sites (SRE) et responsables DevOps qui provisionnent des pipelines de stockage de métriques et de journaux automatisés et évolutifs pour surveiller l'état des applications et suivre les contrats de niveau de service (SLA) du système sans maintenance manuelle des exportateurs.
  • Responsables de la conformité et de la sécurité qui s'assurent que les journaux d'application, les métriques et les signaux opérationnels sensibles restent localisés dans les limites souveraines et évitent les flux de données SaaS non souverains.
  • Architectes cloud d'entreprise qui établissent une base OpenTelemetry standardisée qui débloque les migrations cloud immédiates et fournit un chemin de transition fluide vers la surveillance cloud propriétaire.

Fonctionnalités de base

  • Observabilité souveraine et conservation locale des données : collectez, traitez, et stockez les métriques d'application pour les journaux Compute Engine et GKE dans l'infrastructure souveraine locale à l'aide de buckets Cloud Storage.
  • Ingestion standard OpenTelemetry : utilisez des collecteurs OpenTelemetry pour la récupération Prometheus basée sur l'extraction et l'ingestion de métriques OpenTelemetry Protocol (OTLP) basées sur l'envoi. Cette approche est compatible avec la surveillance cloud propriétaire.
  • Stockage de métriques évolutif basé sur Cloud Storage : configurez Grafana Mimir et Grafana Loki pour utiliser Cloud Storage comme backend de bloc de métriques Prometheus à disponibilité élevée, économique.
  • Visualisation unifiée de la télémétrie : affichez les tableaux de bord Grafana préconfigurés qui affichent les métriques d'application en temps réel, les flux de journaux Grafana Loki, les journaux stdout des VM Compute Engine et intègrent les sources de données Cloud Logging.
  • Pipeline de journalisation des VM Compute Engine : installez automatiquement Fluent Bit et OpenTelemetry Collector Contrib sur les VM Compute Engine pour diffuser les journaux systemd-journald et stdout vers Grafana Loki, Cloud Logging, ou les deux. Vous pouvez également collecter des métriques d'hôte de VM et des métriques d'application OTLP synthétiques à transférer via mTLS vers Mimir.
  • Automatisation flexible du déploiement : utilisez une approche Infrastructure as Code (IaC) de Terraform et de gestion des packages Kubernetes avec Helm pour une configuration et une suppression cohérentes de l'environnement.

Architecture

Cette architecture utilise des collecteurs OpenTelemetry, Grafana Mimir, Grafana Loki, kube-state-metrics, Fluent Bit, cert-manager et Grafana pour surveiller les charges de travail Compute Engine et GKE avec Cloud Storage pour les métriques et Cloud Logging pour les journaux. Mimir et Loki dans le cloud privé virtuel (VPC) utilisent un équilibreur de charge d'application interne via mTLS afin que les VM Compute Engine puissent envoyer des métriques et des journaux. Grafana est exposé en externe via HTTPS à l'aide d'une passerelle GKE régionale.

Les VM Compute Engine et les clusters GKE utilisent des outils de surveillance Open Source qui stockent les données dans Cloud Storage et s'intègrent à Cloud Logging et Cloud Monitoring.

Composants

Composant Technologies Objectif
Collecteur de télémétrie Collecteur OpenTelemetry Pipeline de télémétrie central pour traiter les métriques HTTP/gRPC OpenTelemetry Protocol (OTLP), récupérer les points de terminaison Prometheus et transférer vers Mimir.
Base de données de métriques Grafana Mimir Base de données de stockage de métriques Prometheus à long terme et à haute disponibilité avec des blocs persistants dans Cloud Storage.
Base de données de journaux Grafana Loki Base de données d'agrégation de journaux multilocataire à évolutivité horizontale qui conserve les blocs et les index TSDB dans Cloud Storage.
Stockage d'objets Cloud Storage Provisionne des buckets dédiés pour les métriques Mimir, les journaux Loki et les artefacts de surveillance partagés.
Métriques d'état du cluster kube-state-metrics Écoute le serveur d'API Kubernetes et génère des métriques sur l'état des objets de cluster (tels que les déploiements, les nœuds ou les pods). Récupéré par le collecteur OpenTelemetry à l'aide de ServiceMonitor.
PKI et certificats cert-manager et émetteur PKI Amorce une autorité de certification racine interne et ClusterIssuer pour émettre des certificats TLS/mTLS pour les composants du cluster et les VM Compute Engine autonomes.
Collecteur de journaux Google Kubernetes Engine Fluent Bit (DaemonSet) Collecte les journaux stdout des conteneurs sur les nœuds GKE, les enrichit avec des métadonnées Kubernetes et les transfère à l'aide d'OTLP mTLS vers le collecteur OTel GKE.
Collecteur de journaux de VM Fluent Bit et OpenTelemetry Contrib Collecte les journaux stdout du système d'exploitation et des applications sur les VM Compute Engine autonomes à l'aide de systemd-journald et les diffuse vers Cloud Logging.
Journalisation centrale Cloud Logging Récepteur de journalisation centralisé pour les journaux de plate-forme et de VM Compute Engine.
Visualisation et alertes Grafana Couche de visualisation de tableau de bord préconfigurée avec des sources de données pour Mimir, Grafana Loki, Cloud Monitoring et Cloud Logging.
Application de démonstration push Python (application balise) Microservice de démonstration qui émet des métriques OTLP synthétiques envoyées au collecteur OpenTelemetry toutes les cinq secondes.
Application de démonstration pull Python (application de capteur) Microservice de démonstration pour exposer un point de terminaison Prometheus /metrics standard récupéré par le collecteur OpenTelemetry.
Application de démonstration Python Application de démonstration exécutée sur des VM Compute Engine pour produire des journaux JSON structurés dans stdout.
Déploiement Terraform et Helm Automatise le déploiement du cloud privé virtuel, du cluster GKE, du bucket Cloud Storage, des rôles Identity and Access Management (IAM), de la VM Compute Engine et du graphique Helm.

Implémentation de référence

Une implémentation de référence de cette solution avec Terraform est fournie dans GitHub. Notez qu'il s'agit d'un prototype de preuve de concept conçu à des fins de démonstration. L'implémentation n'est pas auditée ni sécurisée pour les cas d'utilisation en production.

Pour connaître les prérequis et les instructions de déploiement, consultez Observabilité et surveillance souveraines avec Grafana et OpenTelemetry.