Monitoramento local · sem nuvem

O farol da sua
infraestrutura de TI

Dashboard local para monitorar Mikrotiks, DVRs, câmeras, switches e access points UniFi/Omada em tempo real. Roda 100% na sua rede interna — rápido, seguro e independente de serviços externos.

6 protocolos de monitoramento 2FA + AES-256-GCM +600 testes automatizados
watchit.local / overview
Dispositivos online
42 / 45
Offline
3
Latência média
8 ms
Clientes Wi-Fi
318
Online Mikrotik Core · 10.0.0.1 CPU 12% · 70d up
Online AP Omada 203 · 172.16.1.203 19 clientes · 5 GHz
Offline DVR Recepção · 10.0.0.10 sem resposta há 4 min
Protocolos

Um monitor para cada equipamento

Cada dispositivo pode habilitar vários protocolos ao mesmo tempo. O worker executa todos em paralelo a cada ciclo de checagem.

ICMP Ping

Disponibilidade e latência em milissegundos para qualquer dispositivo com IP.

latência · uptime

HTTP

Verifica o código de resposta de DVRs, câmeras e qualquer interface web.

status code

SNMP v2c

CPU, memória e uptime de switches e roteadores genéricos.

cpu · mem · uptime

RouterOS API

Mikrotiks: CPU, memória, uptime e tráfego de interfaces em bits/segundo.

tráfego · DHCP leases

UniFi API

APs e switches UniFi: status real, clientes conectados e redes Wi-Fi — via API key ou usuário/senha.

clientes · SSIDs

Omada API

APs e switches TP-Link Omada via Northbound API com OAuth2 e seleção de site.

clientes · SSIDs
Segurança

Construído para rodar trancado

Credenciais cifradas em repouso, autenticação forte e trilha de auditoria completa — auditado contra o OWASP Top 10.

Credenciais cifradas (AES-256-GCM)

Senhas de RouterOS e tokens de controlador nunca ficam em texto plano no banco.

2FA TOTP por usuário

Compatível com Google Authenticator e Authy. JWTs invalidados no logout e na troca de senha.

Webhooks assinados (HMAC-SHA256)

Endpoints de UP/DOWN para integradores externos como Zabbix e Nagios, com verificação timing-safe.

Rate limiting & audit log

Login limitado por IP, controle de acesso por papel (Admin/Operador/Viewer) e registro de toda alteração.

lib/crypto.ts
// Credenciais cifradas antes de persistir
export function encrypt(plaintext: string) {
  const iv  = randomBytes(12);
  const key = validateKey(env.ENCRYPTION_KEY);
  const c   = createCipheriv(
    "aes-256-gcm", key, iv,
  );
  const enc = Buffer.concat([
    c.update(plaintext, "utf8"),
    c.final(),
  ]);
  return { iv, enc, tag: c.getAuthTag() };
}
Arquitetura

Modelo de dois processos

A interface web e o worker de monitoramento rodam em paralelo. O worker emite heartbeat a cada 60s — uma queda é detectada automaticamente.

Next.js Server

UI em React 19, rotas de API com validação Zod e autenticação JWT + 2FA no middleware.

App RouterNextAuth v5Zod

PostgreSQL

Estado, histórico de status, eventos de link, usuários e trilha de auditoria — via Prisma 7.

Prisma 7DockerStatusHistory

Worker de monitoramento

Processo Node.js independente: scheduler por dispositivo, checagens paralelas e graceful shutdown.

setIntervalPromise.allSettledHeartbeat 60s
Stack

Tecnologias

Ferramentas modernas, tipagem ponta a ponta e cobertura de testes ampla.

Next.js 16 React 19 TypeScript Tailwind CSS v4 shadcn/ui v4 Prisma 7 PostgreSQL 16 NextAuth v5 Jest 30 Node.js 20+

Acenda o farol na sua rede

Clone o repositório, suba o PostgreSQL com Docker e tenha o dashboard rodando em minutos.