Telemetria de 250+ PABXs, Observabilidade Zabbix e Previsão de Churn

← voltar ao portfólio

07/2026 – atual · 2 meses

Espinha dorsal de telemetria para 250+ PABXs com cache Read-Through, observabilidade Zabbix e previsão de churn por séries temporais.

Python 3.14SQLite WALZabbix LLDJSONPathFlaskITU-T G.107NumPySPA JavaScriptDockerSystemdSéries Temporais

O problema

Monitorar uma farm de mais de 250 PABXs Yeastar P-Series em nuvem consultando APIs ao vivo para auditar chamadas e extrair métricas operacionais gera rate limits, lentidão de rede e risco de indisponibilidade nas centrais. Além disso, o cancelamento de contratos B2B ocorre de forma silenciosa após semanas de degradação técnica de voz não percebida pelo suporte, e o NOC precisava de observabilidade no padrão Zabbix sem onerar a CPU dos PABXs.

A arquitetura

A arquitetura foi estruturada em três pilares fundamentais documentados no manual técnico do sistema:

1. INGESTÃO & CACHE READ-THROUGH (CdrIndex): O coletor em Python faz a ingestão assíncrona por janelas deslizantes, governada por orçamento de tokens por tenant contra a OpenAPI (/openapi/v1.0/) do Yeastar. Os dados são normalizados e gravados com idempotência determinística em SQLite no modo WAL. O tenant sintético __ALL__ materializa a soma da carteira na própria escrita (gravação dupla), tornando a visão global uma leitura O(1) de uma linha em vez de um fan-out sobre 250+ bancos. O Analisador de Áudio consome essa base local diretamente em microssegundos (CdrIndex) para casar gravações WAV e CDRs com custo zero de rede externa, com fallback transparente sob demanda.

2. OBSERVABILIDADE ZABBIX & KPI_CACHE: Inspirado no modelo de coleta do Zabbix, desenvolvi o endpoint nativo /api/metrics/zabbix com payload plano (Flat JSON) direto na raiz, otimizado para Low-Level Discovery (LLD) e JSONPath para itens dependentes sem sobrecarga de CPU. Todas as métricas são pré-materializadas assincronamente em kpi_cache para que consultas de monitoramento do NOC nunca disparem queries pesadas nas centrais. O payload inclui autodiagnóstico de frescor com kpi_calculado_em, kpi_idade_s e a flag booleana kpi_vencido, alertando se a esteira de dados parar.

3. PREVISÃO DE CHURN & MUDANÇA DE OPERAÇÃO: Motor de análise de séries temporais que monitora médias móveis e desvios de volumetria (alertas automáticos para quedas de 30% a 50% de uso). Cruza esses desvios com métricas de qualidade de voz do DSP (MOS ITU-T G.107, taxas de picote, dead-air e anomalias de troncos SIP), classificando a carteira em 4 faixas de risco (Saudável, Atenção, Risco e Sem Uso).

4. FRONTEND & SEGURANÇA (LGPD): Dashboard SPA modular em JavaScript nativo (sub-100ms de renderização) com rosca de saúde da carteira, tela de Mudança de Operação e telemetria detalhada de ramais. Controle de acesso rigoroso por allowlist de papéis (admin, gestor, cliente, ramal) com barreira de LGPD no after_request que expurga dados sensíveis e transcrições de perfis não autorizados.

O resultado

Eliminação de dezenas de milhares de requisições redundantes diárias nas centrais telefônicas através do cache Read-Through; integração de telemetria em tempo real com Zabbix e NOC sem nenhum impacto nas APIs dos PABXs; e identificação preditiva de clientes em risco de cancelamento semanas antes da abertura de tickets de suporte.

Dashboard Geral de Telemetria: visão global da carteira com 232 centrais, KPIs de topo e distribuição de saúde
Dashboard Geral de Telemetria: visão global da carteira com 232 centrais, KPIs de topo e distribuição de saúde
Painel de Mudança de Operação: identificação precoce de clientes com queda brusca de tráfego e anomalias de uso
Painel de Mudança de Operação: identificação precoce de clientes com queda brusca de tráfego e anomalias de uso
Telemetria de Ramais: monitoramento individual de ramais, tráfego e chamadas úteis por PABX
Telemetria de Ramais: monitoramento individual de ramais, tráfego e chamadas úteis por PABX

🔒 Código-fonte

git clone https://git.programandosolucoes.com.br/git/repos/analisador-chamadas.git

Código-fonte privado. As credenciais de leitura são liberadas sob solicitação — me chame para conversar sobre o projeto.

Carlos Alberto — carlosalberto4ti@gmail.com · +55 11 2615-2880