DEV Community

Eduardo Charapa
Eduardo Charapa

Posted on

Telemetria: sistemas para melhores sistemas

É de intrínseca importância no mundo moderno a utilização de softwares para gerenciamento e execução de tarefas, sejam elas de pequena escala como tarefas cotidianas quanto em larga amplitude como gerenciamento de irrigações em plantios.
Além da execução de suas próprias funcionalidades, existem vários dados e informações gerados ao longo do seu tempo de vida que são valiosos para melhoria de aplicações ou identificação de erros, por exemplo. Este nível de complexidade adicional cria uma nova demanda por sistemas de monitoramento e coleta auxiliares: nessa lacuna encaixa-se a telemetria.


Afinal, o que significa telemetria?

Telemetria é uma tecnologia que viabiliza monitoramento e metrificações de aplicações.
Por se tratar de uma função alheia ao objetivo principal, geralmente são utilizados sistemas adjacentes para esta atividade: os sistemas de telemetria.

Telemetria é o feedback recebido de seus sistemas em produção que dizem o que está ocorrendo lá.

Software Telemetry: Reliable Logging and Monitoring, Jamie Riedesel


Sistemas de telemetria

Componentes

Estes sistemas possuem, geralmente, divisões bem definidas e customizáveis. A organização se assimila a seguir:

  • Um sistema emissor prepara e emite uma mensagem ao sistema de envio;
  • O sistema de envio recebe a mensagem, transforma-a em padrões pré-definidos e prepara para armazenamento;
  • Já armazenados, os dados são utilizados por um aplicação de visualização e análise;

Observação: Existem outras etapas após a visualização que envolvem, por exemplo, enriquecimento dos dados e multitenancy, as quais são opcionais e geralmente variam muito de organização para organização.

Níveis

As mensagem emitidas podem também possuir níveis de prioridade os quais também são customizáveis, mas na maioria dos casos, seguem o padrão abaixo:

ID Gravidade
0 Emergência
1 Alerta
2 Crítico
3 Erro
4 Aviso
5 Observação
6 Informação
7 Debug

Mesmo que alguns níveis sejam adicionados ou alterados, os conceitos não são alterados.

Estilos

Além da organização dos componentes, estes sistemas podem se diferir por função em: logging centralizado, métricas, rastreamento distribuído e gerenciamento de eventos de segurança da informação (SIEM em inglês).

De forma resumida, o estilo de métricas trata dados exclusivamente numéricos como quantidades de visitas e quantidade de clicks. O logging centralizado pode tratar dados mais complexos, porém com foco em um único ponto final, o contrário do rastreamento distribuído. Por último, temos o SIEM que trata dados mais complexos relacionados a eventos sensíveis sobre segurança como logins realizados, alterações de senha, etc.


Utilização

Por quê utilizar?

Monitorar e coletar dados de uma própria aplicação nos ajuda a entender o que está acontecendo internamente, o que os dados informados apontam e auxiliar em como prosseguir baseado nisso: um site de vendas gera a quantidade vendida de cada produto, o que pode ajudar em um reabastecimento de estoque mais inteligente ou possíveis contratos promissores com certos fornecedores.
Tais parâmetros também auxiliam em negócios aos quais o sistema está inserido: imagine um serviço de autenticação de uma empresa onde é possível identificar possíveis fraudes ou problemas no ponto de alguns funcionários utilizando como base os logs dos sistemas.

Problemas de ausência/má implementação

Não há problema algum em não possuir a prática da telemetria ou sistemas dedicados a esta função na sua infraestrutura. No entanto, é perceptível que dados e informações valiosos poderiam estar sendo usufruídos e monitorados de forma mais sábia.
Além disso, sistemas com implementações errôneas podem causar problemas maiores do que a própria ausência destes, uma vez que é possível causar impactos negativos na aplicação principal ou gerar métricas irreais.

A telemetria fundamentalmente ajuda nas decisões que você deve fazer sobre os seus sistemas em produção. Se os seus sistemas de telemetria são ruins, você fará decisões ruins.

Software Telemetry: Reliable Logging and Monitoring, Jamie Riedesel


Exemplo real

Em 2018, uma equipe liderada pelo pesquisador Peter Kennedy utilizou sistemas de telemetria para a identificação de ninhos de vespas na Europa. Estas vespas oriundas da Ásia, desde seu surgimento na região europeia, causa problemas relacionados à abelhas.
Utilizando sensores instalados em vespas, fora possível identificar seus ninhos ao analisar seu trajeto e localização.

De forma resumida, é possível entender e localizar informações físicas e lógicas utilizando esta técnica de observação, seja do mundo real ou virtual. Além do caso descrito acima, também é comumente utilizado em sistemas de irrigação, gerenciamento de máquinas industriais e até mesmo um restaurante de delivery.


Considerações

Existem diversos motivos para a utilização desses sistemas, trazendo em sua maioria maiores benefícios do que problemas. No entanto, a adoção dessa prática exibe um planejamento adequado, caso contrário, as informações e dados estarão induzindo decisões completamente turvas.


Referências

  • RIEDESEL, Jamie. Software Telemetry: Reliable Logging and Monitoring. 1. ed.: Manning, 2021. v. 1. ISBN 9781617298141.

  • KENNEDY, Peter J. et al. Searching for nests of the invasive Asian hornet ( Vespa velutina) using radio-telemetry. Searching for nests of the invasive Asian hornet ( Vespa velutina) using radio-telemetry, 2018. Disponível em: https://www.scienceopen.com/document/read?vid=5ae886bb-f6b8-4e5a-919c-2565aa9ebc25. Acesso em: 14 ago. 2024.

Top comments (0)