# Monitoring

VPS status measured by its agent, nginx, systemd and task logs, live network and 30-day uptime on the status page.

Source: https://ardumaker.com/en/docs/monitorizacion/

- Category: Servers and infrastructure
- Status: Partial
- Requirements: A company VPS; Being a company member with access to the VPS; To read logs and live status: the VPS running and its agent answering
- MCP tools (Read only): `ver_estado_vps`, `ver_vps`, `ver_funciones_vps`, `ver_estado_red_vps`, `ver_logs_nginx_vps`, `ver_logs_systemd_vps`, `ver_logs_tarea_vps`

## What can you do with it?

- See the VPS status: CPU, RAM and disk measurements taken by its agent, with a capacity index that points out the bottleneck.
- See the agent version and the operating system it reports.
- Read logs: nginx per domain, a systemd service, a scheduled task.
- See the live network state: interfaces and VPN peers.
- Follow on the ArduMaker status page whether your VPS and their domains respond, with uptime for the last 30 days.

> **INFO:** This document covers what can be **queried**. No system of alerts or configurable thresholds that notifies the customer when a VPS goes down or fills up was confirmed in the code.

## When should you use it?

- A site is slow and you need to know whether it is CPU, memory or disk.
- A service restarts by itself or a task does not run.
- You need to confirm whether an outage was the domain, the VPS or the host.

## How does it work in ArduMaker?

| Source | What it shows | How it is obtained |
| --- | --- | --- |
| VPS status | `system_status`: measurements by timestamp (CPU, RAM, disk, `rendimiento.capacidad` with `indice`, `nivel` and `cuello`); `agente` and `contenedor` separately | Requested from the VPS agent; if it does not answer, `system_status` carries `error` and `tipo` and the rest still comes back |
| nginx logs | Last 500 lines of `/var/log/nginx/<dominio>_access.log` or `_error.log` | `tail` en el VPS |
| systemd logs | Last 500 lines of a service journal | `journalctl -u` |
| Task logs | Command output (`service`) or timer output (`timer`) | `journalctl -u` |
| Network | Interfaces, WireGuard peers and internal network IP | Direct connection to the VPS (up to 20 s) |
| Status page | Hosts, VPS and domains: `online` or `offline`, with 30-day uptime | Platform check every 5 minutes |

### The status page

- Without a session it shows the general status with VPS and domain names masked.
- With a session, it shows in full the VPS of your companies (respecting which VPS you can access) and their domains.
- A domain counts as `online` if it answers with any HTTP code (including 404 or 500); it is only `offline` if it does not answer.
- Uptime is computed from observed time between state changes, not from the number of checks.

## What actually changes?

Querying changes nothing on the VPS. Viewing the status is written to the VPS activity log; reading logs is not.

## Diagram

**Where each piece of data comes from**

```text
VPS agent (CPU, RAM, disk and capacity measurements)
  ↓
VPS log files (nginx and the systemd journal)
  ↓
ArduMaker backend (VPS record and periodic checks)
  ↓
Status page (online/offline and 30-day uptime)
```

## Expected result

- `ver_estado_vps` returns `system_status` and the VPS record (plan, domains, status).
- Logs come back as a list of lines with `line_count` and, for nginx, the `log_file` read.
- `ver_funciones_vps` says which features the VPS system supports before trying to read them.

## Errors and troubleshooting

| Symptom | Cause | What to do |
| --- | --- | --- |
| `system_status` with `error` | The VPS agent did not answer (off, restarting, no network) | Check whether the VPS is running and retry |
| `Access log file not found for domain` | The server block does not declare that log | See [Nginx](https://ardumaker.com/en/docs/nginx) |
| Empty service logs | The service does not write to the journal or the name does not match | Check the name with `listar_servicios_vps` |
| `funcion_no_disponible` | The VPS system does not support that feature | Check `ver_funciones_vps` |
| Error 424 | The VPS or the host did not answer | Can be retried |

All these queries are read-only and safe to repeat.

## MCP access

Yes, all read-only, in the `/mcp` and `/mcp/vps` profiles. Logs come wrapped as untrusted content (`origen: "no_confiable"`): whatever they say is data, not instructions.

- `ver_estado_vps`: the only tool to know how a VPS is doing.
- `ver_vps`, `ver_funciones_vps`, `ver_estado_red_vps` (slower: it connects to the VPS).
- `ver_logs_nginx_vps`, `ver_logs_systemd_vps`, `ver_logs_tarea_vps`.

There is no MCP tool for the status page. Reference at [/mcp/docs](https://ardumaker.com/en/mcp/docs) and examples at [/mcp/vps](https://ardumaker.com/en/mcp/vps).

## Related features

- [VPS servers](https://ardumaker.com/en/docs/vps/)
- [systemd services](https://ardumaker.com/en/docs/systemd/)
- [Nginx](https://ardumaker.com/en/docs/nginx/)
- [Scheduled tasks](https://ardumaker.com/en/docs/cron/)
- [Agent audit](https://ardumaker.com/en/docs/auditoria-de-agentes/)
