Curso Advanced OpenTelemetry and Pipeline Customization

  • DevOps | CI | CD | Kubernetes | Web3

Curso Advanced OpenTelemetry and Pipeline Customization

24 horas
Visão Geral

Curso Advanced OpenTelemetry and Pipeline Customization. Este curso intensivo de 24 horas foi cuidadosamente projetado para profissionais de observabilidade, engenheiros de DevOps, SREs e arquitetos que já possuem uma base sólida em OpenTelemetry e buscam aprofundar seus conhecimentos em customização avançada e otimização de pipelines de telemetria. O foco principal é explorar as capacidades mais sofisticadas do OpenTelemetry SDKs (extensores, processadores, samplers customizados) e, em particular, as funcionalidades avançadas do OpenTelemetry Collector. Os participantes aprenderão a criar componentes customizados para o Collector, implementar estratégias de amostragem inteligentes, enriquecer dados de telemetria de forma programática e gerenciar pipelines complexos para atender a requisitos específicos de negócios e infraestrutura em larga escala. Ao final, os alunos serão capazes de construir soluções de observabilidade altamente adaptadas, eficientes e escaláveis.

Objetivo

Após realizar este curso Advanced OpenTelemetry and Pipeline Customization, você será capaz de:

  • Dominar as APIs avançadas e os pontos de extensão dos SDKs OpenTelemetry para instrumentação personalizada.
  • Desenvolver processadores e exportadores customizados para o OpenTelemetry Collector.
  • Implementar estratégias de amostragem (sampling) dinâmicas e inteligentes para traces, otimizando o volume de dados e a relevância.
  • Enriquecer e transformar dados de telemetria (traces, métricas, logs) no pipeline do Collector para atender a requisitos específicos.
  • Gerenciar e otimizar pipelines de telemetria complexos e de alto volume para performance e custo.
  • Utilizar o OpenTelemetry como uma plataforma extensível para solucionar desafios de observabilidade não-padrão.
  • Integrar OpenTelemetry com sistemas legados ou proprietários de forma customizada.
  • Desenvolver componentes de instrumentação OpenTelemetry para bibliotecas e frameworks não suportados automaticamente.
Publico Alvo
  • Engenheiros de DevOps experientes
  • Engenheiros de Confiabilidade de Sites (SREs)
  • Arquitetos de Sistemas e Nuvem
  • Desenvolvedores Líderes e Tech Leads
  • Profissionais de Observabilidade que buscam especialização em OpenTelemetry
  • Qualquer profissional que precise de controle total sobre o fluxo de telemetria e sua otimização.
Pre-Requisitos
  • Conhecimento Sólido em OpenTelemetry: Familiaridade com os conceitos de traces, métricas, logs, OpenTelemetry Collector (receivers, processors, exporters) e instrumentação básica em pelo menos uma linguagem de programação.
  • Experiência com linguagens de programação: Proficiência em pelo menos uma das linguagens (Go é altamente recomendável para desenvolvimento de Collector, mas Java/Python/Node.js para SDKs).
  • Conhecimento de Kubernetes/Docker: Experiência prática com ambientes conteinerizados e orquestrados.
  • Noções de Observabilidade: Compreensão dos desafios e pilares da observabilidade em sistemas distribuídos.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Módulo I: Revisão e Aprofundamento no OpenTelemetry Core (4 horas)

  • 1.1 Arquitetura e Modelo de Dados Avançado (1h)
    • Revisão aprofundada dos pilares de telemetria: Traces (Spans, SpanContext, Baggage), Métricas (Instruments, Aggregators), Logs (LogRecords).
    • Detalhes do modelo de dados OTLP (OpenTelemetry Protocol): Protobuf.
    • Compreensão de Resource e Resource Attributes como base para correlação.
    • Mecanismos de Context Propagation (W3C Trace Context, Baggage).
  • 1.2 OpenTelemetry SDKs: Extensibilidade e Pontos de Injeção (2h)
    • Traces: SpanProcessors (Batch, Simple, Custom), Samplers (AlwaysOn, AlwaysOff, TraceIdRatioBased, ParentBased, Custom).
    • Métricas: View (para customizar aggregation), MetricReaders (Push/Pull).
    • Logs: LogRecordProcessors, LogRecordExporters.
    • Discutindo os limites e capacidades de cada SDK para instrumentação e processamento local.
  • 1.3 Boas Práticas e Considerações de Performance (1h)
    • Impacto da instrumentação na performance da aplicação: overhead de CPU/memória.
    • Estratégias para instrumentação eficiente: evitar dados excessivos, uso de caches.
    • Gerenciamento de recursos do SDK e configurações para ambientes de alta carga.
    • Configurando o ambiente de laboratório para testes de performance.

Módulo II: OpenTelemetry Collector: Componentes e Extensibilidade (6 horas)

  • 2.1 Arquitetura Interna do Collector e Pipeline Detalhado (2h)
    • Profundidade nos Receivers, Processors, Exporters.
    • Conceito de Extensions e Service no Collector.
    • Fluxo de dados através dos pipelines (receivers -> processors -> exporters).
    • Modelagem de dados dentro do Collector: PData (Traces, Metrics, Logs).
    • Discutindo as implicações de performance do design de pipeline.
  • 2.2 Desenvolvendo um Processador Customizado para o Collector (2.5h)
    • Estrutura de um processador OTel Collector (Go).
    • Passos para criar um novo processador:
      • Definição da configuração (YAML).
      • Implementação da lógica de processamento (e.g., adicionar/remover atributos, transformar nomes de spans/métricas, filtragem avançada).
      • Registro do componente.
    • Exemplo prático: um processador para anonimizar dados sensíveis ou enriquecer com informações de sistema externo.
  • 2.3 Desenvolvendo um Exportador Customizado para o Collector (1.5h)
    • Estrutura de um exportador OTel Collector (Go).
    • Passos para criar um novo exportador:
      • Definição da configuração.
      • Implementação da lógica de envio para um sistema de destino não suportado nativamente (e.g., um serviço de ingestão proprietário, um banco de dados NoSQL).
      • Tratamento de erros e retry mechanisms.
    • Exemplo prático: exportador para um endpoint HTTP customizado.

Módulo III: Amostragem Avançada e Controle de Tráfego (5 horas)

  • 3.1 Estratégias de Amostragem Client-Side vs. Server-Side (1.5h)
    • Revisão dos Samplers no SDK e suas limitações para decisões complexas.
    • Introdução à amostragem no Collector (Server-Side Sampling) e suas vantagens para controle global.
    • Análise de tradeoffs: custo vs. visibilidade vs. overhead.
  • 3.2 Amostragem Baseada em Cauda (Tail-Based Sampling) com tail_sampling_processor (2h)
    • Princípios da amostragem baseada em cauda: decidir sobre o trace completo no final.
    • Regras de decisão: status_code, attributes, latency, rate_limiting, error_status.
    • Configuração e otimização do tail_sampling_processor no OpenTelemetry Collector.
    • Exemplos práticos: amostrar 100% dos traces com erro, 10% dos traces lentos, ou traces de usuários específicos.
  • 3.3 Amostragem Probabilística e Adaptativa (1h)
    • Configuração do probabilistic_sampler no Collector.
    • Introdução a conceitos de amostragem adaptativa (e.g., usando mecanismos externos para ajustar a taxa de amostragem).
    • Casos de uso para amostragem em larga escala e ambientes de alta carga.
  • 3.4 Filtragem Avançada de Telemetria (0.5h)
    • Uso de filter_processor para descartar traces, métricas ou logs indesejados.
    • Filtragem por atributos, nomes, tipos.

Módulo IV: Otimização de Pipelines e Enriquecimento de Dados (5 horas)

  • 4.1 Processamento de Atributos e Metadados (2h)
    • attributes_processor: Renomear, mover, copiar, remover atributos.
    • resource_processor: Adicionar/modificar atributos de recursos (e.g., adicionar tags de ambiente, cluster, versão da aplicação).
    • k8sattributes_processor: Enriquecer dados de telemetria com metadados do Kubernetes (Pod name, Namespace, Container ID).
    • transform_processor: Linguagem de transformação (OTPL) para manipulação complexa de dados.
    • Casos de uso: Padronização de nomes de atributos, enriquecimento de contexto.
  • 4.2 Redução de Ruído e Agregação de Dados (1.5h)
    • batch_processor: Otimização do envio de dados em lotes para exporters.
    • memory_limiter_processor: Prevenção de estouro de memória no Collector.
    • spanmetrics_processor: Geração de métricas a partir de traces para análise de dependência de serviço (Service Map).
    • cumulative_to_delta_processor / delta_to_cumulative_processor: Conversão de tipos de métricas.
  • 4.3 Roteamento Inteligente de Telemetria (1h)
    • routing_processor: Enviar diferentes tipos de traces/métricas/logs para diferentes exportadores com base em atributos ou regras.
    • Configuração de múltiplos pipelines para diferentes destinos de telemetria (e.g., traces de produção para Jaeger, traces de dev para console).
  • 4.4 Auditoria e Validação do Pipeline (0.5h)
    • Monitoramento do próprio OpenTelemetry Collector (métricas internas).
    • Técnicas de depuração de configurações complexas do Collector.
    • Ferramentas para validar o formato e o conteúdo dos dados OTLP.

Módulo V: Laboratório Avançado e Desafios (4 horas)

  • 5.1 Workshop: Construindo um Pipeline de Observabilidade Customizado (2.5h)
    • Cenário complexo: Aplicação distribuída que interage com um sistema legado via protocolo customizado.
    • Desafio 1: Desenvolver um processador customizado para o Collector que enriqueça os traces com informações de um serviço de configuração externo.
    • Desafio 2: Implementar uma estratégia de amostragem no Collector que garanta 100% de traces para transações críticas e 5% para transações comuns.
    • Desafio 3: Criar um dashboard no Grafana que combine métricas de Service Map (geradas pelo spanmetrics_processor) com traces filtrados pelo critério de amostragem.
  • 5.2 Troubleshooting e Otimização de Performance (1h)
    • Simulação de problemas no pipeline (e.g., Collector travando, dados não chegando).
    • Uso de ferramentas de depuração do Collector e logs para identificar a causa raiz.
    • Otimização de recursos e configuração para lidar com alto volume de telemetria.
    • Análise de impacto de diferentes configurações de amostragem e processamento.
  • 5.3 Discussão de Casos de Uso Reais e Soluções (0.5h)
    • Compartilhamento de experiências e desafios em ambientes de produção.
    • Discussão sobre como os conceitos aprendidos podem ser aplicados para resolver problemas específicos dos participantes.
    • Tendências futuras e desenvolvimentos no ecossistema OpenTelemetry.
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h