Pular para conteúdo

Database

Diagrama ER

erDiagram CLIENTE ||--o{ AMBIENTE : possui AMBIENTE ||--o{ COLETA : recebe COLETA ||--|| METRICA_VPS : detalha COLETA ||--o{ CONTAINER : lista COLETA ||--o{ METRICA_APP : lista COLETA ||--o{ METRICA_BANCO : lista COLETA ||--o{ EVENTO_DDL : registra COLETA ||--o{ ERRO_BANCO : registra COLETA ||--o{ SLOW_QUERY : registra COLETA ||--o{ METRICA_PORTAL : verifica AMBIENTE ||--o{ DEPLOY : recebe AMBIENTE ||--o{ ALERTA : gera COLETA o|--o{ ALERTA : origina USER o|--o{ ALERTA : reconhece AMBIENTE o|--o{ URL_MONITOR : monitora URL_MONITOR ||--o{ UPTIME_CHECK : possui URL_MONITOR ||--o| SSL_CERTIFICATE : possui AMBIENTE ||--o{ RELATORIO : consolida

Dicionário de dados

Entidade Campos persistidos Relacionamentos e restrições
Cliente id bigint; nome varchar(100); contato/e-mail; ativo=true; envio de alertas, tipo/horário; Telegram opcional; status page e slug UNIQUE; criado raiz dos ambientes
Ambiente id; cliente FK CASCADE; nome; identificador Slug UNIQUE; token UNIQUE gerado automaticamente; ativo; modo_coleta=pull; destinatário; último envio; configuração JSON; status_geral=ok; criado pertence a Cliente
Coleta id; ambiente FK CASCADE; timestamp; período; recebido_em; payload_raw jsonb raiz das métricas
MetricaVPS coleta OneToOne CASCADE; disco/RAM/swap/CPU/processos/rede/serviços/erros/alertas JSON; percentuais, load, uptime detalhe da coleta
Container coleta FK; nome, imagem, status, portas; rodando lista de containers
MetricaApp coleta FK; nome da app, container, status, porta; total e lista de erros lista por coleta
MetricaBanco coleta FK; nome, proprietário, tamanho textual e bytes; conexões lista por coleta
EventoDDL, ErroBanco, SlowQuery coleta FK; operação/objeto/banco/hora ou nível/mensagem ou duração/query históricos operacionais
MetricaPortal coleta FK; portal; total/método de URLs; total e lista de erros verificação de portais
Deploy ambiente FK CASCADE; app/versão/descrição; realizado_em; registrado_em histórico de deploy
Alerta ambiente FK CASCADE; coleta SET_NULL; nível/mensagem; geração; reconhecimento e usuário SET_NULL; notificação ordenado por geração
URLMonitor ambiente SET_NULL; nome/URL; intervalo 5 min; timeout 10 s; ativo; criado monitoramento independente
UptimeCheck monitor FK CASCADE; timestamp; status HTTP; resposta; is_up; erro histórico de uptime
SSLCertificate monitor OneToOne CASCADE; domínio; expiração; dias restantes; emissor; última verificação; alerta certificado do monitor
Relatorio ambiente FK CASCADE; período; geração; arquivo/envio; contadores UNIQUE ambiente + período
Log usuário SET_NULL; ação; descrição; criado_em auditoria do sistema

O schema não usa um BaseModel comum. Campos opcionais aceitam NULL somente quando explicitamente modelados assim; textos com blank=True normalmente permanecem NOT NULL.