Capítulo 5: Administración del servidor Ubuntu

Publicado por P. Ruiz en

5.3. Monitorización del sistema

Con el paso del tiempo, los sistemas informáticos de las empresas se han hecho cada vez más imprescindibles. En la actualidad buena parte de la productividad de muchas empresas depende de la disponibilidad de su equipamiento informático, es decir, de que este funcione correctamente de forma continuada. Cuando esto no es posible, se habrán tomado con antelación las medidas necesarias para que el tiempo de caída del sistema se reduzca al mínimo.

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: Tratarán de establecerse los motivos por los que se ha producido el problema y la estrategia que nos permitirá solventarlo.

    • 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:

  • 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, 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, vamos a analizar algunas de estas herramientas, diferenciando las que se ejecutan desde la línea de comandos, las que necesitan una interfaz gráfica o las que pueden usarse desde un equipo cliente de la red a través del 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: