Búsqueda de sitios web

Cómo producir y entregar informes de actividad del sistema utilizando conjuntos de herramientas de Linux - Parte 3


Como ingeniero de sistemas, a menudo necesitará generar informes que muestren la utilización de los recursos de su sistema para asegurarse de que: 1) se utilicen de manera óptima, 2) eviten cuellos de botella y 3) garanticen la escalabilidad, entre otras razones.

Además de las conocidas herramientas nativas de Linux que se utilizan para comprobar el uso del disco, la memoria y la CPU (por nombrar algunos ejemplos), Red Hat Enterprise Linux 7 proporciona dos conjuntos de herramientas adicionales para mejorar los datos que puede recopilar para sus informes: sysstat y dstat.

En este artículo describiremos ambas, pero primero comencemos revisando el uso de las herramientas clásicas.

Herramientas nativas de Linux

Con df, podrá informar el espacio en disco y el uso de inodos por sistema de archivos. Necesita monitorear ambos porque la falta de espacio le impedirá poder guardar más archivos (e incluso puede causar que el sistema falle), del mismo modo que quedarse sin inodos significará que no podrá vincular más archivos con sus datos correspondientes. estructuras, produciendo así el mismo efecto: no podrás guardar esos archivos en el disco.


df -h 		[Display output in human-readable form]
df -h --total         [Produce a grand total]


df -i 		[Show inode count by filesystem]
df -i --total 	[Produce a grand total]

Con du, puede estimar el uso del espacio de archivos por archivo, directorio o sistema de archivos.

Por ejemplo, veamos cuánto espacio utiliza el directorio /home, que incluye todos los archivos personales del usuario. El primer comando devolverá el espacio total utilizado actualmente por todo el directorio /home, mientras que el segundo también mostrará una lista desagregada por subdirectorio:


du -sch /home
du -sch /home/*

No te pierdas:

  1. 12 ejemplos de comandos 'df' para comprobar el uso del espacio en disco de Linux
  2. 10 ejemplos de comandos 'du' para encontrar el uso de archivos/directorios en disco

Otra utilidad que no puede faltar en tu conjunto de herramientas es vmstat. Le permitirá ver de un vistazo información sobre procesos, uso de CPU y memoria, actividad del disco y más.

Si se ejecuta sin argumentos, vmstat devolverá promedios desde el último reinicio. Si bien puede utilizar esta forma del comando de vez en cuando, será más útil tomar una cierta cantidad de muestras de utilización del sistema, una tras otra, con una separación de tiempo definida entre muestras.

Por ejemplo,


vmstat 5 10

devolverá 10 muestras tomadas cada 5 segundos:

Como puede ver en la imagen de arriba, la salida de vmstat se divide en columnas: procs (procesos), memoria, swap, io, sistema y cpu. El significado de cada campo se puede encontrar en las secciones DESCRIPCIÓN DEL CAMPO en la página de manual de vmstat.

¿Dónde puede resultar útil vmstat? Examinemos el comportamiento del sistema antes y durante una actualización de yum:


vmstat -a 1 5

Tenga en cuenta que a medida que los archivos se modifican en el disco, la cantidad de memoria activa aumenta y también aumenta la cantidad de bloques escritos en el disco (bo) y el tiempo de CPU que se dedicado a los procesos del usuario (nosotros).

O durante el proceso de guardar un archivo grande directamente en el disco (causado por dsync):


vmstat -a 1 5
dd if=/dev/zero of=dummy.out bs=1M count=1000 oflag=dsync

En este caso, podemos ver un número aún mayor de bloques escritos en el disco (bo), lo que era de esperar, pero también un aumento en la cantidad de tiempo de CPU que tiene que esperar. Operaciones de E/S que se deben completar antes de procesar las tareas (wa).

No te pierdas: Vmstat: supervisión del rendimiento de Linux

Otras herramientas de Linux

Como se mencionó en la introducción de este capítulo, existen otras herramientas que puede utilizar para comprobar el estado y la utilización del sistema (no sólo las proporciona Red Hat sino también otras distribuciones importantes desde sus plataformas oficialmente admitidas). repositorios).

El paquete sysstat contiene las siguientes utilidades:

  1. sar (recopilar, informar o guardar información de actividad del sistema).
  2. sadf (muestra datos recopilados por sar en múltiples formatos).
  3. mpstat (estadísticas relacionadas con los procesadores de informes).
  4. iostat (informa estadísticas de CPU y estadísticas de E/S para dispositivos y particiones).
  5. pidstat (informe de estadísticas para tareas de Linux).
  6. nfsiostat (informar estadísticas de entrada/salida para NFS).
  7. cifsiostat (informar estadísticas CIFS) y
  8. sa1 (recopila y almacena datos binarios en el archivo de datos diarios de actividad del sistema.
  9. Herramientas sa2 (escribir un informe diario en el directorio /var/log/sa).

mientras que dstat agrega algunas características adicionales a la funcionalidad proporcionada por esas herramientas, junto con más contadores y flexibilidad. Puede encontrar una descripción general de cada herramienta ejecutando yum info sysstat o yum info dstat, respectivamente, o consultando las páginas de manual individuales después de la instalación.

Para instalar ambos paquetes:


yum update && yum install sysstat dstat

El archivo de configuración principal para sysstat es /etc/sysconfig/sysstat. Encontrará los siguientes parámetros en ese archivo:


How long to keep log files (in days).
If value is greater than 28, then log files are kept in
multiple directories, one for each month.
HISTORY=28
Compress (using gzip or bzip2) sa and sar files older than (in days):
COMPRESSAFTER=31
Parameters for the system activity data collector (see sadc manual page)
which are used for the generation of log files.
SADC_OPTIONS="-S DISK"
Compression program to use.
ZIP="bzip2"

Cuando se instala sysstat, se agregan y habilitan dos trabajos cron en /etc/cron.d/sysstat. El primer trabajo ejecuta la herramienta de contabilidad de actividad del sistema cada 10 minutos y almacena los informes en /var/log/sa/saXX donde XX es el día del mes.

Así, /var/log/sa/sa05 contendrá todos los informes de actividad del sistema a partir del día 5 del mes. Esto supone que estamos usando el valor predeterminado en la variable HISTORY en el archivo de configuración anterior:


*/10 * * * * root /usr/lib64/sa/sa1 1 1

El segundo trabajo genera un resumen diario de la contabilidad de procesos a las 11:53 pm todos los días y lo almacena en archivos /var/log/sa/sarXX, donde XX tiene el mismo significado que en el ejemplo anterior:


53 23 * * * root /usr/lib64/sa/sa2 -A

Por ejemplo, es posible que desee generar estadísticas del sistema desde las 9:30 a. m. hasta las 5:30 p. m. del día seis del mes en un archivo .csv . archivo que se puede ver fácilmente usando LibreOffice Calc o Microsoft Excel (este enfoque también le permitirá crear tablas o gráficos):


sadf -s 09:30:00 -e 17:30:00 -dh /var/log/sa/sa06 -- | sed 's/;/,/g' > system_stats20150806.csv

Alternativamente, puedes usar el indicador -j en lugar de -d en el comando sadf anterior para generar las estadísticas del sistema en JSON. formato, que podría ser útil si necesita consumir los datos en una aplicación web, por ejemplo.

Finalmente, veamos qué tiene para ofrecer dstat. Tenga en cuenta que si se ejecuta sin argumentos, dstat asume -cdngy de forma predeterminada (abreviatura de CPU, disco, red, páginas de memoria y estadísticas del sistema, respectivamente) y agrega uno línea cada segundo (la ejecución se puede interrumpir en cualquier momento con Ctrl + C):


dstat

Para enviar las estadísticas a un archivo .csv, utilice el indicador –output seguido de un nombre de archivo. Veamos cómo se ve esto en LibreOffice Calc:

Le recomiendo encarecidamente que consulte la página de manual de dstat junto con la página de manual de sysstat en formato PDF para su comodidad de lectura. Encontrará varias otras opciones que le ayudarán a crear informes de actividad del sistema personalizados y detallados.

No te pierdas: Sysstat: herramienta de monitoreo de actividad de uso de Linux

Resumen

En esta guía hemos explicado cómo utilizar tanto las herramientas nativas de Linux como las utilidades específicas proporcionadas con RHEL 7 para generar informes sobre la utilización del sistema. En un momento u otro, llegarás a confiar en estos informes como mejores amigos.

Probablemente habrás utilizado otras herramientas que no hemos cubierto en este tutorial. Si es así, no dude en compartirlos con el resto de la comunidad junto con cualquier otra sugerencia, pregunta o comentario que pueda tener, utilizando el formulario a continuación.

Esperamos con interés escuchar de usted.