Ir para o conteúdo

MonitorOPS — Dashboard de operação da infraestrutura

Painel web MonitorOPS (lorentz-monitor, porta 9090) para acompanhar, diagnosticar e operar o ambiente na VPS.

Nomenclatura: MonitorOPS = console de operações do stack (containers, .env, diagnóstico).
MonitorCTI = monitoramento CTI (agentes/ramais) — Portal /cti/ e API :8090. São produtos distintos.

Acesso

Item Valor padrao
URL http://IP_DA_VPS:9090/
Usuario admin
Senha password

Configure no .env:

MONITOR_HTTP_PORT=9090
MONITOR_ADMIN_USER=admin
MONITOR_ADMIN_PASSWORD=password
MONITOR_PUBLIC_URL=http://IP_DA_VPS:9090/
ISSABEL_PUBLIC_URL=https://IP_DA_VPS/
VPS_PUBLIC_IP=IP_DA_VPS

Apos alterar credenciais:

docker compose up -d monitor

Painéis (v2)

Painel Descricao
Visao Geral Containers, recursos VPS, controle rapido stack/Issabel
Diagnostico Verificacao automatica: health, portas, SQL, AMI CTI
Logs Tail de logs por container (ate 500 linhas)
Ferramentas validate-install, bootstrap SQL, fix Issabel, render-config, docker prune
Ajuda / Runbooks 8 guias passo a passo integrados (sincronizados com troubleshooting.json)

Runbooks detalhados em markdown: 18 — MonitorOPS troubleshooting

Funcionalidades

  • Status de containers: SQL Server, Lorentz CTI, Base Histórica (LorentzDB.Worker), Supervisor, MonitorOPS, Issabel
  • Recursos VPS: disco % (GB livres) · RAM disponivel (atualizacao automatica a cada 15s)
  • Healthcheck e uptime por servico
  • Memoria, disco e uptime do host
  • Ligar / Desligar / Reiniciar por servico
  • Ligar / Desligar stack Lorentz (compose completo)
  • Ligar / Desligar Issabel (se instalado)
  • Links rapidos para Supervisor e Issabel
  • Icones SVG e layout sidebar (Operations Console)

API (autenticada por sessao)

Endpoint Metodo Descricao
/api/status GET Host + servicos
/api/diagnostics GET Diagnostico completo
/api/logs/<container> GET Logs (?lines=100)
/api/troubleshooting GET Lista runbooks
/api/admin/run POST {"tool":"validate\|bootstrap_sql\|..."}
/api/control POST {"action":"start\|stop\|..."}

Deploy

Incluido no stack principal:

./scripts/deploy-stack.sh
# ou
docker compose up -d --build monitor

Firewall: liberar TCP 9090 no Security Group (AWS) ou ufw:

./scripts/open-aws-port-9090.sh SEU_IP/32

Reinicio automatico apos reboot

Cada container usa restart: unless-stopped. Para garantir que todo o stack suba quando a VPS reiniciar:

sudo ./scripts/install-systemd-stack.sh

Isso instala lorentz-stack.service, que executa docker compose up -d apos o Docker iniciar.

Verificar:

sudo systemctl status lorentz-stack
sudo reboot
# apos voltar:
docker compose ps

Seguranca

  • Troque MONITOR_ADMIN_PASSWORD antes de producao
  • Restrinja TCP 9090 no firewall (IP da equipe de suporte)
  • O monitor acessa /var/run/docker.sock — proteja credenciais e acesso SSH
  • Nao exponha o dashboard publicamente sem restricao de IP
  • Ferramentas admin executam scripts na VPS — use apenas contas confiaveis

Troubleshooting rapido

Problema Acao
HTTP 401 Verifique usuario/senha no .env
Botao nao funciona docker logs lorentz-monitor
Issabel ausente Normal se deploy-issabel.sh ainda nao concluiu
Apos reboot stack parado sudo systemctl enable lorentz-stack && sudo systemctl start lorentz-stack
Runbooks completos 18-monitor-troubleshooting.md

Validacao

./scripts/validate-install.sh
curl http://127.0.0.1:9090/health

Arquivos do monitor

docker/monitor/
├── app.py
├── monitor_services.py
├── Dockerfile
├── static/
│   ├── style.css
│   ├── dashboard.js
│   ├── icons.js
│   └── troubleshooting.json
└── templates/
    ├── dashboard.html
    └── login.html