Monitoramento baseado em software de código aberto (OSS)

Setores regulamentados, como finanças e saúde, precisam monitorar a infraestrutura crítica, mantendo os dados estritamente dentro das fronteiras regionais.

O software de código aberto (OSS, na sigla em inglês) pode complementar e estender os recursos do Cloud Monitoring e do Cloud Logging atualmente disponíveis no Cloud de Confiance by S3NS. Este exemplo mostra como criar uma solução de observabilidade soberana completa no Cloud de Confiance by S3NS adicionando ferramentas de código aberto amplamente usadas.

A arquitetura usa o OpenTelemetry, o Grafana Mimir e o Grafana Loki (com tecnologia do Cloud Storage), o Grafana e o Fluent Bit para gerar métricas, registros, visualizações e alertas para o Google Kubernetes Engine (GKE) e o Compute Engine. Todos os dados permanecem na região soberana e evitam taxas de SaaS de terceiros.

Recomendamos que você se inscreva nas notas da versão relevantes para receber atualizações futuras sobre os Cloud de Confiance by S3NS recursos de observabilidade.

Para implantar essa solução, siga a implementação de referência complementar com o Terraform.

Público-alvo

Essa solução é para empresas que precisam monitorar cargas de trabalho em ambientes soberanos Cloud de Confiance by S3NS Ela atende aos seguintes stakeholders:

  • Engenheiros de confiabilidade de sites (SREs) e líderes de DevOps que provisionam armazenamento de métricas automatizado e escalonável e pipelines de registro para monitorar a integridade do aplicativo e acompanhar os contratos de nível de serviço (SLAs) do sistema sem manutenção manual do exportador.
  • Oficiais de conformidade e segurança que garantem que os registros, as métricas e os indicadores operacionais de aplicativos sensíveis permaneçam localizados dentro da fronteira soberana e evitem o fluxo de dados de SaaS não soberanos.
  • Arquitetos de nuvem empresarial que estabelecem uma base OpenTelemetry padronizada que desbloqueia migrações imediatas para a nuvem e oferece um caminho de transição suave para o monitoramento de nuvem próprio.

Recursos principais

  • Observabilidade soberana e retenção de dados locais: colete, processe, e armazene métricas de aplicativos para registros do Compute Engine e do GKE na infraestrutura soberana local usando buckets do Cloud Storage.
  • Ingestão padrão do OpenTelemetry: use coletores do OpenTelemetry para extração do Prometheus baseada em pull e protocolo OpenTelemetry (OTLP) baseado em push ingestão de métricas. Essa abordagem oferece suporte à compatibilidade futura com o Cloud Monitoring próprio.
  • Armazenamento de métricas escalonável com tecnologia do Cloud Storage: configure o Grafana Mimir e o Grafana Loki para usar o Cloud Storage como um back-end de bloco de métricas do Prometheus altamente disponível, econômico.
  • Visualização unificada de telemetria: visualize painéis do Grafana pré-configurados que mostram métricas de aplicativos em tempo real, fluxos de registro do Grafana Loki, registros stdout da VM do Compute Engine e integram fontes de dados do Cloud Logging.
  • Pipeline de geração de registros da VM do Compute Engine: instale o Fluent Bit e o OpenTelemetry Collector Contrib automaticamente nas VMs do Compute Engine para transmitir registros systemd-journald e stdout para o Grafana Loki, o Cloud Logging ou ambos. Também é possível coletar métricas de host de VM e métricas de aplicativos OTLP sintéticas para encaminhar por mTLS para o Mimir.
  • Automação de implantação flexível: use uma abordagem de infraestrutura como código (IaC) do Terraform e do gerenciamento de pacotes do Kubernetes com o Helm para configuração e desmontagem consistentes do ambiente.

Arquitetura

Essa arquitetura usa coletores do OpenTelemetry, Grafana Mimir, Grafana Loki, kube-state-metrics, Fluent Bit, cert-manager e Grafana para monitorar cargas de trabalho do Compute Engine e do GKE com o Cloud Storage para métricas e o Cloud Logging para registros. O Mimir e o Loki na nuvem privada virtual (VPC) usam o balanceador de carga de aplicativos interno em mTLS para que as VMs do Compute Engine possam enviar métricas e registros. O Grafana é exposto externamente por HTTPS usando um gateway regional do GKE.

As VMs do Compute Engine e os clusters do GKE usam ferramentas de monitoramento de código aberto que armazenam dados no Cloud Storage e se integram ao Cloud Logging e ao Cloud Monitoring.

Componentes

Componente Tecnologia Finalidade
Coletor de telemetria Coletor do OpenTelemetry Pipeline de telemetria central para processar métricas HTTP/gRPC do protocolo OpenTelemetry (OTLP), extrair endpoints do Prometheus e encaminhar para o Mimir.
Banco de dados de métricas Grafana Mimir Banco de dados de armazenamento de métricas do Prometheus altamente disponível e de longo prazo com blocos persistentes no Cloud Storage.
Banco de dados de registros Grafana Loki Banco de dados de agregação de registros multitenant escalonável horizontalmente que mantém blocos e índices TSDB no Cloud Storage.
Armazenamento de objetos Cloud Storage Provisiona buckets dedicados para métricas do Mimir, registros do Loki e artefatos de monitoramento compartilhados.
Métricas de estado do cluster kube-state-metrics Ouve o servidor da API do Kubernetes e gera métricas sobre o estado dos objetos do cluster (como implantações, nós ou pods). Extraído pelo coletor do OpenTelemetry usando ServiceMonitor.
PKI e certificados cert-manager e emissor de PKI Inicializa uma CA raiz interna e ClusterIssuer para emitir certificados TLS/mTLS para componentes no cluster e VMs do Compute Engine independentes.
Coletor de registros do Google Kubernetes Engine Fluent Bit (DaemonSet) Coleta registros stdout de contêineres em nós do GKE, enriquece com metadados do Kubernetes e encaminha usando OTLP mTLS para o coletor OTel do GKE.
Coletor de registros de VM Fluent Bit e OpenTelemetry Contrib Coleta registros stdout do SO e do aplicativo em VMs do Compute Engine independentes usando systemd-journald e transmite para o Cloud Logging.
Geração de registros centralizada Cloud Logging Receptor de geração de registros centralizado para registros de plataforma e VM do Compute Engine.
Visualização e alertas Grafana Camada de visualização do painel pré-configurada com fontes de dados para Mimir, Grafana Loki, Cloud Monitoring e Cloud Logging.
App de demonstração de push Python (app de beacon) Microsserviço de demonstração que emite métricas OTLP sintéticas enviadas ao coletor do OpenTelemetry a cada 5 segundos.
App de demonstração de pull Python (app de sensor) Microsserviço de demonstração para expor um endpoint /metrics padrão do Prometheus extraído pelo coletor do OpenTelemetry.
App de demonstração Python Aplicativo de demonstração em execução em VMs do Compute Engine para produzir registros JSON estruturados para stdout.
Implantação Terraform e Helm Automatiza a implantação da nuvem privada virtual, do cluster do GKE, do bucket do Cloud Storage, dos papéis do Identity and Access Management (IAM), da VM do Compute Engine e do gráfico do Helm.

Implementação de referência

Uma implementação de referência dessa solução com o Terraform é fornecida no GitHub. Esse é um protótipo de prova de conceito criado para fins de demonstração, e a implementação não é auditada nem protegida para casos de uso de produção.

Para conferir os pré-requisitos e as instruções de implantação, consulte Observabilidade e monitoramento soberanos com o Grafana e o OpenTelemetry.