feat(monitor): integração Beszel/Stack Observer, tickets do observer e novos sites no uptime

This commit is contained in:
2026-10-28 16:00:59 +00:00
parent 2bbc12e8b4
commit ca9a07b1d9
12 changed files with 1110 additions and 7 deletions
+13 -1
View File
@@ -26,6 +26,10 @@ import { openSessionsDb } from './services/sessions/db.js'
import { DEFAULT_DB_PATH } from './services/sessions/indexer.js'
import { collectAllServerMetrics } from './services/server-metrics.js'
import { collectMonitoringData } from './services/monitoring-collector.js'
import beszelRouter from './routes/beszel.js'
import stackObserverRouter from './routes/stack-observer.js'
import { collectBeszelFleet } from './services/beszel.js'
import observerTicketRouter from './routes/observer-ticket-processor.js'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
@@ -133,8 +137,10 @@ app.use('/api/financial', financialRouter)
app.use('/api/mcps', mcpsRouter)
app.use('/api/n8n', n8nRouter)
app.use('/api/paperclip', paperclipRouter)
app.use('/api/ai', aiRouter)
app.use('/api/operations', operationsRouter)
app.use('/api/stack-observer', stackObserverRouter)
app.use('/api/beszel', beszelRouter)
app.use('/api/observer-tickets', observerTicketRouter)
// Observabilidade (Espelho) — sessões Claude Code
const sessionsDb = openSessionsDb(process.env.OBSERVABILIDADE_DB ?? DEFAULT_DB_PATH)
@@ -217,6 +223,9 @@ app.listen(PORT, () => {
collectMonitoringData().catch(err =>
console.error('[SCHEDULER] Initial monitoring collection failed:', err.message)
)
collectBeszelFleet().catch(err =>
console.error('[SCHEDULER] Initial Beszel fleet collection failed:', err instanceof Error ? err.message : err)
)
}, 30000)
// Recurring collection
@@ -227,6 +236,9 @@ app.listen(PORT, () => {
collectMonitoringData().catch(err =>
console.error('[SCHEDULER] Monitoring collection failed:', err.message)
)
collectBeszelFleet().catch(err =>
console.error('[SCHEDULER] Beszel fleet collection failed:', err instanceof Error ? err.message : err)
)
}, INTERVAL)
}
})