Capítulo 9: Administración del servidor Ubuntu 14.04 LTS



9.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 éste 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 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:

    • top: Se trata de un comando del sistema que viene incorporado en la mayoría de las distribuciones y que ofrece información sobre el grado de ocupación de la CPU, de la memoria RAM, de la memoria de intercambio (swap) y los procesos que se están ejecutando. Para ejecutarlo, bastará con escribir la orden top en una ventana de Terminal.

1

Los datos visualizados irán actualizándose cada pocos instantes.

Aparentemente, con top somos meros espectadores, pero no es del todo cierto. Por ejemplo, podremos finalizar la ejecución de cualquier proceso pulsando la tecla k y escribiendo el PID del proceso.

Para salir del comando top, sólo hay que pulsar la tecla q.

Pulsando la tecla u y escribiendo un nombre de usuario, se mostrarán únicamente los procesos iniciados por dicho usuario. Para volver a verlos todos, sólo tenemos que volver a pulsar la tecla u y pulsar Intro.

Si, desde el principio, estamos interesados sólo en los procesos de un usuario particular, podemos iniciar top con el argumento -u seguido del nombre del usuario.

top -u usuario

2

Sólo vemos los procesos del usuario elegido.

    • htop: es muy parecido a top, pero más flexible y fácil de usar ya que podemos interactuar con él por medio del ratón. Disponemos de scroll vertical (para ver todos los procesos) y horizontal (para ver todos los detalles de un proceso). A diferencia de top, antes de utilizar htop deberemos instalarlo:
sudo apt-get install htop

1

No tendremos dificultades, porque htop se encuentra en los repositorios de Ubuntu 14.04 LTS.

Lo primero que llama la atención al ejecutarlo, es lo colorido de su interfaz.

2

La interfaz de htop.

Como puede apreciarse en la imagen, la interfaz de htop se divide en tres partes:

      • Cabecera: Muestra tres barras a la izquierda que representan el uso de procesador, de memoria RAM y de memoria de intercambio. A la derecha se incluye alguna información básica, como el numero de tareas que hay en ejecución o el tiempo que lleva el sistema funcionando.
      • Cuerpo: Muestra la lista de procesos ordenada en función del porcentaje de uso del procesador.
      • Pie: Muestra el menú de acciones de htop.

Podemos utilizar las teclas de cursor, AvPag o RePag para movernos en la lista de procesos. Y las teclas de función del menú para realizar diferentes acciones. Por ejemplo, si pulsamos la tecla F4 podremos escribir un criterio de búsqueda y obtener todos los procesos que coincidan con dicho criterio.

3

Por ejemplo, podemos filtrar todos los procesos relacionados con LightDM.

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

En Ubuntu 14.04 LTS disponemos de una herramienta para la interfaz gráfica muy interesante llamada Monitor del sistema (gnome-system-monitor).

Con esta herramienta podremos monitorizar procesos, recursos del sistema y sistemas de archivo. Además, podremos finalizar procesos y cambiar su prioridad.

Para ejecutarla, desplegamos el Dash y comenzamos a escribir parte de su nombre. Cuando lo veamos en pantalla, sólo tenemos que hacer clic sobre él.

1

Cuando aparezca la herramienta, hacemos clic sobre ella.

Al poco, veremos una ventana que se encuentra dividida en dos partes: cuatro solapas en la parte superior y la información de la solapa elegida en la parte inferior.

2

En la parte superior de la ventana, observamos tres solapas.

Veamos para qué sirve cada una de las solapas:

    • Como vemos en la imagen superior, la solapa Recursos muestra información sobre tres subsistemas distintos:
      • CPU: Se muestra un gráfico con el grado de ocupación del procesador durante el último minuto y el porcentaje de uso actual. Si disponemos de varios procesadores (o varios núcleos) se mostrará la información diferenciada por colores para cada uno de ellos.
      • Memoria: Como en el caso de la CPU se muestra la ocupación de la memoria tanto en el último minuto como en el momento actual. En el mismo gráfico se representa tanto la memoria principal (RAM) como la memoria de intercambio (swap).
      • Red: De nuevo se muestra un gráfico con el nivel de ocupación de la conexión de red durante el último minuto. También se muestra la cantidad de información enviada y recibida y el ancho de banda ocupado en el instante actual.
    • Procesos: Contiene todos los procesos activos. Podemos ordenar la información por cualquiera de los datos mostrados, sólo con hacer clic sobre el título de la columna (un clic los ordenará en orden creciente y el siguiente en orden decreciente).

3

Solapa Procesos.

Haciendo clic sobre el botón Ver, podemos elegir entre mostrar los procesos activos, todos los procesos del sistema o sólo los procesos del usuario actual. Además, podemos elegir Dependencias, para comprobar si la ejecución de un proceso depende de la ejecución de un proceso diferente. Por ejemplo, en la imagen comprobamos que gedit no depende de ningún otro proceso mientras que gnome-session depende, entre otros, de compiz.

4

Mostramos sólo los procesos del usuario actual.

Si hacemos clic con el botón derecho del ratón sobre un proceso aparecerán diferentes tareas que podemos realizar con el proceso en cuestión. Podremos ponerlo en pausa (Detener proceso), activarlo si fue pausado (Continuar proceso), terminarlo de forma ordenada (Finalizar proceso) o de forma inmediata (Matar proceso), etc.

5

Menú de contexto de un proceso.

 

    • Sistema de archivos: Muestra información sobre los sistemas de archivos montados en estos momentos, como el tipo de sistema de archivos, su capacidad de almacenamiento, su nivel de ocupación, etc.

6

Solapa Sistema de archivos.

En versiones anteriores, en la ventana Monitor del sistema disponíamos de una solapa Sistema que mostraba información sobre el sistema operativo incluida la versión que estamos utilizando y los recursos del sistema. También incluía información general sobre el hardware.

Ahora, para obtener este tipo de información, tenemos que recurrir al la Configuración del sistema.

1

Hacemos clic sobe el icono correspondiente en el Launcher.

Al momento, veremos que aparece la ventana Configuración del sistema.

2

Hacemos clic sobre el icono Detalles.

De forma predeterminada, obtenemos información general sobre el sistema parecida a la que obteníamos antes en el Monitor del sistema, pero ahora disponemos de muchos más detalles. Sólo debemos elegir entre las diferentes categorías del panel izquierdo.

3

Ventana Detalles.