129 lines
4.1 KiB
Markdown
129 lines
4.1 KiB
Markdown
|
|
# 🔍 Resumo do Problema - Cliente DESKTOP-BC16GDH
|
||
|
|
|
||
|
|
## ❌ Problemas Identificados
|
||
|
|
|
||
|
|
### 1. Aplicativos não estão sendo monitorados corretamente
|
||
|
|
**Status:** ❌ **NÃO FUNCIONANDO**
|
||
|
|
|
||
|
|
**O que está acontecendo:**
|
||
|
|
- O cliente está enviando apenas `window_title = "System Idle"` e `application_name = "[IDLE]"`
|
||
|
|
- Não está capturando o título real da janela ativa
|
||
|
|
- Não está capturando o executável real do processo
|
||
|
|
|
||
|
|
**O que deveria acontecer:**
|
||
|
|
- Capturar o título real da janela (ex: "Documento - Word", "Visual Studio Code")
|
||
|
|
- Capturar o executável real (ex: "WINWORD.EXE", "Code.exe", "chrome.exe")
|
||
|
|
|
||
|
|
**Solução:**
|
||
|
|
- O cliente precisa usar APIs do Windows para capturar a janela ativa
|
||
|
|
- Ver arquivo: `ESPECIFICACAO_CLIENTE_WINDOWS.md` seção 1
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 2. Histórico do Google Chrome não está sendo enviado
|
||
|
|
**Status:** ❌ **NÃO FUNCIONANDO**
|
||
|
|
|
||
|
|
**O que está acontecendo:**
|
||
|
|
- Nenhum dado de navegação está sendo recebido
|
||
|
|
- O campo `urls` não está sendo enviado no POST `/api/activity/log`
|
||
|
|
|
||
|
|
**O que deveria acontecer:**
|
||
|
|
- Enviar array `urls` com todas as URLs das abas abertas do Chrome/Edge
|
||
|
|
- Atualizar sempre que uma nova aba for aberta ou fechada
|
||
|
|
|
||
|
|
**Solução:**
|
||
|
|
- O cliente precisa monitorar as abas do Chrome/Edge
|
||
|
|
- Enviar no campo `urls` do POST `/api/activity/log`
|
||
|
|
- Ver arquivo: `ESPECIFICACAO_CLIENTE_WINDOWS.md` seção 2
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### 3. Logs de logon/logoff do Windows não estão sendo enviados
|
||
|
|
**Status:** ❌ **NÃO FUNCIONANDO**
|
||
|
|
|
||
|
|
**O que está acontecendo:**
|
||
|
|
- Nenhum evento de sessão está sendo recebido
|
||
|
|
- O endpoint `/api/activity/session` não está sendo chamado
|
||
|
|
|
||
|
|
**O que deveria acontecer:**
|
||
|
|
- Detectar quando o usuário faz logon no Windows
|
||
|
|
- Detectar quando o usuário faz logoff no Windows
|
||
|
|
- Enviar POST para `/api/activity/session` imediatamente
|
||
|
|
|
||
|
|
**Solução:**
|
||
|
|
- O cliente precisa escutar eventos do Windows (SessionSwitch)
|
||
|
|
- Enviar POST para `/api/activity/session` quando ocorrer logon/logoff
|
||
|
|
- Ver arquivo: `ESPECIFICACAO_CLIENTE_WINDOWS.md` seção 3
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ✅ O que está funcionando
|
||
|
|
|
||
|
|
1. ✅ **Heartbeat/Status:** O dispositivo aparece como online
|
||
|
|
2. ✅ **Atividades básicas:** Está enviando atividades (mesmo que apenas "System Idle")
|
||
|
|
3. ✅ **Backend:** O servidor está recebendo e processando os dados
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔧 Ações Necessárias
|
||
|
|
|
||
|
|
### No Cliente Windows (DESKTOP-BC16GDH):
|
||
|
|
|
||
|
|
1. **Atualizar código para capturar aplicativos reais:**
|
||
|
|
- Usar `GetForegroundWindow()` para obter janela ativa
|
||
|
|
- Usar `GetWindowThreadProcessId()` para obter processo
|
||
|
|
- NÃO enviar "System Idle" quando há aplicativo ativo
|
||
|
|
|
||
|
|
2. **Implementar monitoramento do Chrome:**
|
||
|
|
- Usar Chrome DevTools Protocol ou extensão
|
||
|
|
- Capturar URLs de todas as abas abertas
|
||
|
|
- Enviar no campo `urls` do POST `/api/activity/log`
|
||
|
|
|
||
|
|
3. **Implementar eventos de sessão:**
|
||
|
|
- Escutar eventos `SessionSwitch` do Windows
|
||
|
|
- Enviar POST para `/api/activity/session` quando ocorrer logon/logoff
|
||
|
|
|
||
|
|
### No Servidor (Backend):
|
||
|
|
|
||
|
|
1. ✅ **Validação adicionada:** O backend agora avisa quando recebe dados inválidos
|
||
|
|
2. ⚠️ **Permissões do banco:** Precisa corrigir permissões das tabelas `browsing_history` e `session_events`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📋 Checklist para o Cliente
|
||
|
|
|
||
|
|
- [ ] Cliente captura `window_title` real (não "System Idle")
|
||
|
|
- [ ] Cliente captura `application_name` real (exe do processo)
|
||
|
|
- [ ] Cliente envia atividades a cada 5-10 segundos quando há mudança
|
||
|
|
- [ ] Cliente monitora e envia URLs do Chrome/Edge
|
||
|
|
- [ ] Cliente detecta eventos de logon/logoff do Windows
|
||
|
|
- [ ] Cliente envia eventos de sessão imediatamente
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📄 Documentação
|
||
|
|
|
||
|
|
- **Especificação completa:** `ESPECIFICACAO_CLIENTE_WINDOWS.md`
|
||
|
|
- **Configuração básica:** `CLIENT_CONFIG.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🐛 Como Verificar
|
||
|
|
|
||
|
|
### Ver logs do servidor:
|
||
|
|
```bash
|
||
|
|
pm2 logs pointcontrol-api --lines 50
|
||
|
|
```
|
||
|
|
|
||
|
|
Procure por:
|
||
|
|
- `⚠️ ATENÇÃO: Recebendo atividade com window_title inválido` - indica que o cliente não está enviando dados reais
|
||
|
|
- `📊 X URLs registradas` - indica que URLs estão sendo recebidas
|
||
|
|
- `🔐 Evento de sessão` - indica que eventos de sessão estão sendo recebidos
|
||
|
|
|
||
|
|
### Verificar dados no banco:
|
||
|
|
```bash
|
||
|
|
cd /var/www/pointcontrol/backend
|
||
|
|
node check_device_status.js DESKTOP-BC16GDH
|
||
|
|
```
|
||
|
|
|