O que é o OpenTelemetry?
Definição, benefícios e componentes principais do OpenTelemetry
O OpenTelemetry (OTel) é uma estrutura de observabilidade de código aberto para coletar, processar e exportar dados de telemetria (logs, métricas e rastreamentos) em um formato único e unificado.
Foi desenvolvido pela Cloud Native Computing Foundation (CNCF) para padronizar como os dados de telemetria são coletados e enviados para backends de observabilidade. O OpenTelemetry fornece SDKs, APIs e ferramentas independentes de fornecedor, para que seus dados possam ser enviados a qualquer backend de observabilidade aceito pelo OpenTelemetry para análise.
O OpenTelemetry está rapidamente se tornando o padrão de telemetria de observabilidade dominante em aplicações nativas da nuvem. A adoção do OpenTelemetry é considerada crítica para as organizações que querem estar preparadas para as demandas de dados do futuro sem estarem vinculadas a um fornecedor específico ou às limitações das tecnologias existentes.

Entendendo dados de telemetria (logs, métricas e traces)
Os dados de telemetria são a base da observabilidade moderna. Os três pilares — log, métricas e traces — oferecem aos desenvolvedores, DevOps e equipes de TI uma visão profunda sobre o comportamento, desempenho e saúde do sistema.
- Logs: Um registro textual de um evento isolado em um momento específico
- Exemplo: Uma tentativa de login registrada com carimbo de data e hora, ID de usuário e endereço IP
- Ideal para: Solução de problemas, depuração e verificação da execução do código
- Métricas: Medições numéricas ao longo do tempo (dados de séries temporais) que refletem o desempenho do sistema
- Exemplo: Utilização da CPU em 85% ou taxa de requisição HTTP de 1.200/s
- Ideal para: Monitoramento em tempo real, alertas e análise de tendências
- Rastreamentos: O percurso de uma solicitação ou transação por vários componentes do sistema, dividido em segmentos
- Exemplo: Rastreamento de um processo de checkout em microsserviços em uma plataforma de comércio eletrônico
- Melhor para: Identificar gargalos de desempenho e entender os fluxos de solicitação em arquiteturas distribuídas
Para obter orientações detalhadas sobre a configuração de cada tipo de telemetria com o OpenTelemetry, consulte nossa documentação sobre como começar a usar o OpenTelemetry no Elastic.
Um breve histórico do OpenTelemetry
Antes do OpenTelemery, o setor dependia de OpenTracing e OpenCensus, que eram dois projetos sobrepostos que serviam a propósitos semelhantes com implementações diferentes. Para eliminar a fragmentação, a CNCF os uniu em um único projeto: OpenTelemetry.
Principais componentes legados:
- OpenTracing: APIs independentes de fornecedor para envio de dados de telemetria
- OpenCensus: bibliotecas específicas de linguagem para coleta de métricas/traces
Resultado da fusão: O OTel combina ambos em um único framework com:
- APIs
- SDKs
- Opções de instrumentação
- Um serviço de coleta
O OpenTelemetry surgiu da unificação do OpenTracing e do OpenCensus, combinando forças para criar um padrão único e global de observabilidade.
Com o OpenTelemetry, os desenvolvedores não precisam mais escolher entre o OpenTracing e o OpenCensus. "O OpenTelemetry fornece um conjunto unificado de bibliotecas, APIs, agentes e serviços coletores para coleta e transferência de dados."
Como o OpenTelemetry funciona
O OpenTelemetry oferece um pipeline padronizado para coletar dados de telemetria e enviá-los para um back end de observabilidade à sua escolha. É projetado para ser agnóstico de fornecedor e extensível.
- API: Interfaces específicas de linguagem para gerar dados de telemetria
- SDKs: Implementar as APIs e gerenciar o processamento, o lote e a exportação de dados
- Instrumentação:pode ser automática (sem alterações no código) ou manual (métricas/eventos personalizados)
- Exportadores: Envie dados processados para um ou mais destinos usando protocolos padrão como o OTLP
As APIs do OpenTelemetry específicas para cada linguagem coordenam a coleta de dados de telemetria no seu sistema e instrumentam seu código. Os SDKs do OpenTelemetry implementam e oferecem suporte para as APIs por meio de bibliotecas que ajudam na coleta, no processamento e na exportação dos dados. O OpenTelemetry também fornece instrumentação automática de serviços e aceita instrumentação customizada. Você pode exportar seus dados de telemetria usando um exportador do fornecedor ou o protocolo OpenTelemetry (OTLP).
Principais componentes do OpenTelemetry
Os principais componentes do OpenTelemetry são:
| Componente | Objetivo | Exemplo de uso |
|---|---|---|
| Collector | Recebe, processa e exporta dados de telemetria em vários formatos; neutro em relação ao fornecedor | Agregando logs, métricas e traces dos clusters do Kubernetes antes de enviar para a Elastic |
| SDKs de linguagem | Implementa a API do OpenTelemetry para uma linguagem de programação específica | Usando o SDK do Python para instrumentar um aplicativo escrito em Python |
| Bibliotecas de instrumentação | Estruturas e bibliotecas populares de instrumentos automáticos para geração de telemetria | Coletando métricas de solicitação HTTP do Spring Boot automaticamente |
| Instrumentação automática | Adiciona capacidades de telemetria sem precisar alterar o código | Injetando um agente Java para monitorar microsserviços baseados em JVM |
| Exportadores | Envia os dados coletados para um ou mais back ends de observabilidade | Exportando rastreamentos para o Jaeger e métricas para o Prometheus |
Esses componentes permitem a coleta de dados flexível e padronizada, independentemente da escolha do backend.
Nossa documentação de configuração do coletor OpenTelemetry com a Elastic contém um passo a passo completo de instalação.
Benefícios do OpenTelemetry
Os benefícios do OpenTelemetry são a padronização dos dados e a flexibilidade à prova de futuro, resultando em melhor observabilidade, maior eficiência e custos reduzidos.
- Padronização
- Use um único método de coleta para vários backends: Elastic, Splunk, Datadog e muito mais.
- Reduza a complexidade do pipeline com um único framework extensível para logs, métricas e rastreamentos.
- Neutralidade de fornecedor
- Altere os back ends sem precisar reinstrumentar as aplicações.
- Adote facilmente novas ferramentas de observabilidade sem precisar fazer uma substituição completa.
- Mantenha a flexibilidade à medida que sua pilha de tecnologia evolui.
- Dados consistentes
- Mantenha o processamento e a análise mais fáceis com um esquema comum unificado.
- Execute análises, consultas, machine learning e muito mais em dados de diferentes fontes.
Com o OpenTelemetry, você obtém escalabilidade para crescimento, compatibilidade entre plataformas e fácil integração com suas ferramentas existentes de monitoramento e observabilidade.
Integração do OpenTelemetry e da Elastic
Como defensora de longa data dos padrões abertos, a Elastic está comprometida em promover a adoção do OpenTelemetry em todo o setor por meio de contribuição e colaboração ativas.
Elastic Observability integra perfeitamente os dados do OpenTelemetry e adiciona buscar, análises, machine learning e visualização poderosas em redimensionar. Em 2023, a Elastic contribuiu com o ECS para o OpenTelemetry para unificar os formatos de dados de telemetria.
Distribuições Elastic de OpenTelemetry (EDOT) fornecem aos SREs e desenvolvedores um ecossistema OTel estável. Com a abordagem OTel-first da Elastic preservando as convenções esquemáticas nativas do OpenTelemetry, não é necessário realizar conversões de esquema. EDOT também inclui correções além dos ciclos de lançamento do OTel e suporte de nível empresarial sem complementos próprios.
Explore as soluções OpenTelemetry-first da Elastic
Casos de uso de observabilidade de CI/CD com OpenTelemetry e Elastic
A Elastic trabalha com plataformas populares de CI/CD, como Jenkins, Ansible e Maven, para instrumentar pipelines com OpenTelemetry.
Isso possibilita:
- Visibilidade de ponta a ponta do pipeline
- Dashboards de monitoramento ao vivo
- Alertas e detecção de anomalias automatizadas
- Solução mais rápida de problemas de compilação/teste
Você pode encontrar instruções de configuração para usar o OpenTelemetry com o monitoramento de CI/CD da Elastic na nossa documentação oficial.
Perguntas frequentes sobre o OpenTelemetry
O OpenTelemetry é um padrão?
Sim. O OpenTelemetry é um projeto de código aberto e um padrão unificado para logs, rastreamentos e métricas.
Cite alguns exemplos de dados de telemetria.
Entre os exemplos de dados de telemetria, podemos citar logs, métricas e traces usados em observabilidade e monitoramento do sistema.
Qual é a diferença entre o OpenTelemetry e o Jaeger?
O OpenTelemetry ajuda a processar e exportar dados para uma variedade de backends comerciais e open source, mas não é um backend de observabilidade como o Jaeger. Enquanto o OpenTelemetry fornece um conjunto de APIs, SDKs e ferramentas para gerar e gerenciar dados de telemetria, o Jaeger é uma ferramenta open source de tracing distribuído. As equipes de TI usam o Jaeger para monitorar e solucionar problemas em aplicações com base na arquitetura de microsserviços. O Jaeger não aceita logs e métricas.
Qual é a diferença entre a API e o SDK do OpenTelemetry?
As APIs (interfaces de programação de aplicações) do OpenTelemetry coordenam a coleta de dados de telemetria no seu sistema e instrumentam seu código. Como as APIs são específicas para cada linguagem, elas devem corresponder à linguagem do seu código. Os SDKs (kits de desenvolvimento de software) do OpenTelemetry implementam e oferecem suporte para as APIs por meio de bibliotecas que ajudam na coleta, no processamento e na exportação dos dados para um backend de observabilidade.
Quem desenvolveu o OpenTelemetry e por quê?
O OpenTelemetry foi desenvolvido sob a nuvem Native Computing Foundation (CNCF) para unificar e padronizar a coleta e exportação de dados de telemetria. Ele uniu os projetos anteriores OpenTracing e OpenCensus para eliminar a fragmentação.
O que é o Protocolo OpenTelemetry (OTLP) e por que ele é importante?
OTLP é o protocolo padrão do OpenTelemetry, neutro em relação ao fornecedor, para enviar dados de telemetria entre componentes e back-ends. Ele garante que todos os dados — logs, métricas e rastreamentos — sejam transmitidos em um formato consistente, tornando a integração entre as ferramentas mais simples e mais confiável.
O que é o OpenTelemetry Collector?
O OpenTelemetry Collector é um serviço neutro em relação ao fornecedor que recebe dados de telemetria de várias fontes, processa-os (filtrando, agregando ou transformando) e os exporta para um ou mais back-ends. Ele aceita vários protocolos e formatos em uma única implantação.
"Como o OpenTelemetry se integra ao Elastic?"
Você pode trazer rastreamentos, logs e métricas nativos do OTel para a Elastic de qualquer ferramenta OTel de terceiros — ou dos seus próprios coletores OTel usando processadores e exportadores personalizados — para análise e visualização na Elastic. Elastic nativamente faz a ingestão de dados OTLP do OpenTelemetry e oferece capacidades avançadas, como busca escalável, visualização interativa, monitoramento em tempo real e detecção de anomalia baseada em machine learning. Não é necessário fazer conversões de esquema.
Recursos OpenTelemetry da Elastic
- Distribuições Elastic do OpenTelemetry (EDOT)
- Começando a usar o OpenTelemetry no Elastic APM
- Criando uma distribuição personalizada do coletor OpenTelemetry
- Instrumentação do OpenTelemetry com o Elastic Stack
- Guia do Gerente de SRE para OpenTelemetry
- Webinar sob demanda: Observabilidade em campo aberto: OTel para o setor público
- Observabilidade no setor público com OTel e Elastic