# Explicador de Telemetry Streaming (TS)

> Cole o JSON que você faz POST em /mgmt/shared/telemetry/declare e ele lê de volta para você: confirma a classe de topo Telemetry, lê o Controls opcional, e percorre cada objeto de classe agrupado pelo seu papel no pipeline de telemetria: as fontes de dados que produzem telemetria (system pollers, event listeners), os consumidores que a encaminham para fora (Splunk, Azure, AWS, DataDog, Prometheus e o resto do catálogo), e as classes de agrupamento e endpoint. Ele sinaliza as lacunas de pipeline que fazem uma declaração ter sucesso mas não fazer nada. O TS é a terceira extensão do F5 Automation Toolchain: o AS3 e o DO configuram a caixa, o TS a observa.

- Tool: https://ronutz.com/pt-BR/tools/telemetry-streaming-explainer
- Family: Redes

---

# Explicador de Telemetry Streaming (TS)

O F5 Automation Toolchain tem três extensões declarativas, e o jeito mais limpo de mantê-las juntas é por aquilo que cada uma faz com a caixa. O AS3 configura os serviços de aplicação de Camada 4-7. O DO faz o onboarding de Camada 1-3. O Telemetry Streaming é a terceira, e é a diferente do grupo: onde o AS3 e o DO configuram o BIG-IP, o TS o observa. Ele agrega, normaliza e encaminha estatísticas e eventos do dispositivo para uma aplicação consumidora, tudo a partir de uma única declaração JSON que você faz POST em `/mgmt/shared/telemetry/declare`. Esta ferramenta renderiza essa declaração de volta para você do jeito que a documentação descreve.

Cole o JSON e ela primeiro confirma que a `class` de topo é `Telemetry`, depois lê o objeto `Controls` opcional (seu `logLevel`, se `debug` está ligado, e se o `memoryMonitor` beta está definido). Então percorre cada objeto de classe nomeado, mas em vez de agrupá-los pela ordem de onboarding como o explicador de DO faz, agrupa-os pelo seu papel no pipeline de telemetria, porque esse pipeline é a intuição que vale carregar.

São três papéis. As fontes de dados produzem telemetria: um `Telemetry_System` com um `systemPoller` coleta e normaliza estatísticas de dispositivo, virtual server, pool e membro de pool em um intervalo; um `Telemetry_System_Poller` isolado faz o mesmo como objeto referenciado, por exemplo para puxar estatísticas de um BIG-IP adicional; e um `Telemetry_Listener` ingere os logs e eventos que o BIG-IP publica, tanto em TCP quanto em UDP, na porta 6514 por padrão. Os consumidores encaminham a telemetria para fora: um `Telemetry_Consumer` é um consumidor push cujo `type` seleciona o destino, e o catálogo é longo, Splunk, Azure Log Analytics, AWS CloudWatch e S3, Graphite, Kafka, ElasticSearch, DataDog, Generic HTTP, OpenTelemetry e mais; um `Telemetry_Pull_Consumer` em vez disso expõe a telemetria para um sistema externo como o Prometheus fazer scrape. As classes de apoio agrupam e estendem o resto: um `Telemetry_Namespace` isola um conjunto de pollers, listeners e consumidores para que só enxerguem uns aos outros, e `Telemetry_Endpoints` define endpoints customizados que um poller pode consultar além da saída padrão.

A verificação mais útil que a ferramenta faz é a completude do pipeline. Uma declaração TS pode ser estruturalmente válida e ainda não fazer nada, e as duas formas em que isso acontece são uma declaração com consumidores mas sem fonte de dados (nada é coletado para encaminhar) e uma declaração com fontes mas sem consumidor (a telemetria não tem para onde ir). A ferramenta sinaliza as duas. Ela também sinaliza a pegadinha específica que o guia de troubleshooting aponta, um `Telemetry_System` sem `systemPoller`, que silenciosamente não coleta métrica nenhuma, e um `Telemetry_Consumer` sem `type`. De forma crucial, ela conta fontes e consumidores que vivem dentro de um `Telemetry_Namespace`, para que uma declaração corretamente com namespace não seja falsamente reportada como faltando qualquer uma das metades.

Uma coisa vale dizer com clareza: a F5 colocou o Telemetry Streaming em modo de manutenção. Ele continua recebendo suporte com correções críticas e atualizações de segurança, e não há plano de depreciá-lo, mas não é mais o caminho em crescimento ativo que já foi. Isto é um explicador de estrutura e verificador de sanidade, não um validador completo de JSON-Schema; uma declaração que lê limpo aqui ainda pode ser rejeitada pelo TS. Tudo roda localmente, nada do que você cola sai da página, e nada aqui jamais contata um BIG-IP.

## Standards and references

- [F5 BIG-IP Telemetry Streaming: Quick Start (the base Telemetry declaration, the Controls class with logLevel default info, the Telemetry_System / Telemetry_Listener / Telemetry_Consumer classes, default Listener port 6514, Consumer protocol default http, and the /mgmt/shared/telemetry/declare and /info endpoints)](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/quick-start.html)
- [F5 BIG-IP Telemetry Streaming: Using TS (the full class index and the complete push and pull consumer type catalogue: Splunk, Azure, AWS, Graphite, Kafka, ElasticSearch, DataDog, Generic HTTP, OpenTelemetry, Prometheus, and more)](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/using-ts.html)
- [F5 BIG-IP Telemetry Streaming: Telemetry System class (the system poller and the iHealth poller, and the rule that an iHealth poller must be attached to a Telemetry_System)](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/telemetry-system.html)
- [F5 BIG-IP Telemetry Streaming: Example Declarations (the base declaration, the referenced Telemetry_System_Poller pulling from an additional BIG-IP, and the Telemetry_Namespace examples)](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/declarations.html)
- [F5 BIG-IP Telemetry Streaming: Troubleshooting (a Telemetry_System used for metrics must define systemPoller; event ingest needs a Telemetry_Listener whose port matches the BIG-IP log configuration)](https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/troubleshooting.html)

## Related reading

- [Telemetry Streaming: A Extensão do Automation Toolchain que Observa em Vez de Configurar](https://ronutz.com/pt-BR/learn/bigip-telemetry-streaming-ts.md): O AS3 configura serviços de aplicação e o DO faz o onboarding do dispositivo. O Telemetry Streaming é a terceira extensão do F5 Automation Toolchain, e é a que observa em vez de configurar: ele agrega, normaliza e encaminha estatísticas e eventos do BIG-IP para um consumidor como Splunk, ElasticSearch, DataDog ou Prometheus, tudo a partir de uma única declaração JSON. Este artigo percorre o modelo da classe Telemetry, o pipeline de fonte-e-consumidor, e as lacunas que fazem uma declaração ter sucesso sem coletar nada.
