Dominar las herramientas de supervisión del sistema para Ubuntu Server es esencial para garantizar un rendimiento óptimo, diagnosticar problemas y mantener la fiabilidad del sistema. En este tutorial, exploraremos las mejores herramientas de supervisión del sistema disponibles para servidores Ubuntu, incluida la supervisión de recursos en tiempo real, la E/S de disco, la actividad de red y los paneles de servidor.
Artículo anterior:
01. Introducción a Ubuntu Server – SysOSX: AI & Cloud
02. Cómo configurar tu primer servidor Ubuntu: guía para principiantes – SysOSX: AI & Cloud
03.Dominar la línea de comandos de Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gestión de usuarios y permisos en Ubuntu Server: guía completa – SysOSX: AI & Cloud
05. Fundamentos de redes para Ubuntu Server: guía completa – SysOSX: AI & Cloud
06. Instalación y gestión de software en Ubuntu Server: guía completa – SysOSX: AI & Cloud
07.Aplicación de parches y actualización de Ubuntu Server: guía completa – SysOSX: AI & Cloud
09. Auditoría y registro en el servidor Ubuntu
Usar htop y top para la supervisión de recursos en tiempo real
Introducción a htop y top
Ambas htop y top son herramientas de línea de comandos esenciales para supervisar los recursos del sistema en tiempo real. Muestran información como el uso de la CPU, el consumo de memoria y los procesos en ejecución.
Instalación y ejecución de htop (viene instalado de forma predeterminada)
Para instalar htop, ejecuta:
sudo apt update
sudo apt install htop
Para iniciar htop, simplemente escribe:
htop
Funciones clave y casos de uso de htop
htop es ideal para:
- Identificar procesos que consumen muchos recursos: puedes ordenar los procesos por uso de CPU o memoria para encontrar rápidamente los que más recursos consumen.
- Terminar procesos: Usa
F9para terminar procesos que no responden o problemáticos directamente desde la interfaz dehtop. - Supervisar hilos: expande los procesos para ver los hilos individuales y su uso de recursos.
- Personalizar columnas: Pulsa
F2para configurar la pantalla y añadir o quitar métricas como la E/S de disco o la utilización de red.
Usar top
top es una herramienta más sencilla, preinstalada en los servidores Ubuntu. Para ejecutarla:
top
Comandos clave para top:
- Pulsa
Shift + ppara ordenar por uso de CPU. - Pulsa
Shift + mpara ordenar por uso de memoria. - Pulsa
qpara salir.
Instalación y configuración de sysstat para métricas de rendimiento
¿Qué es sysstat?
sysstat es un conjunto de herramientas para recopilar y notificar métricas de rendimiento del sistema a lo largo del tiempo. Incluye utilidades como iostat, vmstat, y sar.
Instalación de sysstat
Para instalar sysstat:
sudo apt update
sudo apt install sysstat
Configuración de sysstat
Habilita la recopilación de datos editando el archivo de configuración:
sudo nano /etc/default/sysstat
Cambia ENABLED="false" a ENABLED="true". Guarda y sal, y reinicia el servicio:
sudo systemctl restart sysstat
Usar sysstat y sus herramientas
iostat: supervisar el rendimiento de E/S de disco.iostat

vmstat: supervisar las estadísticas de memoria, CPU y E/S.vmstat

sar: generar informes históricos de la actividad del sistema.sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

Supervisión de la E/S de disco y la actividad de red
Supervisión de E/S de disco con iotop
Usa herramientas como iostat (de sysstat) o iotop para supervisar la E/S de disco en tiempo real.
Para instalar iotop:
sudo apt update
sudo apt install iotop
Ejecuta iotop con:
sudo iotop
Sin embargo, algunos usuarios pueden encontrarse con el siguiente error al ejecutar iotop:
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %
Cómo corregir el error de iotop .
Este problema se produce porque al kernel le falta la función CONFIG_TASK_DELAY_ACCT , que es necesaria para que iotop muestre los porcentajes de SWAPIN e IO. Afortunadamente, esto se puede resolver actualizando la configuración de GRUB.
Pasos para corregir el error
- Edita el archivo de configuración de GRUB:
sudo nano /etc/default/grub
- Añade
delayaccta la opciónGRUB_CMDLINE_LINUX_DEFAULT. Si la línea está inicialmente vacía (GRUB_CMDLINE_LINUX_DEFAULT=""), actualízala de la siguiente manera:GRUB_CMDLINE_LINUX_DEFAULT="delayacct"Si la línea ya contiene otras opciones, añadedelayaccta las opciones existentes, separado por un espacio. Por ejemplo:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
- Actualiza GRUB para aplicar los cambios:
sudo update-grub
- Reinicia el servidor:
sudo reboot
Después del reinicio, el error debería estar resuelto y iotop funcionará correctamente.
Usar `iotop
Una vez resuelto el problema, puedes ejecutar iotop para supervisar la E/S de disco:
sudo iotop
Qué puedes hacer con iotop
- Identificar procesos que causan una E/S de disco alta.
- Supervisar las operaciones de lectura/escritura en tiempo real.
- Ordenar procesos por uso de disco.
Supervisión de la actividad de red
Usar iftop
Para instalar iftop:
sudo apt update
sudo apt install iftop
Ejecuta iftop con:
sudo iftop
Usar nload
Para instalar nload:
sudo apt update
sudo apt install nload
Ejecuta nload con:
nload
Configuración de paneles de servidor con Cockpit
¿Qué es Cockpit?
Cockpit es un panel gráfico basado en la web para supervisar y gestionar servidores. Ofrece información en tiempo real sobre la CPU, la memoria, el uso del disco y la actividad de red.
Instalación de Cockpit
Para instalar Cockpit:
sudo apt update
sudo apt install cockpit
Acceso a Cockpit
Inicia el servicio de Cockpit:
sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket
Accede al panel navegando a:
https://<your-server-ip>:9090
Funciones de Cockpit
- Supervisar el rendimiento del sistema de forma visual.
- Gestionar servicios, registros y cuentas de usuario.
- Ver el uso del disco y la actividad de red.
Otras herramientas de supervisión recomendadas
Si bien herramientas como htop, sysstat, y Cockpit son excelentes para la mayoría de las necesidades de supervisión de servidores, existen otras herramientas avanzadas que pueden proporcionar información más detallada y una mejor visualización para entornos complejos. A continuación, se presentan otras herramientas de supervisión que puedes considerar:
Prometheus y Grafana
Prometheus
Prometheus es un conjunto de herramientas de supervisión y alertas de código abierto diseñado para la fiabilidad y la escalabilidad. Se usa ampliamente en entornos nativos de la nube y es especialmente adecuado para supervisar sistemas distribuidos y microservicios.
Funciones clave:
- Base de datos de series temporales: almacena métricas de forma eficiente con marcas de tiempo.
- Lenguaje de consulta potente (
PromQL) para analizar métricas. - Sistema de alertas: integrado con herramientas como Alertmanager para las notificaciones.
- Arquitectura basada en pull: Prometheus extrae activamente las métricas de los objetivos.
Casos de uso:
- Supervisar el uso de CPU, memoria y disco en varios servidores.
- Seguir métricas específicas de la aplicación (p. ej., latencia de solicitudes HTTP, tasas de error).
- Generar alertas por métricas inusuales o fallos del sistema.
Instrucciones de instalación:
Para instalar Prometheus en Ubuntu:
sudo apt update
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
tar xvf prometheus-2.44.0.linux-amd64.tar.gz
cd prometheus-2.44.0.linux-amd64
./prometheus
Accede a Prometheus navegando a:
http://<your-server-ip>:9090
Ten en cuenta que tanto Prometheus como Cockpit usan el puerto 9090 de forma predeterminada; si los usas al mismo tiempo, es posible que quieras cambiar el puerto predeterminado:
Resolución del conflicto de puertos entre Prometheus y Cockpit
Opción 1: cambiar el puerto de Prometheus
Puedes configurar Prometheus para que use un puerto diferente modificando su archivo de configuración.
- Abre el archivo de configuración de Prometheus:
nano prometheus.yml
- Añade o modifica el indicador
--web.listen-addressen el comando de inicio de Prometheus o en el archivo de servicio para especificar un puerto diferente (p. ej.,9091):
--web.listen-address=:9091
- Reinicia Prometheus para aplicar los cambios:
sudo systemctl restart prometheus
- Accede a Prometheus con el nuevo puerto:
http://<your-server-ip>:9091
Opción 2: cambiar el puerto de Cockpit
El puerto predeterminado de Cockpit también se puede cambiar si prefieres mantener Prometheus en el puerto 9090.
- Crea un archivo de configuración personalizado para Cockpit:
sudo nano /lib/systemd/system/cockpit.socket
- Añade las siguientes líneas para especificar un puerto nuevo (p. ej.,
9092):ListenStream=9092 - Reinicia el servicio de Cockpit:
systemctl daemon-reload
systemctl restart cockpit.socket
- Accede a Cockpit con el nuevo puerto:
https://<your-server-ip>:9092
Opción 3: usar un proxy inverso
Si cambiar los puertos no es lo ideal, puedes usar un proxy inverso (p. ej., Nginx o Apache) para asignar ambos servicios a URL diferentes manteniendo sus puertos predeterminados.
Por ejemplo:
- Prometheus:
http://<your-server-ip>/prometheus
- Cockpit:
http://<your-server-ip>/cockpit
Recomendación
Si usas ambas herramientas con frecuencia:
Documenta los cambios de puerto para referencia futura o para otros administradores.
Cambia Prometheus al puerto 9091 , ya que se accede a Cockpit más comúnmente a través de su puerto predeterminado 9090.
Grafana
Grafana es una potente plataforma de visualización que se integra perfectamente con Prometheus. Te permite crear paneles dinámicos para visualizar métricas y tendencias.
Funciones clave:
- Compatibilidad con varias fuentes: funciona con Prometheus, Elasticsearch, MySQL y más.
- Paneles personalizados: crea gráficos interactivos, mapas de calor y tablas.
- Alertas: configura alertas basadas en umbrales para métricas clave.
- Uso compartido: comparte paneles fácilmente con los equipos.
Casos de uso:
- Visualizar métricas de rendimiento del servidor recopiladas por Prometheus.
- Supervisar tendencias a lo largo del tiempo para una mejor planificación de la capacidad.
- Mostrar datos de varias fuentes en un panel unificado.
Instrucciones de instalación:
Para instalar Grafana en Ubuntu:
sudo apt update
sudo apt install -y software-properties-common
sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
Accede a Grafana navegando a:
http://<your-server-ip>:3000
Nagios
Nagios es una de las herramientas de supervisión de infraestructuras más populares. Ofrece supervisión y alertas completas para servidores, dispositivos de red y aplicaciones. Es muy personalizable y admite complementos para ampliar su funcionalidad.
Funciones clave:
- Supervisar el estado del servidor: seguir el uso de CPU, memoria, disco y más.
- Supervisión de red: detectar problemas con routers, conmutadores y cortafuegos.
- Alertas: enviar notificaciones por correo electrónico, SMS o integraciones con Slack.
- Amplia biblioteca de complementos: supervisar bases de datos, servidores web y otros servicios.
Casos de uso:
- Supervisar servidores y aplicaciones críticos en entornos de producción.
- Recibir alertas cuando el espacio en disco se agote o la utilización de la CPU sea alta.
- Supervisar el tiempo de actividad y la disponibilidad de los dispositivos de red.
Instrucciones de instalación:
Para instalar Nagios en Ubuntu:
sudo apt install nagios4 nagios-plugins
sudo a2enmod rewrite cgi
systemctl restart apache2
sudo systemctl status nagios4
sudo systemctl enable nagios4
sudo systemctl start nagios4
Nagios requiere configuración adicional para definir los objetivos de supervisión. Para ver la configuración detallada, consulta la documentación de Nagios.
Netdata: herramienta de supervisión del sistema en tiempo real
Netdata es una herramienta de supervisión ligera y en tiempo real que ofrece información detallada sobre el rendimiento del sistema. Es fácil de instalar e incluye una bonita interfaz web para visualizar métricas.
Paso 1: actualizar los paquetes del sistema
Asegúrate de que tu sistema esté actualizado ejecutando los siguientes comandos en la terminal:
sudo apt update
sudo apt upgrade
Paso 2: instalar Netdata
Instala Netdata desde el repositorio predeterminado de Ubuntu:
sudo apt install netdata
Paso 3: configurar Netdata
Edita el archivo de configuración de Netdata para permitir el acceso remoto:
sudo nano /etc/netdata/netdata.conf
Localiza el campo bind socket to IP y reemplaza 127.0.0.1 con la dirección IP de tu servidor:
[global]
bind socket to IP = <your-server-ip>
Guarda el archivo y reinicia el servicio de Netdata:
sudo systemctl restart netdata
Paso 4: configurar el cortafuegos
Permite el acceso al puerto predeterminado de Netdata (19999) y habilita el cortafuegos:
sudo ufw allow 19999
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
Paso 5: acceder a la interfaz web de Netdata
Abre tu navegador web y ve a:
http://<your-server-ip>:19999

Comparación de herramientas
| Herramienta | Ideal para | Facilidad de uso | Visualización | Alertas |
|---|---|---|---|---|
| Prometheus | Recopilación de métricas a gran escala | Moderada | Limitada | Sí |
| Grafana | Paneles avanzados | Fácil | Excelente | Sí |
| Nagios | Supervisión de infraestructuras | Moderada | Básica | Sí |
| Netdata | Supervisión ligera en tiempo real | Fácil | Excelente | Sí |
Conclusión
Supervisar tu servidor Ubuntu es fundamental para mantener el rendimiento, diagnosticar problemas y evitar tiempos de inactividad. Herramientas como htop, top, sysstat, Cockpit y otras brindan a los administradores la capacidad de supervisar los recursos de forma eficaz. Ya sea que prefieras herramientas de línea de comandos o paneles gráficos, esta guía cubre todo lo que necesitas para configurar un sistema de supervisión sólido.
A continuación: Registro y supervisión centralizados
En el próximo artículo, nos centraremos en el registro y la supervisión centralizados para agilizar aún más la gestión del servidor y el seguimiento del rendimiento. Los temas incluirán:
- Configurar rsyslog o syslog-ng para el registro centralizado.
- Reenviar registros a un servidor de registro remoto para una mejor organización y análisis.
- Integrar tu servidor Ubuntu con plataformas de supervisión sólidas como Nagios, Zabbix, o Prometheus para obtener información más detallada sobre el estado y el rendimiento del sistema.
¡Mantente al tanto para aprender a centralizar tu infraestructura de registros y aprovechar las herramientas de supervisión para optimizar las operaciones del servidor de forma eficaz!










2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”