feat: push-based monitoring with remote agent (self-elevating installer) #40

Merged
rafaga21 merged 1 commits from feat/push-monitoring-agent into master 2026-06-11 19:09:10 -04:00
Collaborator

Resumen

Monitoreo push-based: cada servidor ejecuta un agente bash que envía métricas por HTTP POST cada 60s. El agente se instala via SSH desde el panel y se ejecuta como servicio systemd con auto-start en boot.

Cambios principales

  • Instalador auto-elevable: el script detecta si no es root y se re-ejecuta con script -qc sudo bash para crear un PTY que sortea Defaults requiretty
  • AgentService.php: orquesta install/uninstall via SSH escribiendo a /tmp/ primero
  • POST /api/metrics/push: endpoint que recibe métricas autenticado via agent_key
  • UI en show.php: sección Monitoring Agent con key oculta, estado instalado/no instalado, ruta, última vez visto, modales de confirmación
  • Migración 006: columnas agent_key, agent_installed, agent_install_path, agent_last_seen_at
## Resumen Monitoreo push-based: cada servidor ejecuta un agente bash que envía métricas por HTTP POST cada 60s. El agente se instala via SSH desde el panel y se ejecuta como servicio systemd con auto-start en boot. ## Cambios principales - **Instalador auto-elevable**: el script detecta si no es root y se re-ejecuta con `script -qc sudo bash` para crear un PTY que sortea `Defaults requiretty` - **AgentService.php**: orquesta install/uninstall via SSH escribiendo a /tmp/ primero - **POST /api/metrics/push**: endpoint que recibe métricas autenticado via agent_key - **UI en show.php**: sección Monitoring Agent con key oculta, estado instalado/no instalado, ruta, última vez visto, modales de confirmación - **Migración 006**: columnas agent_key, agent_installed, agent_install_path, agent_last_seen_at
agent added 1 commit 2026-06-11 19:08:04 -04:00
- agent-install.sh and agent-uninstall.sh now detect if running as root
  at startup and re-execute via 'script -qc sudo bash' if needed
- AgentService commands simplified: just write to /tmp and run bash,
  the scripts handle privilege escalation internally
- Fixes exit code propagation: the script's exit code now correctly
  flows back through exec -> script -> sudo -> bash -> SSH
rafaga21 approved these changes 2026-06-11 19:09:06 -04:00
rafaga21 merged commit 76180271ce into master 2026-06-11 19:09:10 -04:00
rafaga21 deleted branch feat/push-monitoring-agent 2026-06-11 19:09:11 -04:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: devlab/server-manager#40