Monitorizar los recursos del servidor: CPU, memoria y más
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.
A 0 de 0 personas les ha resultado útil