Com produir i lliurar informes d'activitat del sistema utilitzant conjunts d'eines de Linux - Part 3


Com a enginyer de sistemes, sovint haureu de produir informes que mostrin la utilització dels recursos del vostre sistema per assegurar-vos que: 1) s'utilitzen de manera òptima, 2) prevenir colls d'ampolla i 3) garantir l'escalabilitat, entre altres raons.

A més de les conegudes eines natives de Linux que s'utilitzen per comprovar l'ús del disc, la memòria i la CPU, per citar alguns exemples, Red Hat Enterprise Linux 7 ofereix dos conjunts d'eines addicionals per millorar les dades que podeu recopilar per als vostres informes: sysstat i dstat .

En aquest article descriurem tots dos, però primer comencem revisant l'ús de les eines clàssiques.

Eines natives de Linux

Amb df, podreu informar de l'espai en disc i l'ús de l'inode pel sistema de fitxers. Heu de supervisar tots dos perquè la manca d'espai us impedirà poder desar més fitxers (i fins i tot pot provocar que el sistema es bloquegi), de la mateixa manera que quedar-vos sense inodes significarà que no podreu enllaçar més fitxers amb les seves dades corresponents. estructures, produint així el mateix efecte: no podreu desar aquests fitxers al disc.

# 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]

Amb du, podeu estimar l'ús d'espai de fitxers per fitxer, directori o sistema de fitxers.

Per exemple, vegem quant espai utilitza el directori /home, que inclou tots els fitxers personals de l'usuari. La primera ordre retornarà l'espai global utilitzat actualment per tot el directori /home, mentre que la segona també mostrarà una llista desagregada per subdirectori:

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

No et perdis:

  1. 12 exemples d'ordres df per comprovar l'ús de l'espai en disc de Linux
  2. 10 exemples d'ordres du per trobar l'ús del disc de fitxers/directoris

Una altra utilitat que no pot faltar al vostre conjunt d'eines és vmstat. Us permetrà veure d'un cop d'ull informació sobre els processos, l'ús de la CPU i la memòria, l'activitat del disc i molt més.

Si s'executa sense arguments, vmstat retornarà les mitjanes des de l'últim reinici. Tot i que podeu utilitzar aquesta forma de l'ordre de tant en tant, serà més útil prendre una certa quantitat de mostres d'utilització del sistema, una darrere l'altra, amb una separació temporal definida entre mostres.

Per exemple,

# vmstat 5 10

retornarà 10 mostres preses cada 5 segons:

Com podeu veure a la imatge anterior, la sortida de vmstat es divideix per columnes: procs (processos), memòria, intercanvi, io, sistema i CPU. El significat de cada camp es pot trobar a les seccions DESCRIPCIÓ DEL CAMP de la pàgina man de vmstat.

On pot ser útil vmstat? Examinem el comportament del sistema abans i durant una actualització yum:

# vmstat -a 1 5

Tingueu en compte que a mesura que es modifiquen els fitxers al disc, augmenta la quantitat de memòria activa i també augmenta el nombre de blocs escrits al disc (bo) i el temps de CPU que es dedica als processos de l'usuari (us).

O durant el procés de desament d'un fitxer gran directament al disc (causat per dsync):

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

En aquest cas, podem veure un nombre encara més gran de blocs que s'escriuen al disc (bo), cosa que era d'esperar, però també un augment de la quantitat de temps de CPU que ha d'esperar perquè les operacions d'E/S es completin abans. tasques de processament (wa).

No us perdeu: Vmstat - Supervisió del rendiment de Linux

Altres eines de Linux

Com s'ha esmentat a la introducció d'aquest capítol, hi ha altres eines que podeu utilitzar per comprovar l'estat i la utilització del sistema (no només les proporciona Red Hat, sinó també altres distribucions principals dels seus repositoris oficials).

El paquet sysstat conté les utilitats següents:

  1. sar (recollir, informar o desar informació de l'activitat del sistema).
  2. sadf (mostra les dades recollides per sar en diversos formats).
  3. mpstat (estadístiques relacionades amb els processadors d'informes).
  4. iostat (informa d'estadístiques de CPU i estadístiques d'E/S per a dispositius i particions).
  5. pidstat (estadístiques d'informes per a les tasques de Linux).
  6. nfsiostat (informe d'estadístiques d'entrada/sortida per a NFS).
  7. cifsiostat (informe d'estadístiques CIFS) i
  8. sa1 (recollir i emmagatzemar dades binàries al fitxer de dades diàries de l'activitat del sistema.
  9. Eines sa2 (escriure un informe diari al directori /var/log/sa).

mentre que dstat afegeix algunes funcions addicionals a la funcionalitat que proporcionen aquestes eines, juntament amb més comptadors i flexibilitat. Podeu trobar una descripció general de cada eina executant yum info sysstat o yum info dstat, respectivament, o comprovant les pàgines man individuals després de la instal·lació.

Per instal·lar els dos paquets:

# yum update && yum install sysstat dstat

El fitxer de configuració principal de sysstat és /etc/sysconfig/sysstat. Trobareu els paràmetres següents en aquest fitxer:

# 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"

Quan s'instal·la sysstat, s'afegeixen i s'activen dues tasques cron a /etc/cron.d/sysstat. El primer treball executa l'eina de comptabilitat de l'activitat del sistema cada 10 minuts i emmagatzema els informes a /var/log/sa/saXX on XX és el dia del mes.

Així, /var/log/sa/sa05 contindrà tots els informes d'activitat del sistema a partir del dia 5 del mes. Això suposa que estem utilitzant el valor predeterminat a la variable HISTORY al fitxer de configuració anterior:

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

El segon treball genera un resum diari de la comptabilitat del procés a les 23:53 cada dia i l'emmagatzema als fitxers /var/log/sa/sarXX, on XX té el mateix significat que a l'exemple anterior:

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

Per exemple, és possible que vulgueu generar estadístiques del sistema des de les 9:30 a.m. fins a les 5:30 p. m. del dia sis del mes en un fitxer .csv que es pot visualitzar fàcilment amb LibreOffice Calc o Microsoft Excel (aquest enfocament també us permetrà crear gràfics o gràfics):

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

Alternativament, podeu utilitzar el senyalador -j en comptes de -d a l'ordre sadf anterior per generar les estadístiques del sistema en format JSON, que podria ser útil si necessiteu consumir les dades en una aplicació web, per exemple.

Finalment, anem a veure què ofereix dstat. Tingueu en compte que si s'executa sense arguments, dstat assumeix -cdngy per defecte (abreviatura de CPU, disc, xarxa, pàgines de memòria i estadístiques del sistema, respectivament) i afegeix una línia cada segon (l'execució es pot interrompre en qualsevol moment amb Ctrl + C) :

# dstat

Per enviar les estadístiques a un fitxer .csv, utilitzeu el senyalador –output seguit d'un nom de fitxer. Vegem com es veu això a LibreOffice Calc:

Us recomano fermament que consulteu la pàgina man de sysstat en format PDF per a la vostra comoditat de lectura. Trobareu diverses opcions més que us ajudaran a crear informes d'activitat del sistema personalitzats i detallats.

No us perdeu: Sysstat: eina de control de l'activitat d'ús de Linux

Resum

En aquesta guia hem explicat com utilitzar tant les eines natives de Linux com les utilitats específiques proporcionades amb RHEL 7 per tal de produir informes sobre la utilització del sistema. En un moment o altre, arribareu a confiar en aquests informes com a millors amics.

Probablement haureu utilitzat altres eines que no hem tractat en aquest tutorial. Si és així, no dubteu a compartir-los amb la resta de la comunitat juntament amb qualsevol altre suggeriment, pregunta o comentari que tingueu, utilitzant el formulari següent.

Esperem amb interès tenir notícies teves.