01. DADOS GERAIS

Produto:

TOTVS Varejo Franquias e Redes

Linha de Produto:

Franquias e Redes

Segmento:

Varejo

Módulo:

TOTVS PDV Omni

Função:Monitoramento e Logs
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEPDV-43139


02. SITUAÇÃO/REQUISITO


O TOTVS PDV Omni utilizava o serviço Microsoft Visual Studio App Center, especificamente seus recursos de Análise (Analytics) e Diagnóstico (Diagnostics), para a coleta e análise de dados cruciais, como o registro de crashes (erros não tratados) e o monitoramento geral da estabilidade da aplicação.

No entanto, a Microsoft anunciou oficialmente a desativação progressiva (retirement) do Visual Studio App Center. Conforme comunicado em sua documentação oficial (referência: App Center retirement - Visual Studio App Center | Microsoft Learn), os recursos de Análise e Diagnóstico, essenciais para nossa operação, terão seu suporte encerrado após 30 de junho de 2026.

A descontinuação programada destes recursos específicos do App Center representa um risco direto à nossa capacidade de monitorar eficazmente o TOTVS PDV Omni, diagnosticar falhas e garantir a qualidade da aplicação. A dependência de um serviço externo com data definida para encerramento torna mandatória a implementação de uma solução alternativa, robusta e controlada internamente.

Diante deste cenário, tornou-se necessário substituir as funcionalidades de Análise e Diagnóstico providas pelo App Center. O requisito foi desenvolver um novo mecanismo que não apenas replicasse a capacidade essencial de capturar crashes, mas que também aprimorasse o processo, buscando:

03. SOLUÇÃO

Para atender aos requisitos e mitigar os riscos associados à desativação do App Center, foi desenvolvida e implementada uma nova solução de monitoramento e logging para o TOTVS PDV Omni. A solução é composta por dois elementos principais:

  1. Biblioteca LogCentralizado: Uma nova biblioteca integrada diretamente ao código do TOTVS PDV Omni. Sua responsabilidade é capturar informações de execução, incluindo logs detalhados e exceções não tratadas (crashes), e enviá-las de forma padronizada para uma plataforma central de logs.
  2. Dashboard Grafana: Uma interface de visualização web, construída na plataforma Grafana, que se conecta à plataforma central de logs. Este dashboard apresenta os dados coletados pelo LogCentralizado de forma organizada, através de gráficos, tabelas e indicadores, permitindo a análise interativa e o monitoramento em tempo real.

Essa combinação substitui o uso anterior do Microsoft App Center para fins de diagnóstico e análise, oferecendo uma ferramenta mais poderosa, integrada ao ecossistema TOTVS e com maior capacidade de evolução e personalização.

04. INTRODUÇÃO À NOVA SOLUÇÃO


Com o objetivo de aprimorar o monitoramento, diagnóstico e análise de comportamento do TOTVS PDV Omni, a solução LogCentralizado e o Dashboard Grafana oferecem uma visão completa, integrada e com ferramentas de análise mais poderosas, beneficiando tanto equipes técnicas quanto gestores e clientes na compreensão da saúde da aplicação.

Benefícios Principais:

Biblioteca LogCentralizado

A biblioteca LogCentralizado agora faz parte do TOTVS PDV Omni. Sua principal função é coletar informações relevantes sobre a execução da aplicação e enviá-las para a plataforma central de logs.

Captura Automática de Exceções Não Tratadas (Crashes)

Uma funcionalidade crucial, mantida em relação ao que o App Center oferecia, é a captura automática de exceções não tratadas. Isso significa que, se ocorrer um erro inesperado no PDV Omni que não foi previsto e tratado por um bloco try-catch no código, o LogCentralizado irá registrar e enviar automaticamente os detalhes completos desse erro (conhecido como crash ou unhandled exception).

Isso é vital para a estabilidade do sistema, pois garante que mesmo as falhas mais inesperadas sejam registradas, permitindo que a equipe de desenvolvimento as identifique e corrija rapidamente, mesmo que o usuário final não reporte o problema explicitamente.

Dashboard Grafana: Visualizando os Dados

O Dashboard Grafana é a interface visual onde todos os dados coletados pelo LogCentralizado são apresentados de forma organizada e interativa. Ele permite explorar os logs, identificar tendências e investigar incidentes.

Visão de exemplo do dashboard Grafana
Visão de exemplo do dashboard Grafana

Visão Geral do Dashboard:

O dashboard é composto por vários painéis que fornecem diferentes perspectivas sobre os dados:

  1. Filtros Principais (Topo): Permitem refinar os dados exibidos em todo o dashboard. Falaremos mais sobre eles abaixo.

  2. Indicadores Chave (KPIs): Mostram números importantes, como total de registros, quantidade de PDVs enviando logs, etc. (Ex: "Registros totais por dispositivo", "Versão PDV").

  3. Gráficos de Resumo:

  4. Listagem de Crashes:

  5. Logs Completos: Um painel que mostra o fluxo bruto de todos os logs (não apenas erros) recebidos, útil para análises mais detalhadas de sequências de eventos.

Utilizando os Filtros do Dashboard


Filtros gerais da parte superior do dashboard

Os filtros na parte superior do dashboard são ferramentas poderosas para isolar informações específicas:

Conclusão

A combinação da biblioteca LogCentralizado e do Dashboard Grafana oferece uma solução robusta e moderna para o monitoramento do TOTVS PDV Omni, substituindo e aprimorando as capacidades anteriormente oferecidas pelo App Center. Ela fornece ferramentas essenciais de análise e rastreabilidade que capacitam as equipes a entender melhor o sistema, identificar problemas proativamente e garantir uma melhor experiência para o usuário final. A capacidade de filtrar por EventType e CorrelationId são diferenciais chave para diagnósticos eficientes em ambientes distribuídos.