Capítulo 5: Administración del servidor Ubuntu

Publicado por P. Ruiz en

5.3. Monitorización del sistema

Con el tiempo, los sistemas informáticos se han vuelto imprescindibles para las empresas. Actualmente, la productividad de muchas de ellas depende de la disponibilidad continua de su equipamiento informático. Si se produce un fallo, se deben haber tomado medidas previas que minimicen el tiempo de inactividad.

La siguiente imagen muestra el esquema de un protocolo típico de reacción ante incidentes:

  1. Detección: En un primer momento, los esfuerzos se centrarán en detectar con precisión qué es lo que ha sucedido.

  2. Resolución: Lógicamente, cuando se ha identificado el problema, el siguiente paso será resolverlo. Este proceso se divide en tres fases:

    • Diagnóstico: Se buscará establecer los motivos del problema y la estrategia para solucionarlo.

    • Reparación: Se realizan las operaciones necesarias para garantizar que todo vuelve a la normalidad.

    • Recuperación: Se restaura el sistema al estado en el que estaba antes de que ocurriera el incidente. Esta etapa suele implicar la recuperación de copias de seguridad de los datos.

  3. Sistema activo: En esta fase, el sistema realiza sus funciones con normalidad.

Como puede suponerse, los esfuerzos de un administrador de sistemas deben centrarse en dos aspectos principales:

  • Establecer las estrategias necesarias para que el sistema esté inactivo el menor tiempo posible, acortando al máximo los tiempos de detección y resolución de incidentes.

  • Tratar de prolongar el tiempo en el que el sistema se encuentra activo. Para lograrlo, deberán conocer lo que ocurre en el sistema e identificar situaciones que puedan originar problemas, antes de que éstos se manifiesten. Para ayudarlo en esta tarea, GNU/Linux dispone de múltiples herramientas de monitorización para equipos, servicios y recursos.

Según esto, podemos concluir que los objetivos de las herramientas de monitorización del sistema operativo son:

  • Ofrecer el grado de disponibilidad adecuado.

  • Facilitar al administrador la revisión y análisis de los datos de rendimiento para que pueda comprobar que se cumplen los niveles de servicio esperados.

  • Supervisar el sistema permanentemente y avisar al administrador cuando se produzca un fallo de disponibilidad.

  • Minimizar el tiempo de detección de incidentes

Las herramientas de monitorización deberán centrar su atención en diferentes aspectos como los procesos, la memoria, el almacenamiento y las conexiones de red.

Entre la variedad de herramientas que podemos utilizar, encontraremos algunas muy básicas, orientadas a aspectos concretos y otras generales, que nos ofrecerán soluciones para cubrir toda la infraestructura.

A continuación, analizaremos algunas de estas herramientas, diferenciando entre las que se ejecutan en la línea de comandos, las que requieren una interfaz gráfica o las accesibles remotamente, vía navegador.

Monitorización desde la línea de comandos

Como hemos dicho más arriba, cuando trabajamos con GNU/Linux en modo texto, disponemos de herramientas que facilitan la monitorización de diversos aspectos del sistema, aunque puede que las dos que se utilizan más a menudo sean top y htop. En SomeBooks.es ya les hemos dedicado algunos artículos:

Otras herramientas de monitorización que funcionan en modo texto son:

  • sar: Permite monitorizar en tiempo real el rendimiento de la CPU, la memoria, la entrada y salida, etc., o recabar la información en segundo plano mientras el sistema se ejecuta, para hacer un estudio posterior de los datos obtenidos. sar forma parte del paquete sysstat, por lo que habrá que instalar este paquete si queremos utilizarla.

  • iostat: Muestra estadísticas sobre la CPU, la entrada y salida a disco y el uso de NFS.

  • mpstat: Centra sus estadísticas en el procesador, diferenciando entre sus diferentes núcleos.

  • vmstat: Muestra información sobre el uso de la memoria virtual.

  • ps: Informa sobre los procesos que se están ejecutando en el sistema.

  • pstree: Muestra los procesos que se están ejecutando con una estructura de árbol. De esta forma podemos identificar fácilmente qué proceso es hijo de otro.

  • uptime: Nos informa sobre la cantidad de tiempo que lleva funcionando el sistema.

  • free: Ofrece información detallada sobre la memoria (tanto física como de intercambio).

  • pmap: Muestra el mapa de memoria de un proceso en particular. Esto incluye la dirección de memoria de cada bloque usado, su tamaño, si es de lectura y escritura o de sólo lectura, etc.

  • w ó who: Informa sobre los usuarios que están en estos momentos autenticados en el sistema.

Monitorización en modo gráfico

Si te has decantado por un servidor con interfaz gráfica, el sistema también incorpora una herramienta que nos permite consultar el rendimiento del sistema de una forma bastante intuitiva. Se trata de la aplicación Monitor del sistema (gnome-system-monitor) y en SomeBooks.es ya le hemos dedicado algunos artículos: