6.1 KiB
| title | description | weight | default_lang_commit |
|---|---|---|---|
| O que é o OpenTelemetry? | Uma breve explicação sobre o que o OpenTelemetry é e não é. | 150 | f172773716 |
O OpenTelemetry é um framework e um conjunto de ferramentas de Observabilidade projetados para criar e gerenciar dados de telemetria como rastros, métricas e logs. Um aspecto crucial do OpenTelemetry é ser agnóstico em relação a fornecedores e ferramentas, o que o possibilita ser utilizado com uma grande variedade de backends de observabilidade, incluindo ferramentas de código aberto como Jaeger e Prometheus, além de soluções comerciais.
O OpenTelemetry não é um backend de observabilidade como Jaeger, Prometheus ou outras soluções comerciais. O OpenTelemetry é focado na geração, coleta, gerenciamento e exportação de telemetria. Um dos principais objetivos do OpenTelemetry é permitir que você possa instrumentar suas aplicações ou sistemas de forma fácil, independentemente da linguagem, infraestrutura ou ambiente de execução. Crucialmente, o armazenamento e a visualização da telemetria são intencionalmente deixados para outras ferramentas.
O que é observabilidade?
Observabilidade é a capacidade de entender o estado interno de um sistema ao examinar os dados que ele emite. No contexto de software, isso significa ser capaz de entender o estado interno do sistema analisando seus dados de telemetria, que incluem rastros, métricas e logs.
Para tornar um sistema observável, ele deve ser instrumentado. Ou seja, o código deve emitir rastros, métricas ou logs. Os dados instrumentados devem então ser enviados para um backend de observabilidade.
Por que OpenTelemetry?
Com a ascensão da computação em nuvem, arquiteturas de microsserviços e requisitos de negócios cada vez mais complexos, a necessidade de observabilidade de software e infraestrutura é cada vez maior.
O OpenTelemetry atende à necessidade de observabilidade seguindo dois princípios-chave:
- Você tem controle total sobre os dados que gera. Não há dependência de fornecedor (vendor lock-in).
- Você só precisa aprender um único conjunto de APIs e convenções.
Ambos os princípios combinados dão a flexibilidade que equipes e organizações precisam no mundo da computação moderna atual.
Se você quiser saber mais, dê uma olhada na missão, visão e valores do OpenTelemetry.
Os principais componentes do OpenTelemetry
O OpenTelemetry consiste dos seguintes componentes:
- Uma especificação para todos os componentes
- Um protocolo padrão que define o formato dos dados de telemetria
- Convenções semânticas que estabelecem um padrão de nomenclatura para tipos comuns de dados de telemetria
- APIs que definem como gerar dados de telemetria
- SDKs para linguagens de programação que implementam a especificação, APIs e exportação de dados de telemetria
- Um ecossistema de bibliotecas que implementa instrumentação para bibliotecas e frameworks comuns
- Componentes para instrumentação automática que geram dados de telemetria sem exigir alterações no código
- O OpenTelemetry Collector, um proxy intermediário que recebe, processa e exporta dados de telemetria
- Várias outras ferramentas, como o OpenTelemetry Operator para Kubernetes, OpenTelemetry Helm Charts, e recursos da comunidade para FaaS
O OpenTelemetry é utilizado por diversas bibliotecas, serviços e aplicativos que o integram para fornecer observabilidade por padrão.
O OpenTelemetry é suportado por inúmeros fornecedores, muitos dos quais oferecem suporte comercial para o OpenTelemetry e contribuem diretamente para o projeto.
Extensibilidade
O OpenTelemetry é projetado para ser extensível. Alguns exemplos de como ele pode ser estendido incluem:
- Adicionar um receiver ao OpenTelemetry Collector para suportar dados de telemetria de uma fonte personalizada
- Carregar bibliotecas de instrumentação personalizadas em um SDK
- Criar uma distribuição de um SDK ou do Collector adaptada a um caso de uso específico
- Criar um novo exporter para um backend personalizado que ainda não suporta o protocolo do OpenTelemetry (OTLP)
- Criar um propagador personalizado para formatos de propagação de contexto não padronizados
Embora a maioria dos usuários possa não precisar estender o OpenTelemetry, o projeto é projetado para tornar isso possível em quase todos os níveis.
História
O OpenTelemetry é um projeto da Cloud Native Computing Foundation (CNCF) que é resultado da fusão entre dois projetos anteriores, OpenTracing e OpenCensus.
Ambos os projetos foram criados para resolver o mesmo problema: a falta de um padrão de como instrumentar o código e enviar dados de telemetria para um backend de Observabilidade. Como nenhum dos projetos conseguiu resolver o problema por completo de forma independente, eles se fundiram para formar o OpenTelemetry e combinar seus esforços para oferecer uma solução única.
Se você está atualmente utilizando OpenTracing ou OpenCensus, pode aprender como migrar para o OpenTelemetry no guia de migração.
Próximos passos
- Começando — mergulhe de cabeça!
- Aprenda sobre os conceitos do OpenTelemetry.