Supervisión basada en software de código abierto (OSS)

Las industrias reguladas, como las finanzas y la atención médica, deben supervisar la infraestructura esencial y, al mismo tiempo, mantener los datos estrictamente dentro de los límites regionales.

El software de código abierto (OSS) puede complementar y extender las funciones de Cloud Monitoring y Cloud Logging que están disponibles actualmente en Cloud de Confiance by S3NS. En este ejemplo se muestra cómo crear una solución de observabilidad soberana completa en Cloud de Confiance by S3NS agregando herramientas de código abierto de uso generalizado.

La arquitectura usa OpenTelemetry, Grafana Mimir y Grafana Loki (respaldados por Cloud Storage), Grafana y Fluent Bit para generar métricas, registros, visualizaciones y alertas para Google Kubernetes Engine (GKE) y Compute Engine. Todos los datos permanecen dentro de la región soberana y evitan las tarifas de SaaS de terceros.

Te recomendamos que te suscribas a las notas de la versión pertinentes para obtener actualizaciones futuras de las Cloud de Confiance by S3NS capacidades deobservabilidad.

Para implementar esta solución, sigue la implementación de referencia que se incluye con Terraform.

Público objetivo

Esta solución es para empresas que necesitan supervisar cargas de trabajo en entornos soberanos Cloud de Confiance by S3NS Está dirigida a las siguientes partes interesadas:

  • Ingenieros de confiabilidad del sitio (SREs) y líderes de DevOps que aprovisionan almacenamiento de métricas y canalizaciones de registros automatizados y escalables para supervisar el estado de las aplicaciones y hacer un seguimiento de los acuerdos de nivel de servicio (ANS) del sistema sin mantenimiento manual del exportador.
  • Funcionarios de cumplimiento y seguridad que se aseguran de que los registros, las métricas y los indicadores operativos sensibles de las aplicaciones permanezcan localizados dentro del límite soberano y eviten el flujo de datos de SaaS no soberanos.
  • Arquitectos de la nube empresarial que establecen una base estandarizada de OpenTelemetry que desbloquea las migraciones inmediatas a la nube y proporciona una ruta de transición fluida a la supervisión de la nube de origen.

Capacidades principales

  • Observabilidad soberana y retención de datos locales: Recopila, procesa, y almacena métricas de aplicaciones para registros de Compute Engine y GKE dentro de la infraestructura soberana local con buckets de Cloud Storage.
  • Ingesta estándar de OpenTelemetry: Usa recopiladores de OpenTelemetry para la recopilación de Prometheus basada en extracción y la ingesta de métricas del protocolo OpenTelemetry (OTLP) basada en envío. Este enfoque admite la compatibilidad futura con Cloud Monitoring de origen.
  • Almacenamiento de métricas respaldado por Cloud Storage escalable: Configura Grafana Mimir y Grafana Loki para usar Cloud Storage como un backend de bloque de métricas de Prometheus rentable y de alta disponibilidad.
  • Visualización unificada de telemetría: Visualiza paneles de Grafana preconfigurados que muestran métricas de aplicaciones en tiempo real, flujos de registros de Grafana Loki, registros stdout de VMs de Compute Engine y fuentes de datos de Cloud Logging integradas.
  • Canalización de registro de VMs de Compute Engine: Instala Fluent Bit y OpenTelemetry Collector Contrib automáticamente en las VMs de Compute Engine para transmitir registros systemd-journald y stdout a Grafana Loki, Cloud Logging o ambos. También puedes recopilar métricas de host de VM y métricas de aplicaciones sintéticas de OTLP para reenviar a Mimir a través de mTLS.
  • Automatización de implementación flexible: Usa un enfoque de infraestructura como código (IaC) de Terraform y administración de paquetes de Kubernetes con Helm para la configuración y la eliminación coherentes del entorno.

Arquitectura

Esta arquitectura usa recopiladores de OpenTelemetry, Grafana Mimir, Grafana Loki, kube-state-metrics, Fluent Bit, cert-manager y Grafana para supervisar las cargas de trabajo de Compute Engine y GKE con Cloud Storage para métricas y Cloud Logging para registros. Mimir y Loki dentro de la nube privada virtual (VPC) usan el balanceador de cargas de aplicaciones interno a través de mTLS para que las VMs de Compute Engine puedan enviar métricas y registros. Grafana se expone de forma externa a través de HTTPS con una puerta de enlace de GKE regional.

Las VMs de Compute Engine y los clústeres de GKE usan herramientas de supervisión de código abierto que almacenan datos en Cloud Storage y se integran en Cloud Logging y Cloud Monitoring.

Componentes

Componente Tecnología Objetivo
Recopilador de telemetría Recopilador de OpenTelemetry Canalización de telemetría central para procesar métricas HTTP/gRPC del protocolo OpenTelemetry (OTLP), recopilar extremos de Prometheus y reenviar a Mimir.
Base de datos de métricas Grafana Mimir Base de datos de almacenamiento de métricas de Prometheus a largo plazo y de alta disponibilidad con bloques persistentes en Cloud Storage.
Base de datos de registros Grafana Loki Base de datos de agregación de registros de varios usuarios y escalable horizontalmente que conserva fragmentos y los índices de TSDB en Cloud Storage.
Almacenamiento de objetos Cloud Storage Aprovisiona buckets dedicados para métricas de Mimir, registros de Loki y artefactos de supervisión compartidos.
Métricas de estado del clúster kube-state-metrics Escucha el servidor de API de Kubernetes y genera métricas sobre el estado de los objetos del clúster (como implementaciones, nodos o Pods). El recopilador de OpenTelemetry lo recopila con ServiceMonitor.
PKI y certificados cert-manager y emisor de PKI Inicia una AC raíz interna y ClusterIssuer para emitir certificados TLS/mTLS para componentes en el clúster y VMs de Compute Engine independientes.
Recopilador de registros de Google Kubernetes Engine Fluent Bit (DaemonSet) Recopila registros stdout de contenedores en nodos de GKE, enriquece con metadatos de Kubernetes y reenvía con OTLP mTLS al recopilador de OTel de GKE.
Recopilador de registros de VM Fluent Bit y OpenTelemetry Contrib Recopila registros stdout del SO y de la aplicación en VMs de Compute Engine independientes con systemd-journald y transmite a Cloud Logging.
Registro central Cloud Logging Receptor de registros centralizado para registros de plataforma y de VMs de Compute Engine.
Visualización y alertas Grafana Capa de visualización de paneles preconfigurada con fuentes de datos para Mimir, Grafana Loki, Cloud Monitoring y Cloud Logging.
App de demostración de envío Python (app de beacon) Microservicio de demostración que emite métricas sintéticas de OTLP enviadas al recopilador de OpenTelemetry cada 5 segundos.
App de demostración de extracción Python (app de sensor) Microservicio de demostración para exponer un extremo /metrics estándar de Prometheus recopilado por el recopilador de OpenTelemetry.
App de demostración Python Aplicación de demostración que se ejecuta en VMs de Compute Engine para producir registros JSON estructurados en stdout.
Deployment Terraform y Helm Automatiza la implementación de la nube privada virtual, el clúster de GKE, el bucket de Cloud Storage, los roles de Identity and Access Management (IAM), la VM de Compute Engine y el gráfico de Helm.

Implementación de referencia

En GitHub, se proporciona una implementación de referencia de esta solución con Terraform. Ten en cuenta que este es un prototipo de prueba de concepto creado con fines de demostración, y la implementación no se audita ni se protege para casos de uso de producción.

Para obtener instrucciones de implementación y requisitos previos, consulta Observabilidad y supervisión soberanas con Grafana y OpenTelemetry.