Monitorización ligera para VPS de 4 €: comparativa real de consumo de RAM
Comprar un servidor VPS en proveedores económicos como Hetzner (CX22 por ~4 €/mes), Scaleway o el plan básico de DigitalOcean es una de las mejores decisiones para desplegar side projects, APIs en producción de clientes o blogs de alto tráfico. Por menos de 5 euros obtienes 1 vCPU y 2 GB de memoria RAM: potencia de sobra para un stack moderno con PostgreSQL, Redis y un runtime de Node.js, Go o Python.
Sin embargo, en cuanto decides monitorizar el servidor para enterarte de caídas o picos de uso, te encuentras con una paradoja absurda: las herramientas de monitorización consumen más recursos que tus propias aplicaciones.
La trampa del "OOMKiller" en servidores de 2 GB de RAM
Cuando instalas suites tradicionales de métricas y observabilidad, esto es lo que ocurre con tus 2048 MB de memoria:
- Prometheus + Node Exporter: Requiere entre 250 MB y 450 MB de memoria residente solo para almacenar en búfer las series temporales y realizar el scraping.
- Netdata: Aunque es visualmente atractivo, levanta su propio servidor web, bases de datos internas en memoria y recolectores en Python/Go, consumiendo típicamente entre 180 MB y 300 MB de RAM.
- Datadog Agent: Entre 150 MB y 280 MB, más un coste mensual que supera ampliamente el coste del propio servidor.
En un VPS con 2 GB de RAM donde tu base de datos PostgreSQL necesita 400 MB para buffers y tu backend Node.js necesita 350 MB, dedicar 300 MB a la monitorización deja al sistema al borde del abismo.
En el primer pico de tráfico o consulta pesada, el kernel de Linux activa el temido OOM Killer (Out Of Memory Killer). Y casi nunca mata al agente de métricas: suele matar el proceso de tu base de datos o tu servidor web. El agente sigue vivo para avisarte de que tu servidor se ha caído... precisamente por culpa del agente.
Comparativa real de consumo: suites pesadas vs binarios en Rust
Hemos medido el consumo en reposo (idle) y bajo carga moderada en un servidor idéntico Hetzner CX22 (Ubuntu 24.04 LTS, 1 vCPU, 2 GB RAM):
| Herramienta | Lenguaje / Runtime | Consumo RAM (Resident) | Consumo CPU (Idle) | % RAM en VPS 2 GB | Tamaño en Disco |
|---|---|---|---|---|---|
| Prometheus + Node Exporter | Go (Heap dinámico) | 280–420 MB | 1.8% – 3.5% | ~18.5% | > 450 MB |
| Netdata | C + Python + Go | 190–290 MB | 1.5% – 3.0% | ~12.5% | > 380 MB |
| Datadog Agent | Python + Go | 160–260 MB | 1.2% – 2.5% | ~11.0% | > 600 MB |
| Telegraf (InfluxData) | Go | 85–160 MB | 0.8% – 1.6% | ~6.5% | ~150 MB |
| OxiPulse (SecuryBlack) | Rust (Nativo) | 11.4 MB | < 0.2% | 0.5% | 14 MB (Estático) |
¿Por qué OxiPulse consume solo 11 MB?
OxiPulse fue diseñado con una obsesión: el agente no puede competir por memoria con tus aplicaciones.
- Sin Garbage Collector (GC): Al estar escrito en Rust, no hay pausas de recolección de basura ni sobreasignación preventiva de memoria heap típica de Go o Java.
- Acceso directo a
/procy/sys: Lee las métricas de sistema directamente de los pseudo-sistemas de archivos del kernel de Linux sin dependencias intermedias. - Búfer circular ligero: Si la red se cae, mantiene hasta 24 horas de métricas compactadas en memoria sin superar nunca el límite de 15 MB fijado por cgroup.
- Exportación OTLP nativa: Envía la telemetría compactada en protobuf mediante gRPC (HTTP/2) con compresión zstd.
Cómo ejecutar OxiPulse de forma autónoma (Zero Lock-In)
Los desarrolladores no quieren herramientas cerradas que los aten a un proveedor. OxiPulse es código abierto bajo licencia Apache-2.0 y utiliza el estándar OpenTelemetry (OTLP).
Puedes compilarlo y ejecutarlo apuntando a cualquier recolector OTLP genérico (Grafana, Jaeger, SigNoz o tu propio backend):
# Ejecutar OxiPulse apuntando a tu colector OTLP gRPC local
OXIPULSE_ENDPOINT=http://localhost:4317 cargo run --release
Y en tu servidor de producción, se ejecuta como servicio systemd que puedes auditar en cualquier momento:
$ systemctl status oxipulse
● oxipulse.service - OxiPulse Server Telemetry Agent (Rust)
Active: active (running)
Memory: 11.4M (limit: 15.0M)
CPU: 0.18%
Conclusión
Monitorizar un servidor de 4 €/mes no debería requerir pagar 60 € en licencias SaaS ni sacrificar el 20% de la memoria de tu servidor en runtimes pesados.
Con un agente nativo en Rust como OxiPulse, mantienes el 99.5% de los recursos de tu VPS dedicados a lo que realmente importa: tu negocio y tus clientes. Puedes dar de alta tu primer servidor gratis para siempre en SecuryBlack.