Monitorizar los recursos de tu servidor es esencial para tener un sitio web estable y rápido. En Theory7 vemos con frecuencia problemas de rendimiento que se podrían haber evitado con una buena monitorización. En esta guía aprenderás a vigilar la CPU, la memoria, el espacio en disco y los procesos. No solo importa saber cómo monitorizar estos recursos, sino también entender por qué es crucial para el rendimiento general de tu servidor y tu sitio web.

Por qué es importante la monitorización

Sin monitorización, solo notas los problemas cuando ya es demasiado tarde. Esto puede provocar:

  • Sitios web lentos: La falta de memoria puede hacer que tu sitio web cargue con lentitud, lo que puede ahuyentar a los visitantes.
  • Caídas de servicios: Si el disco se llena, servicios importantes como las bases de datos o los servidores web pueden caerse, lo que provoca tiempo de inactividad.
  • Sobrecarga de la CPU: Puede provocar tiempos de espera agotados y una mala experiencia de usuario.
  • Procesos desconocidos: Algunos procesos pueden consumir muchos recursos sin que nadie lo note, lo que genera ineficiencia.

Con una monitorización proactiva puedes resolver los problemas antes de que afecten a tus usuarios y a tu negocio. Es una inversión en la estabilidad y la fiabilidad de tu presencia en internet.

Monitorizar la CPU y la memoria

El comando top

Top ofrece una vista en tiempo real del sistema y los procesos:

top

Valores importantes en la parte superior:

  • load average: Carga del sistema (media de 1, 5 y 15 minutos)
  • %Cpu(s): Uso de la CPU desglosado
  • MiB Mem: Memoria total y uso
  • MiB Swap: Uso de swap

Teclas útiles en top:

  • q: Salir
  • M: Ordenar por memoria
  • P: Ordenar por CPU
  • k: Matar un proceso

Htop para una vista mejor

Htop ofrece una interfaz más visual e intuitiva:

# Installeren
sudo apt install htop

# Starten
htop

Ventajas de htop:

  • Los códigos de color para los recursos facilitan la identificación de problemas.
  • Compatibilidad con el ratón para navegar con facilidad.
  • Es más fácil matar procesos con una sola tecla.
  • Mejor navegación por los procesos y los recursos.

Consultar solo la memoria

free -h

Explicación de la salida:

  • total: Memoria total disponible
  • used: En uso en este momento
  • free: Sin usar
  • available: Disponible para aplicaciones nuevas

Atención: Linux utiliza la memoria libre como caché. Fíjate en available, no en free. Así entenderás mejor cuánta memoria hay realmente disponible para procesos nuevos.

Monitorizar el espacio en disco

Vista de todas las particiones

df -h

Fíjate en la columna Use%. Por encima del 85% debes actuar. Puede significar que tienes que eliminar archivos antiguos o añadir más espacio en disco.

Uso del disco por directorio

Averigua qué directorios ocupan más espacio:

# Overzicht van /var
sudo du -sh /var/*

# Top 10 grootste directories
sudo du -h / | sort -rh | head -10

Comprobar los inodos

A veces los inodos se agotan antes de que se llene el espacio en disco:

df -i

Suele ocurrir cuando hay muchos archivos pequeños, como caché, sesiones y logs. Conviene comprobar con regularidad el uso de inodos, sobre todo si guardas muchos archivos pequeños.

Monitorizar la E/S del disco

Estadísticas básicas de E/S

sudo apt install sysstat
iostat -x 1

Columnas importantes:

  • %util: Porcentaje de tiempo que el disco está ocupado
  • await: Tiempo medio de espera por operación de E/S
  • r/s, w/s: Lecturas y escrituras por segundo

Un %util alto puede indicar un cuello de botella en el disco. Esto puede ralentizar tus aplicaciones, así que conviene comprobarlo con regularidad.

Analizar los procesos

Ver todos los procesos

ps aux

Ordenar los procesos por CPU

ps aux --sort=-%cpu | head -20

Ordenar los procesos por memoria

ps aux --sort=-%mem | head -20

Buscar un proceso concreto

ps aux | grep apache
pgrep -a nginx

Monitorizar la red

Ver las conexiones abiertas

# Alle luisterende poorten
sudo ss -tulpn

# Actieve connecties
sudo ss -tunapl

Tráfico de red

# Installeren
sudo apt install iftop

# Real-time verkeer
sudo iftop

Con iftop puedes monitorizar el tráfico de red en tiempo real, lo que resulta útil para detectar actividad inusual o cuellos de botella en tu red.

Monitorizar los logs

Logs del sistema

# Realtime systeemlog
sudo tail -f /var/log/syslog

# Laatste regels
sudo tail -100 /var/log/syslog

Logs de Apache/Nginx

# Apache error log
sudo tail -f /var/log/apache2/error.log

# Nginx access log
sudo tail -f /var/log/nginx/access.log

Logs de journal (systemd)

# Alle logs
journalctl

# Logs van specifieke service
journalctl -u nginx

# Laatste uur
journalctl --since "1 hour ago"

Comandos útiles de una línea para monitorizar

Vista rápida del sistema

echo "=== CPU ===" && uptime && echo "=== MEM ===" && free -h && echo "=== DISK ===" && df -h /

Los procesos que más memoria consumen

ps aux --sort=-%mem | head -10

Archivos más grandes

find / -type f -size +100M 2>/dev/null | head -20

Monitorización automática

Para una monitorización continua, plantéate herramientas como:

  • Netdata: Panel de monitorización en tiempo real que ofrece una amplia gama de métricas.
  • Prometheus + Grafana: Una pila de monitorización completa con la que puedes crear paneles detallados.
  • Monit: Para monitorizar servicios y reiniciarlos automáticamente si fallan.

Más información sobre los servidores VPS de Theory7

¿Necesitas ayuda?

Estamos a tu disposición. ¿Te has encontrado con algún problema o tienes preguntas? Nuestro equipo de soporte te ayudará encantado de forma personal. Envíanos un mensaje a través del sistema de tickets: solemos responder en unas pocas horas y buscamos la solución contigo.