Voltar ao sistema

Central de Ajuda

Documentação completa do MoniHook — guias de uso, configuração e histórico de versões.

Atualizado em 05/08/2026, 03:00:00 · Versão v1.7.0

Dashboard Geral

O Dashboard Geral é o ponto de entrada do MoniHook. Ele consolida os KPIs mais relevantes de Privacidade, Atendimento e Infraestrutura em um único painel.

Filtros disponíveis

Sincronização

O botão Sync na barra superior força a atualização de todas as fontes (Mexx, PrivacyTools, Grafana, Proxmox) e exibe o tempo da última sincronização.

Gerar relatório

O botão Relatório abre o editor de relatórios com os filtros ativos do dashboard pré-preenchidos.

Privacidade & LGPD

Seções de Privacidade cobrem todos os módulos exigidos pela LGPD.

| Seção | O que monitora |

|---|---|

| Consentimentos | Aceitos, revogados e pendentes por período |

| DSAR / Titulares | Solicitações de direitos, prazos e status |

| Tratamento de Dados | Atividades de tratamento, bases legais e dados sensíveis |

| Incidentes | Incidentes reportados, investigações e notificações à ANPD |

| Riscos | Riscos críticos, altos, mitigados e em monitoramento |

| Políticas | Políticas publicadas, em revisão e vencidas |

Painel Privacidade (editável)

Acesse pelo menu Painel Privacidade. Adicione, remova e reordene métricas conforme necessidade. As preferências são salvas por navegador. Use o filtro de data inicial/final para comparar períodos.

Atendimento (ITSM)

O módulo de Atendimento integra com a API Mexx Reports e sincroniza chamados automaticamente a cada 10 minutos.

KPIs principais

Filtros

Agentes, grupos, categoria, organização e data personalizada. Os filtros são persistidos entre sessões.

Prevenção de Anomalias

Ativa o checkbox para excluir chamados com SLA captura acima de 150% dos cálculos — evita distorções por dados de migração ou testes.

Sincronização manual

Use o botão Sync na topbar para forçar atualização imediata.

Infraestrutura

O módulo de Infraestrutura integra com Grafana e Proxmox VE.

Painel Infraestrutura (editável)

Acesse pelo menu Painel Infraestrutura. Métricas disponíveis:

Auto-resolução de alertas

Alertas de performance (CPU alta, RAM alta, nó offline) são resolvidos automaticamente quando a condição normaliza. Se não resolverem, expiram após 12 horas. O histórico é mantido para auditoria.

Alertas

O motor de alertas executa verificações a cada 10 minutos e gera notificações automáticas.

Tipos de alerta

| Tipo | Gatilho |

|---|---|

| SLA estourado | Chamado com SLA acima de 100% |

| Sem responsável | Chamado aberto sem responsável há mais de 2h |

| Alta prioridade | P1/P2 aberto há mais de 1h |

| DSAR vencendo | Prazo de resposta próximo |

| Proxmox offline | Nó, VM ou cluster indisponível |

| Grafana indisponível | Falha na conexão ou alertas ativos |

Auto-resolução

Alertas são resolvidos automaticamente quando a condição que os originou é corrigida (chamado fechado, responsável atribuído, recurso voltando online etc.).

Regras configuráveis

Clique no ícone de engrenagem na seção de Alertas para ativar/desativar regras individualmente.

Notificações

Alertas críticos disparam e-mail ao responsável e mensagem WhatsApp (quando integração configurada).

Relatórios

Gere relatórios em PDF ou Excel com dados em tempo real.

Templates rápidos

Gráficos no PDF

Os relatórios de Atendimento incluem gráficos donut (Prioridade / Status) e barras horizontais (Organização / Categoria).

Gerenciamento de relatórios

Na seção Relatórios você pode:

Agendamento

Configure relatórios recorrentes (semanal, mensal etc.) com envio automático por e-mail.

Integrações & Configuração

Acesse pelo menu Integrações.

Fontes de dados suportadas

| Integração | Dados |

|---|---|

| PrivacyTools | Consentimentos, DSAR, Incidentes, Riscos, Políticas |

| Grafana | Disponibilidade, performance, alertas |

| Mexx Reports | Chamados ITSM, SLA, agentes, organizações |

| Proxmox VE | Nós, VMs, CPU, RAM |

| WhatsApp | Notificações de alertas críticos |

| SMTP | E-mails de alertas e relatórios agendados |

Status de conexão

Os indicadores coloridos na barra superior (verde = conectado, vermelho = erro) refletem o status das integrações em tempo real.

Templates de e-mail

Edite os modelos HTML enviados em alertas, DSARs e relatórios em Configurações → Templates de E-mail.

Changelog — Histórico de Versões

Changelog — MoniHook

Todas as mudanças relevantes do projeto são documentadas aqui.

Formato: MAJOR.MINOR.PATCH — baseado em Keep a Changelog.


[1.7.0] — 2026-07-01

Adicionado

  • Módulo CRM no sistema de permissões — novas permissões crm-dash e crm-reports, com padrões por perfil (DPO com acesso completo, Viewer com leitura ao painel)
  • Categoria CRM em Relatórios — novo template "CRM" com filtros de funil, responsável, etapa e status, e modal de preview espelhando o padrão do Atendimento
  • Gráficos no PDF do relatório de CRM — donut de status e barras de volume por funil/responsável, desenhados nativamente em PDFKit (sem dependências novas)
  • Datas automáticas por período (Mensal/Trimestral/Semestral/Anual) agora alinhadas ao calendário — em vez de uma janela rolante de N dias, cobrem o período completo mais recente (ex.: Trimestral em 01/07 resulta em 01/04–30/06). Aplicado no Painel CRM, Painel Mexx 2DO, formulário e preview de Relatórios, e nas rotas de dados do backend (LGPD, ITSM)
  • Módulo de permissão "Chat" — conversas de WhatsApp agora exigem permissão dedicada; antes qualquer usuário autenticado podia ler todas as conversas e mídias via API

Corrigido

  • Sincronização do PipeRun truncava em 10.000 negócios — limite de páginas elevado de 50 para 250
  • Gráficos "Volume por Funil", "Negócios por Etapa" e "Top Responsáveis" travados em 0–1 — configuração de eixo herdada incorretamente de baseOpts confundia a detecção de tipo de escala do Chart.js; agora reutilizam hBarOpts, já validado em outros painéis
  • Texto "COLORS.dark" inexistente deixava linhas de tabela do relatório CRM invisíveis (herdavam a cor quase-branca do destaque de linha anterior)
  • Espaço em branco excessivo em relatórios multi-seção (Visão Geral LGPD, Infraestrutura & SLA) — cada seção forçava quebra de página mesmo com pouco conteúdo; agora só quebra quando o espaço realmente acaba
  • Rótulo de trimestre incorreto (ex.: "Q3" exibido para período Abril–Junho, que é Q2) em capas e sumários de relatório
  • Permissionamento não bloqueava a maioria dos módulos — o bloqueio de UI cobria apenas 8 seções fixas; generalizado para cobrir todos os módulos automaticamente, incluindo painéis compostos (Infraestrutura, Privacidade) sem módulo próprio
  • Geração de relatório falhava para usuários não-admin/DPO mesmo com permissão "Relatórios: Completo" concedida — rota exigia role fixo em vez de checar a permissão do módulo
  • ~30 rotas de dados sem controle de permissão no backend (LGPD, ITSM, CRM, Infraestrutura, Dashboards Externos, Grafana, passthrough de conectores) — qualquer usuário autenticado conseguia ler dados de módulos aos quais não tinha acesso via chamada direta à API, mesmo com a interface escondendo a navegação


[1.6.0] — 2026-06-30

Adicionado

  • Destinatários por regra de alerta — cada regra agora suporta lista independente de destinatários com canal por agente (e-mail, WhatsApp ou ambos); nova tabela alert_rule_recipients
  • Modal de notificação manual aprimorado (Notificar) — selecione agente e canal antes de enviar; WhatsApp e e-mail preenchidos automaticamente do cadastro de agentes
  • Exclusão de logs de e-mail — botão de exclusão unitária por linha e "Excluir Todos" no histórico de e-mails enviados
  • Template de e-mail de alerta padronizado — layout em <table> com bgcolor nos <td>, compatível com Outlook; mesma estrutura visual dos relatórios agendados
  • Preview de relatório com periodicidade customizada — seleção de "X dias" / "X meses" no modal de preview; pvwPeriodChanged() exibe/oculta campos extras e dispara re-geração automática
  • Endpoint POST /api/itsm/agents/sync-emails — recupera e-mails de agentes a partir da tabela users por correspondência de nome

Corrigido

  • Modal "Notificar" não abria — modal estava dentro de seção com display:none; movido para o <body> raiz
  • E-mail de alerta enviado para solicitante — bug crítico onde t.requester_email pré-preenchia o modal; corrigido: campos limpos ao abrir, só preenchidos ao selecionar agente (nunca para solicitantes)
  • Número WhatsApp em branco ao trocar canalanmChannelChanged() agora relê dataset.phone do agente selecionado; exibe aviso quando agente não tem telefone cadastrado
  • Mensagens "fantasma" no chat após excluir conversa — race condition em fetchMessages() repopulava conversa excluída; corrigido com guard convIdAtStart
  • "Muitas requisições" ao criar usuário — rate limit de API aumentado de 300 para 2.000 req/15 min; limite de login mantido em 20 req/15 min
  • Página de permissões sem listar usuários — erro 429 silenciado por catch(e) {}; agora exibe toast com mensagem de erro
  • Linhas brancas no e-mail de alerta no Outlook — layout antigo com <div> e background CSS não renderizava; reescrito em <table> com atributo bgcolor


[1.5.2] — 2026-06-25

Adicionado

  • Biblioteca de APIs Mexx (docs/)

- Mexx-API.postman_collection.json — collection Postman v2.1 com todos os endpoints (Reports, CalledService, 2DO), script de auto-refresh de token JWT (TTL 6h) e variáveis de ambiente prontas

- Mexx-API.postman_environment.json — arquivo de ambiente com placeholders de credenciais

- mexx-api-spec.yaml — especificação OpenAPI 3.0 completa: schemas Ticket, Organization, TechnicalTeam, dois security schemes (BearerReports, Bearer2DO), todos os campos de tempo documentados (TMA, FRT, SLA)

- mexx-api-viewer.html — visualizador Swagger UI 5 via CDN, acessível em /docs/mexx-api-viewer.html

- CALCULO_KPIs.md — documentação técnica dos cálculos de TMA, FRT e TST: fonte dos campos, rationale de cada método, invariante FRT ≤ TMA ≤ TST, mapeamento API Mexx → DB, limitações conhecidas

  • Rota estática /docs no Express — serve a pasta docs/ sem autenticação para acesso ao Swagger UI pelo servidor principal
  • Endpoint /api/mexx/debug-calledservice — busca ao vivo na CalledService API e expõe todos os campos retornados, destacando chaves de histórico/pausa para diagnóstico
  • 8 novos conectores na área de Integrações:

- ITSM: Movidesk (token), Freshdesk (domain + API key), Octadesk (subdomínio + email + API key)

- CRM: HubSpot (Private App token), RD Station CRM (access token)

- ERP: Omie (app_key + app_secret), Conta Azul (OAuth2 access token)

- Cloud: AWS CloudWatch + Cost Explorer (Access Key ID + Secret, região configurável)

  • Cada conector expõe test() para validar credenciais e fetch() para coleta de métricas/dados

Corrigido

  • TMA unificado nos 3 painéis (Meu Dashboard, Painel Mexx 2DO, Chamados & SLA): /api/mexx/kpis agora delega ao mesmo código de cálculo que /api/itsm/metrics, eliminando divergências entre painéis
  • FRT restrito a tickets encerrados em todos os paths — mesma base do TMA para consistência
  • TMA correto com pausas de SLA descontadas: usa campo total_interaction_time_without_workhour da API Mexx (pré-calculado pela plataforma, já exclui horas fora do expediente e períodos em status de pausa como "Aguardando Cliente")
  • FRT correto sem fins de semana: usa businessHoursDiff(opened_at, first_response_at) com calendário SLA da organização — substitui total_time_start2 que era tempo calendário bruto
  • TST corrigido para respeitar invariante TST ≥ TMA: usa attendance_time (tempo_atendimento Mexx, pré-calculado), com businessHoursDiff(opened_at, closed_at) apenas como fallback
  • mexx_tickets persiste campos de KPI no banco: colunas interaction_sla_time, frt_time e attendance_time adicionadas à tabela e populadas a cada sync
  • UNION query (getMetrics): lê interaction_sla_time, frt_time e attendance_time diretamente de mexx_tickets (antes eram NULL AS ...)
  • Gráficos de barras horizontais (Por Categoria / Por Agente) em Mexx 2DO e Chamados & SLA: conflito entre indexAxis:'y' e precision:0 no eixo Y do Chart.js 4.5.1 causava escala 0–1 nos gráficos; corrigido com hBarOpts onde precision:0 é aplicado no eixo X (eixo de valores em modo horizontal)
  • Grade 12 colunas no editor de dashboard: Meu Dashboard, Painel Privacidade e Painel Infraestrutura usam repeat(12, 1fr) — botões S/M/L/Total agora funcionam corretamente
  • Persistência de layout do dashboard: alterações de tamanho, tipo, remoção e reordenação de widgets salvas via _saveDashPrefs em todas as ações de edição
  • Status dos conectores não desaparecendo: _connStatusMap preserva estado connected entre verificações de status nativas
  • KPIs de Status no Meu Dashboard: cards de Novo, Aberto, Pendente com Cliente, Aprovado, Aguardando aprovação, Pendente para Análise, etc. disponíveis como widgets
  • Impressão de painéis: captura robusta dos gráficos via canvas.toDataURL() com dimensões explícitas em pixels; window.print() adiado 2 frames para garantir renderização completa do frame de impressão


[1.5.0] — 2026-06-08

Adicionado

  • Painéis editáveis de Privacidade e Infraestrutura

- "Painel Privacidade" e "Painel Infraestrutura" como primeiros itens nas respectivas seções do menu

- Motor genérico de dashboard reutilizável (_loadDashFor, _renderWidgetCard, _renderDashEditOverlaysFor)

- Adicionar, remover e reordenar widgets; preferências persistidas em localStorage

- Filtro de data inicial/final por painel

- Catálogo de widgets filtrado por dashboard alvo (Privacy usa source overview; Infra usa source infra)

- Novo endpoint /api/dashboard/infra com disponibilidade, serviços, downtime, Proxmox e alertas Grafana

  • Gerenciamento de Relatórios aprimorado

- Busca por nome e filtro por formato (PDF/Excel)

- Botão "Visualizar" para abrir PDF diretamente no navegador

- Botão "Excluir Todos" com respeito aos filtros ativos

  • Botão de Sync global sempre visível na topbar — força sincronização de todas as fontes com indicador de progresso
  • Endpoints /api/sync/all e /api/sync/status para acionar e consultar sincronizações
  • Auto-resolução de alertas de performance/disponibilidade

- proxmox_down resolvido automaticamente quando Proxmox volta a responder

- proxmox_node_down resolvido quando nó fica online novamente

- proxmox_cpu_* / proxmox_mem_* resolvidos quando CPU/RAM caem abaixo de 90%

- proxmox_all_vms_down resolvido quando qualquer VM volta a rodar

- grafana_alert resolvido quando alerta sai da lista de alerting no Grafana

- Fallback: qualquer alerta de performance/disponibilidade não resolvido é expirado após 12 horas

- Histórico mantido via resolved_at para auditoria

  • Métricas TMA e FRT em horas/minutos — exibidas como Xh Ymin nos painéis e relatórios PDF
  • Descrições nos cards de KPI — subtítulo exibido abaixo do valor em todos os dashboards
  • Gráficos nos relatórios PDF

- Donut charts: Chamados por Prioridade e por Status

- Barras horizontais: Por Organização e Por Categoria

  • Filtro de data customizado na barra de filtros do painel principal
  • Filtros Agentes e Grupos agora aplicados corretamente na geração de PDF
  • Motor de alertas — intervalo padrão reduzido de 15 para 10 minutos

Corrigido

  • Dados divergentes entre Dashboard e PDF quando filtros de data estavam ativos (buildItsmWhere aceita dateFrom/dateTo explícitos)
  • openReportEditor pré-preenche datas do dashboard quando aberto a partir do painel principal


[1.4.0] — 2026-06-06

Adicionado

  • Multi-tenant / White-label — suporte a múltiplas empresas na mesma instância

- Roteamento por path: http://IP/alias/login e http://IP/alias por empresa

- Área de administração master em /admin

- Coluna company_id em users e system_config para isolamento de dados por tenant

- Usuário admin@{slug}.local criado automaticamente ao cadastrar empresa (senha Admin@2025!)

- Configuração de e-mail SMTP copiada da master para novos tenants (editável por empresa)

- window.TENANT_SLUG e window.TENANT_BASE injetados server-side nas páginas HTML

- Login aceita campo tenant para identificar contexto do tenant

- activeCompanyId na sessão Express para isolamento de dados

  • E-mails de boas-vindas disparados ao criar empresa para DPO, responsável técnico e contatos
  • Alerta de e-mail sem destinatário — fallback para admins do tenant quando responsável não tem e-mail; nunca envia para o solicitante
  • Bell de alertas em tempo real — badge numérico atualizado a cada 30 segundos via polling
  • Alerta de novos chamados ITSM (itsm_new_ticket) — engine verifica chamados da última hora
  • Filtros ITSM persistentes — estado salvo em localStorage e restaurado entre sessões; opção de reset
  • Filtros ITSM mesclados — combina dados DISTINCT de itsm_tickets com tabelas lookup (itsm_organizations, itsm_groups, etc.)
  • Métricas ITSM reais — FCR%, TST (horas) e chamados escalados calculados a partir dos dados reais
  • PDF com cabeçalho completo — logo da empresa, nome do DPO, responsável técnico e e-mails no cabeçalho do relatório
  • Temas customizados no sidebarapplyCustomTheme aplica explicitamente --sidebar-bg, --sidebar-text e --sidebar-active via CSS vars
  • Script reset-tenant.js — limpa dados capturados pelas plataformas (chamados, DSARs, consentimentos, incidentes, riscos, alertas, logs) mantendo empresa, usuários, integrações e config de e-mail
  • Script health-check.js — valida arquivos, tabelas/colunas do banco, multi-tenant, empresas, usuários admin, config de e-mail, integrações, padrões no código-fonte e endpoints HTTP
  • Recursos estáticos locais — Font Awesome e Chart.js servidos localmente (/vendor/) eliminando dependência de CDN externo

Banco de dados

  • addCol('users', 'company_id', 'INTEGER') — vínculo de usuário com empresa
  • addCol('system_config', 'company_id', 'INTEGER') — config de e-mail por tenant
  • Empresa master cmtech criada automaticamente no setup
  • Usuários existentes vinculados à empresa master no setup

Corrigido

  • Conflito de rota trailing-slash (/:slug/ e /:slug) causando redirect loop — removida rota com barra
  • requireRole retornando JSON 403 para rotas de página — corrigido para redirecionar
  • Middleware de subdomínio detectando IPs como slug — adicionada checagem isIp
  • RESERVED_PATHS definido após requireAuth causando ReferenceError — movido para antes
  • POST /api/companies sem try/catch — erros UNIQUE agora retornam 409
  • Rate limiter bloqueando páginas após loop de requests — CDN local elimina o problema na origem


[1.3.1] — 2026-06-05

Adicionado

  • Notificação de e-mail para responsável de chamado (POST /api/alerts/:id/notify)

- Resolução de e-mail em 3 estratégias: itsm_agentsusers (nome exato) → users (nome parcial)

- E-mail HTML responsivo com cabeçalho colorido por severidade e tabela de dados do chamado

- Fallback para e-mail do solicitante quando responsável não tem e-mail cadastrado

  • Botão "Notificar" nos cards de alerta com spinner e feedback visual (enviado / erro)
  • Gerenciamento de e-mail em Configurações

- Histórico de envios (email_logs) com tabela de data, destinatário, assunto, tipo e status

- Templates de e-mail: CRUD completo com editor de assunto, corpo HTML e texto simples

- 5 templates padrão de sistema pré-criados (alerta, DSAR, relatório, 2FA, outro)

- Envio de e-mail de teste direto da tela de configurações SMTP

  • Painel lateral de Regras de Alerta — ícone de engrenagem ao lado de "Verificar agora"

- Popup deslizante à direita com toggle on/off por regra, sem sair da página

- Remove o card de regras da seção de alertas (layout mais limpo)

  • Rodapé da sidebar com versão (v1.3), copyright e identificador do autor
  • CHANGELOG.md no repositório e página /changelog acessível na aplicação
  • showToast() agora suporta tipos success (verde), error (vermelho) e warn (laranja)

Banco de dados

  • Nova tabela email_templates com seeds de templates padrão


[1.3.0] — 2026-05-01

Adicionado

  • Meu Dashboard — painel totalmente customizável por usuário

- Adicionar, remover, renomear e reordenar widgets

- 20+ KPIs de Privacidade, Atendimento e Infraestrutura

- Tamanhos de widget: S (1 col) / M (2 col) / L (3 col) / XL (4 col)

- Tipos de visualização: KPI, Barra, Donut, Linha (Chart.js)

- Preferências salvas por usuário via user_preferences

  • Filtro "Prevenção de Anomalias" — exclui chamados com sla_captura > 150% dos cálculos de KPI

- Checkbox persistente no localStorage com contador de anomalias em badge vermelho

- Modal informativo explicando a regra

  • Filtros persistentes e atualizáveis para todas as dimensões do painel ITSM

- Tabelas: itsm_groups, itsm_agents, itsm_categories, itsm_statuses, itsm_priorities, itsm_organizations

- Auto-populadas no sync; mantidas independentemente de período selecionado

  • Alertas enriquecidos com dados completos de chamado para encaminhamento e resolução

- Painel de routing: Nº chamado, organização, solicitante, e-mail, responsável, grupo, prioridade, status, abertura, prazo SLA, SLA consumido, descrição

- Ações: Lido / Copiar dados / Notificar / Resolver / Descartar

  • Renomeações de menu: "Dashboard" → "Meu Dashboard", "Privacidade LGPD" → "Privacidade"

Corrigido

  • Métricas TMA, FRT e SLA% usando campos nativos do Mexx (total_time_start2, sla_captura, sla_estourado, limite)
  • Dropdowns de filtro exibindo "Nenhuma opção disponível" após troca de período
  • Prepared statements dentro de transações SQLite causando erros no incrementalSync


[1.2.0] — 2026-03-01

Adicionado

  • Integração com API Mexx Reports para sincronização de chamados ITSM
  • Motor de alertas automáticos com verificações a cada 15 minutos

- SLA estourado por chamado

- Chamados abertos sem responsável > 2h

- Alta prioridade (P1/P2) abertos > 1h

- DSARs próximas do prazo e novas solicitações

  • Tabela itsm_organizations com cadastro manual e bulk import
  • Regras de SLA configuráveis por organização e prioridade (itsm_sla_rules)
  • Sincronização incremental (4h) e completa (diária às 2h) via cron


[1.1.0] — 2026-01-15

Adicionado

  • Autenticação em duas etapas (2FA) por e-mail
  • Gestão completa de usuários com roles (admin, dpo, auditor, viewer)
  • Temas de cores personalizáveis por usuário (6 temas + cores customizadas)
  • Configuração visual da plataforma (nome, ícone, logo, subtítulo)
  • Renomeação e reordenação de menus
  • Módulo de relatórios com geração em PDF e agendamento por e-mail
  • Gestão de empresas/clientes
  • Gestão de plataformas integradas com status de conexão


[1.0.0] — 2025-11-01

Lançamento inicial

  • Dashboard com KPIs de Privacidade (consentimentos, DSAR, políticas, incidentes)
  • Dashboard de Infraestrutura via Grafana (disponibilidade, performance)
  • Integração com PrivacyTools (consentimentos, tratamento de dados, riscos)
  • Módulo DSAR — gestão de solicitações de titulares com prazo LGPD (15 dias)
  • Módulo de Políticas e Incidentes
  • Autenticação com sessão e controle de acesso por role
  • Tema claro/escuro


> Mantido por GC — 700.849.754-87

> Versionamento: MAJOR.MINOR.PATCH — minor avança a cada sprint com features novas; patch para correções e ajustes pontuais.