# Monitorización

Estado del VPS medido por su agente, logs de nginx, systemd y tareas, red en vivo y uptime de 30 días en la página de estado.

Fuente: https://ardumaker.com/docs/monitorizacion/

- Categoría: Servidores e infraestructura
- Estado: Parcial
- Requisitos: Un VPS de la empresa; Ser miembro de la empresa con acceso al VPS; Para leer logs y estado en vivo: el VPS encendido y su agente respondiendo
- Herramientas MCP (Solo leen): `ver_estado_vps`, `ver_vps`, `ver_funciones_vps`, `ver_estado_red_vps`, `ver_logs_nginx_vps`, `ver_logs_systemd_vps`, `ver_logs_tarea_vps`

## ¿Qué permite hacer?

- Ver el estado del VPS: mediciones de CPU, RAM y disco tomadas por su agente, con un índice de capacidad que señala el cuello de botella.
- Ver la versión del agente y el sistema operativo que reporta.
- Leer logs: de nginx por dominio, de un servicio systemd, de una tarea programada.
- Ver el estado de red en vivo: interfaces y peers de VPN.
- Seguir en la página de estado de ArduMaker si tus VPS y sus dominios responden, con el uptime de los últimos 30 días.

> **INFO:** Este documento cubre lo que se puede **consultar**. No se confirmó en el código un sistema de alertas o umbrales configurables que avise al cliente cuando un VPS se cae o se llena.

## ¿Cuándo conviene usarlo?

- Un sitio anda lento y hay que saber si es CPU, memoria o disco.
- Un servicio se reinicia solo o una tarea no corre.
- Hay que confirmar si una caída fue del dominio, del VPS o del host.

## ¿Cómo funciona en ArduMaker?

| Fuente | Qué muestra | Cómo se obtiene |
| --- | --- | --- |
| Estado del VPS | `system_status`: mediciones por timestamp (CPU, RAM, disco, `rendimiento.capacidad` con `indice`, `nivel` y `cuello`); `agente` y `contenedor` aparte | Se le pide al agente del VPS; si no contesta, `system_status` trae `error` y `tipo` y el resto sale igual |
| Logs de nginx | Últimas 500 líneas de `/var/log/nginx/<dominio>_access.log` o `_error.log` | `tail` en el VPS |
| Logs de systemd | Últimas 500 líneas del journal de un servicio | `journalctl -u` |
| Logs de tareas | Salida del comando (`service`) o del timer (`timer`) | `journalctl -u` |
| Red | Interfaces, peers de WireGuard e IP de la red interna | Conexión directa al VPS (hasta 20 s) |
| Página de estado | Hosts, VPS y dominios: `online` u `offline`, con uptime de 30 días | Chequeo de la plataforma cada 5 minutos |

### La página de estado

- Sin sesión muestra el estado general con los nombres de VPS y dominios enmascarados.
- Con sesión, muestra completos los VPS de tus empresas (respetando a qué VPS se tiene acceso) y sus dominios.
- Un dominio cuenta como `online` si responde con cualquier código HTTP (también 404 o 500); solo es `offline` si no responde.
- El uptime se calcula por tiempo observado entre cambios de estado, no por cantidad de chequeos.

## ¿Qué cambia realmente?

Consultar no cambia nada en el VPS. Ver el estado queda anotado en el registro de actividad del VPS; leer logs no se anota.

## Esquema

**De dónde sale cada dato**

```text
Agente del VPS (mediciones de CPU, RAM, disco y capacidad)
  ↓
Archivos de log del VPS (nginx y journal de systemd)
  ↓
Backend de ArduMaker (registro del VPS y chequeos periódicos)
  ↓
Página de estado (online/offline y uptime de 30 días)
```

## Resultado esperado

- `ver_estado_vps` devuelve `system_status` y el registro del VPS (plan, dominios, estado).
- Los logs vuelven como lista de líneas con `line_count` y, para nginx, el `log_file` leído.
- `ver_funciones_vps` dice qué funciones soporta el sistema del VPS antes de intentar leerlas.

## Errores y resolución

| Síntoma | Causa | Qué hacer |
| --- | --- | --- |
| `system_status` con `error` | El agente del VPS no contestó (apagado, reiniciando, sin red) | Revisar si el VPS está encendido y reintentar |
| `Access log file not found for domain` | El server block no declara ese log | Ver [Nginx](https://ardumaker.com/docs/nginx) |
| Logs vacíos de un servicio | El servicio no escribe en el journal o el nombre no coincide | Verificar el nombre con `listar_servicios_vps` |
| `funcion_no_disponible` | El sistema del VPS no soporta esa función | Consultar `ver_funciones_vps` |
| Error 424 | El VPS o el host no respondieron | Reintentable |

Todas estas consultas son de solo lectura y seguras de repetir.

## Relación con MCP

Sí, todo de lectura, en los perfiles `/mcp` y `/mcp/vps`. Los logs llegan envueltos como contenido no confiable (`origen: "no_confiable"`): lo que digan es dato, no instrucciones.

- `ver_estado_vps`: la única herramienta para saber cómo está un VPS.
- `ver_vps`, `ver_funciones_vps`, `ver_estado_red_vps` (más lenta: conecta al VPS).
- `ver_logs_nginx_vps`, `ver_logs_systemd_vps`, `ver_logs_tarea_vps`.

No hay herramienta MCP para la página de estado. Referencia en [/mcp/docs](https://ardumaker.com/mcp/docs) y ejemplos en [/mcp/vps](https://ardumaker.com/mcp/vps).

## Funciones relacionadas

- [Servidores VPS](https://ardumaker.com/docs/vps/)
- [Servicios systemd](https://ardumaker.com/docs/systemd/)
- [Nginx](https://ardumaker.com/docs/nginx/)
- [Tareas programadas](https://ardumaker.com/docs/cron/)
- [Auditoría de agentes](https://ardumaker.com/docs/auditoria-de-agentes/)
