Supervisió del rendiment del sistema
Repassant el concepte de sistema informàtic recordem que està format per tres parts ben diferenciades:
- Maquinari: conjunt de components i elements físics.
- Programari: conjunt de programes informàtics, tant de sistema com d’aplicació.
- Usuaris: conjunt de persones que utilitzen o gestionen el sistema.
Analitzar i millorar el rendiment de tot el sistema comporta fer-ho amb cada una de les parts que el formen. Ens centrarem ara en l’estudi dels rendiments del maquinari i del programari, ja que es tracta de les parts del sistema que són responsabilitat de l’administrador.
Per rendiment del sistema entenem la capacitat del sistema de dur a terme les tasques sol·licitades d’una manera eficient en un espai de temps determinat. Un bon rendiment del sistema suposa que realitza les tasques de forma eficient i minimitzant el temps requerit.
La supervisió del rendiment del sistema es centra en tres àmbits administratius:
- L’anàlisi i el monitoratge del comportament i el rendiment dels diversos components del maquinari i del programari del sistema informàtic.
- L’enregistrament i el monitoratge dels esdeveniments de rellevància comunicats pel sistema operatiu o les aplicacions.
- La gestió dels processos i serveis en execució pel sistema i l’ús que fan dels recursos del sistema.
Per a aquesta gestió i anàlisi, els diversos sistemes operatius ens ofereixen eines i sistemes de supervisió que ens ajudaran a detectar i resoldre problemes concrets; per exemple, una càrrega de treball excessiva dels components principals, com ara la memòria i el processador, el control de la disponibilitat del sistema mitjançant l’historial d’esdeveniments o el bloqueig d’un procés o servei concret que ocasioni problemes.
Monitoratge del rendiment dels components d'un sistema informàtic
El monitoratge del rendiment fa referència a la vigilància i la supervisió de determinats paràmetres per assegurar que el funcionament del sistema assoleix el resultat òptim previst i que es detecten les possibles desviacions.
Hi ha un gran nombre d’objectes i components susceptibles d’enregistrar el seu comportament per així gestionar i monitorar el seu rendiment. Com a elements més habituals d’aquest monitoratge podem destacar els següents:
- El funcionament del processador o processadors del sistema.
- La memòria interna, la memòria cau, la memòria d’intercanvi.
- Els discos o qualsevol sistema d’emmagatzematge extern.
- Els sistemes de comunicació de xarxa.
- El funcionament de les pròpies aplicacions i serveis, com el comportament de l’accés a bases de dades o el servei de pàgines web.
Cada un d’aquests components es pot controlar mitjançant uns paràmetres determinats. Per exemple, en el cas del disc dur es poden controlar paràmetres com ara la velocitat mitjana de transferència, el nombre de lectures i d’escriptures o el tant per cent d’ocupació del dispositiu. Aquests paràmetres en general s’anomenen comptadors i poden ser seleccionats per establir diferents criteris d’anàlisi del rendiment.
Tipus de monitoratge
La funció de vigilància i supervisió del rendiment del sistema es pot fer en dos àmbits temporals que marquen els diferents tipus de monitoratge:
- Monitoratge en temps real. Les eines de monitoratge en temps real ens presenten la informació canviant del que està succeint mentre visualitzem el comportament dels diversos components; és a dir, el comportament que tenen en temps real.
- Monitoratge continuat. Aquest monitoratge permet fer controls periòdics de l’estat del sistema i emmagatzemar aquesta informació en mostres i intervals predeterminats per donar un visió estadística de l’evolució de l’estat del sistema durant un període determinat de temps en estudi.
S’ha de tenir en compte que el fet de monitorar el sistema comporta una sobrecàrrega, ja que les ordres o aplicacions necessiten recursos del propi sistema per funcionar. Per exemple, si fem servir un monitoratge de tipus continuat, la sobrecàrrega serà més gran com més petit sigui l’interval de mostreig, es a dir quan més gran sigui la freqüència de presa de mostres. Aquesta sobrecàrrega s’ha de tenir en compte a l’hora d’analitzar les dades de rendiment obtingudes.
Eines de monitoratge de rendiment a Windows
Les diferents versions de Windows ens ofereixen algunes eines i utilitats de monitoratge del rendiment com ara el monitor de recursos, el monitor de rendiment i l’índex d’avaluació de l’experiència de Windows.
Monitor de recursos
El monitor de recursos de Windows és una eina que permet la supervisió en temps real de diferents components del sistema i també informació sobre com els processos i serveis utilitzen aquests recursos. Aquesta aplicació permet a més analitzar els processos que no responen, identificar els arxius que fan servir les aplicacions i controlar processos i serveis.
El monitor de recursos inclou cinc seccions: informació general, CPU, memòria, disc i xarxa, com es veu en la figura. La secció d’informació general mostra les dades bàsiques de l’ús dels recursos del sistema i cada una de les altres mostren informació específica incloent-hi, a la part dreta, gràfics on es mostra informació en temps real de la utilització del recurs.
A més de poder ordenar els processos per diferents criteris, els resultats es poden filtrar i obtenir la informació dels recursos emprats només per un procés determinat o per un conjunt de processos.
Per accedir al monitor de recursos, cal fer servir la finestra d’execució (TeclaWindows+R) i cridar l’executable resmon.exe; o bé, en el menú principal triar Tauler de control Sistema i seguretat Eines administratives Monitor de rendiment.
Monitor de rendiment
El monitor de rendiment de Windows és una eina complexa i molt completa que proporciona diverses utilitats per analitzar el rendiment del sistema. Des d’una sola consola es pot supervisar en temps real el rendiment de les aplicacions i dels recursos del maquinari, personalitzar les dades que es vol guardar en els registres, definir llindars per a alarmes i accions automàtiques, generar informes i veure dades de rendiments històrics.
Per accedir al monitor de rendiment cal fer servir la finestra d’execució (TeclaWindows+R) i cridar l’executable perfmon.exe; o bé, en el menú principal triar Tauler de control Sistema i seguretat Eines administratives Monitor de rendiment.
Windows 7 inclou dues plantilles estàndard de recollida anomenades diagnòstic del sistema (system diagnostics) i rendiment del sistema (system performance).
Per dur a terme aquesta tasca fa servir tres grans fonts d’informació: els comptadors de rendiment, les dades de seguiment d’esdeveniments i la informació de configuració.
- Comptadors de rendiment. Són mesures de l’estat o de l’activitat del sistema. Poden ser generats pel sistema operatiu o formar part d’aplicacions individuals. El monitor de rendiment de Windows sol·licita el valor dels comptadors de rendiment en intervals de temps especificats.
- Dades de seguiment d’esdeveniments. Es recullen de proveïdors de seguiment que són components del sistema operatiu o d’aplicacions individuals que informen d’accions o esdeveniments concrets en el sistema.
- Informació de configuració. Es recull dels valors de les claus del registre de Windows (registry). El monitor de rendiment de Windows pot enregistrar el valor d’una clau del registre a una hora o en un interval especificat.
Tota aquesta informació es pot configurar i combinar en conjunts de recopiladors de dades específics per analitzar un problema o una situació concrets. Es pot fer servir el monitor de rendiment per examinar l’efecte que tenen en el rendiment els programes que s’executen i es pot obtenir la informació tant en temps real com mitjançant la recollida de dades històriques per fer-ne l’anàlisi posterior.
Com es veu en la captura de pantalla de la figura, aquesta consola disposa de tres grans grups d’eines:
- El monitor de rendiment pròpiament dit és una utilitat de representació gràfica que serveix per visualitzar dades sobre els comptadors de rendiment tant en temps real com des d’arxius de registre. L’aspecte de la representació gràfica és configurable i es poden anar afegint diversos comptadors triats d’una llarga llista de components disponibles.
- Els conjunts de recopiladors de dades (data collector set) agrupen les diferents configuracions per a la recollida de dades en elements reutilitzables per fer servir en diferents escenaris de supervisió del rendiment. Es poden dissenyar i configurar manualment, però també s’inclouen plantilles predeterminades que ajuden els administradors de sistemes a començar a recollir d’una manera immediata dades de rendiment específiques d’una problemàtica concreta o d’un escenari de supervisió determinat.
- Els informes es generen automàticament i serveixen per ajudar a interpretar la informació sobre el rendiment, recollida pels diferents conjunts de recopiladors de dades activats. Hi ha dos informes estàndard anomenats informes de sistema que corresponen als dos conjunts de recopiladors de dades predeterminats.
Índex d'avaluació de l'experiència de Windows
L’avaluació de l’experiència en Windows (figura) mesura la capacitat del sistema i expressa aquesta mesura en forma d’un número de puntuació total, com es pot veure en la figura. Cada component de maquinari rep també una puntuació individual que pot proporcionar informació del rendiment dels components més importants per donar una referència de l’estat d’avenç tecnològic en què es troben i ajudar a decidir quins d’aquests components tenen prioritat a l’hora d’actualitzar el sistema.
Per accedir a l’índex d’avaluació de l’experiència de Windows cal triar en el menú principal Tauler de control Sistema i seguretat Centre d’activitats Veure informació del rendiment*.
Eines de monitoratge de rendiment a Linux
Els sistemes operatius Linux incorporen diverses eines per al monitoratge del rendiment del sistema. Hi ha una gran diversitat d’opcions, des d’ordres que introduïm en la consola de text fins a d’altres que treballen en mode gràfic.
Eines i ordres integrades a Linux
La manera més ràpida de conèixer l’estat del sistema és executant ordres des de la consola. A continuació mostrem una llista de les ordres més utilitzades que ens donen informació del sistema:
- uptime. Dóna l’hora del sistema, el temps que fa que està encès, la quantitat d’usuaris connectats i la càrrega mitjana del sistema durant l’últim minut, els últims cinc minuts i els últims quinze minuts.
$ uptime 1151:25 up 58 min, 3 users, load average: 1.38, 1.35, 0.96
- time. Permet executar una ordre o aplicació i enregistrar els recursos que ha emprat. Per defecte, només presenta el temps real (estimat amb el rellotge del sistema) i el temps de CPU emprat tant en mode usuari com en mode sistema. Tanmateix, aquesta mateixa ordre executada amb privilegis de superadministrador i fent servir diferents modificadors pot subministrar més paràmetres d’informació.
$ time gedit real 0 min 13289 s user 0 min 1380 s sys 0 min 2016 s
- vmstat. Dóna informació de l’estat de la memòria física, de la memòria virtual, de l’intercanvi entre memòria interna i disc (swapping), de les transferències de disc, de les interrupcions i de l’ús del processador. Admet l’ús de modificadors i permet el monitoratge continuat.
$ vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 0 340392 67368 420560 0 0 111 47 115 295 6 20 73 1
La informació que mostra aquesta ordre és resumeix en la taula.
| Secció | Descripció |
|---|---|
| Procs | Processos en espera de ser executats ® i en estat d’espera (b) |
| Memory | Memòria virtual (swpd), memòria lliure (free), memòria intermèdia (buff) i memòria cau (cache) |
| Swap | Accessos a memòria swap. Swap in i Swap out |
| IO | Blocs enviats i rebuts des de dispositius d’entrada o sortida |
| System | Nombre d’interrupccions per segon (in) i nombre de canvis de context (cs) |
| CPU | Percentatges de distribució de temps entre el mode usuari (us), el mode sistema (sy) i el temps ociós (id) |
- free. Utilització de la memòria del sistema. Concretament, la memòria total, la memòria en ús, la memòria lliure, la memòria compartida en ús, el nombre de buffers utilitzats i les mides de la memòria cau. Permet monitoratge continuat.
$ free
total used free shared buffers cached
Mem: 1026484 686092 340392 0 67368 420584
-/+ buffers/cache: 198140 828344
Swap: 1952760 0 1952760
- df. Utilització de disc. Per a cada unitat muntada, mostra l’espai utilitzat i l’espai lliure. Admet modificadors.
$ df S. arxius Blocs 1 K En ús Lliures %Ús Muntat a /dev/sda1 4804736 2406072 2154596 53% / none 509016 264 508752 1% /dev none 513240 488 512752 1% /dev/shm none 513240 96 513144 1% /var/run none 513240 0 513240 0% /var/lock none 513240 0 513240 0% /lib/init/rw none 4804736 2406072 2154596 53% /var/lib/ureadahead/debugfs /dev/sda3 3592128 103352 3306300 4% /home
- du. Utilització de disc. Per a cada directori mostra l’espai utilitzat. Admet modificadors.
$ du -h Documents/ 3,5 M Documents/Ubuntu_Free_Culture_Showcase 112 K Documents/logos 7,9 M Documents/
- hdparm. Mostra el valor dels paràmetres més importants d’un disc i permet modificar-ne alguns. Admet modificadors.
$ sudo hdparm /dev/sda1 /dev/sda1: multcount = 128 (on) IO_support = 1 (32-bit) readonly = 0 (off) readahead = 256 (on) geometry = 1305/255/63, sectors = 9762816, start = 2048
- netstat. Informació de l’estat de la xarxa del sistema. Dóna protocols, quantitats de bytes d’entrada i sortida, origen i destinació de la comunicació.
Informació del nucli
Sistema d'arxius virtual
Definim el directori /proc com a virtual perquè no hi és realment en el disc sinó que el nucli del sistema operatiu el crea dins la memòria RAM.
El directori del primer nivell de jerarquia /proc conté un sistema d’arxius virtual. Les consultes que hi podem fer ens poden servir per obtenir informació del funcionament en el mateix sistema.
Alguns arxius i directoris interessants que hi trobem són:
- /proc/cpuinfo. Informació sobre el processador. Per exemple, el tipus, fabricació, model i rendiment.
- /proc/devices. Llista de controladors de dispositiu configurats en el nucli que està funcionant actualment.
- /proc/diskstats. Conté informació estadística de les operacions d’entrada/sortida per cada dispositiu de disc.
- /proc/dma. Mostra quins canals de DMA (accés directe a memòria) s’estan utilitzant.
- /proc/filesystems. Llista dels sistemes d’arxius configurats dins el nucli.
- /proc/interrupts. Mostra quines línies d’interrupció s’estan utilitzant, i per cadascuna, un comptador de quantes n’hi ha hagut.
- /proc/ioports. Mostra quins ports d’entrada/sortida s’estan utilitzant.
- /proc/loadavg. La mitjana de la càrrega del sistema expressada en tres indicadors que representen la mitjana de processos en marxa en el darrer minut, cinc minuts i quinze minuts.
- /proc/meminfo. Informació sobre la utilització de la memòria, tant la física com la d’intercanvi.
- /proc/net. Directori amb arxius d’informació d’estat sobre protocols de xarxa. Els fa servir l’ordre netstat.
- /proc/partitions. Conté el noms de les particions del sistema i la seva mida en blocs.
- /proc/stat. Diverses estadístiques sobre el nucli del sistema, com el temps que el CPU ha fet servir fent diferents tipus de treballs, el nombre d’interrupcions ateses o el temps transcorregut des de l’arrancada del sistema.
- /proc/version. La versió de nucli del sistema operatiu.
Tot i que els fitxers que es poden consultar a /proc acostumen a ser arxius de text de lectura fàcil amb l’ordre cat o qualsevol processador de textos, de vegades el format en dificulta la interpretació. És per això que hi ha altres ordres del mateix sistema que agafen aquesta informació i la presenten a l’usuari d’una manera més elaborada perquè l’entengui millor. Per exemple, l’ordre free llegeix el fitxer /proc/meminfo, i l’ordre uptime accedeix i presenta la informació de l’arxiu /proc/loadavg.
Paquet d'eines de monitoratge "sysstat"
El paquet sysstat és un conjunt d’eines de monitoratge de rendiment per a sistemes Linux. Proporciona dades instantànies de rendiment i es poden emmagatzemar en arxius històrics. En entorns de servidor, aquestes dades proporcionen informació valuosa per detectar carències i colls d’ampolla del sistema.
L’ordre d’instal·lació és la següent:
sudo apt-get install sysstat
Algunes de les eines que inclou aquest paquet són les següents:
- mpstat. Recull informació del rendiment de cadascun dels processadors del sistema. Permet el monitoratge continuat i admet modificadors.
- iostat. És una eina més completa que l’anterior, ja que a més de presentar estadístiques de la CPU, dóna informació dels dispositius d’entrada i sortida, les particions i els sistemes d’arxius.
- pidstat. Informació estadística dels processos de Linux.
- sar (system activity report). Recull, enregistra i presenta informació sobre l’estat dels components principals del sistema (CPU, memòria, discos, interrupcions, interfícies de xarxa, consoles, nuclis, etc.) i de la seva càrrega en temps real i d’una manera continuada. Emmagatzema les dades en els arxius /var/log/saxx, on xx és el dia del mes del monitoratge. Aquests arxius permeten l’anàlisi a posteriori de la informació. SAR admet modificadors molt interessants com ara els següents:
- -P : Dóna informació per a cada processador.
- -r : Dóna informació del rendiment de la memòria.
- -B : Dóna informació relativa a la paginació de la memòria.
- -W : Dóna informació relativa al swapping.
- -d : Dóna informació del rendiment de disc.
- -n : Dóna informació relativa a la xarxa.
Totes les ordres accepten com a paràmetre el nombre de mostres que volem capturar i l’interval entre mostres expressat en segons. Vegem-ne uns quants exemples.
1. Volem obtenir tres valors d’ús de CPU separats un segon:
$ sar 1 3 Linux 2.6.32-28-generic (jmunoz-desktop) 26/04/11 _i686_ (1 CPU) 12:54:20 CPU %user %nice %system %iowait %steal %idle 12:54:24 all 0,75 0,00 16,00 0,00 0,00 83,25 12:54:28 all 0,50 0,00 9,02 0,25 0,00 90,23 12:54:32 all 0,25 0,00 11,97 0,00 0,00 87,78 Average: all 0,50 0,00 12,33 0,08 0,00 87,
2. Volem veure l’ús dels diferents processadors del sistema:
$ mpstat -P ALL Linux 2.6.32-28-generic (jmunoz33-desktop) 26/04/11 _i686_ (1 CPU) 12:56:13 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 12:56:13 all 2,51 1,19 14,45 0,42 0,27 0,10 0,00 0,00 81,05 12:56:13 0 2,51 1,19 14,45 0,42 0,27 0,10 0,00 0,00 81,05
3. Volem veure el percentatge d’ús dels processos més actius:
$ pidstat 1 2 Linux 2.6.32-28-generic (jmunoz33-desktop) 26/04/11 _i686_ (1 CPU) 13:00:09 PID %usr %system %guest %CPU CPU Command 13:00:10 984 0,00 1,72 0,00 1,72 0 Xorg 13:00:10 1101 0,00 0,86 0,00 0,86 0 hald-addon-stor 13:00:10 1357 0,00 0,86 0,00 0,86 0 wnck-applet 13:00:10 1868 0,00 3,45 0,00 3,45 0 firefox-bin 13:00:10 2508 2,59 5,17 0,00 7,76 0 pidstat 13:00:10 PID %usr %system %guest %CPU CPU Command 13:00:11 984 1,01 5,05 0,00 6,06 0 Xorg 13:00:11 1868 0,00 3,03 0,00 3,03 0 firefox-bin 13:00:11 2323 0,00 1,01 0,00 1,01 0 gnome-terminal 13:00:11 2508 0,00 9,09 0,00 9,09 0 pidstat Average: PID %usr %system %guest %CPU CPU Command Average: 984 0,47 3,26 0,00 3,72 - Xorg Average: 1101 0,00 0,47 0,00 0,47 - hald-addon-stor Average: 1357 0,00 0,47 0,00 0,47 - wnck-applet Average: 1868 0,00 3,26 0,00 3,26 - firefox-bin Average: 2323 0,00 0,47 0,00 0,47 - gnome-terminal Average: 2508 1,40 6,98 0,00 8,37 - pidstat
Eines gràfiques de monitoratge de rendiment
La majoria de distribucions de Linux porten incorporada una eina gràfica senzilla, el monitor del sistema, que, entre d’altres funcions, per mitjà d’una pestanya, permet visualitzar l’historial de rendiment de la CPU, de la memòria, de l’espai d’intercanvi i l’activitat de la xarxa, tal com es pot veure en la figura.
Alertes de rendiment
A vegades no n’hi ha prou amb la visualització en temps real del que succeeix en els objectes monitorats del sistema o en l’anàlisi posterior de dades emmagatzemades. En algunes situacions potser cal un avís o una reacció immediata en el moment just en què es produeix una situació concreta i, per tant, es necessita algun sistema que controli contínuament l’evolució del rendiment i ens alerti o efectuï automàticament alguna acció en cas que els paràmetres no s’ajustin al que hem establert.
Les alertes de rendiment permeten definir límits per als diferents comptadors de rendiment i activen alertes si aquests valors són superiors o inferiors als límits establerts.
A Windows, aquesta possibilitat és implementada en l’aplicació ja comentada: el monitor de rendiment, que permet configurar alertes mitjançant la creació per part de l’usuari d’un tipus específic de recopilador de dades, tal com es pot veure en la figura.
Per accedir al monitor de rendiment, cal fer servir la finestra d’execució (TeclaWindows+R) i cridar l’executable perfmon.exe; o bé, en el menú principal triar Tauler de control Sistema i seguretat Eines administratives Monitor de rendiment. Aleshores cal seleccionar la secció “Conjunts de recopiladors de dades”, subsecció “Definits per l’usuari”. En aquest punt es pot crear un nou recopilador de dades amb menú Acció Nou Conjunt recopilador de dades i triant la Creació manual (avançada) ens trobarem les possibilitats següents: creació de registres de dades i alerta del comptador de rendiment.
La creació d’una alerta consisteix a:
- Triar un o diversos comptadors de rendiment entre tots els que hi ha disponibles.
- Indicar el llindar per defecte o per excés que farà saltar l’alerta.
- Establir les accions que es duran a terme si se sobrepassa aquest llindar. Les opcions disponibles són les següents:
- Enregistrar una incidència en el registre d’esdeveniments.
- Iniciar en el moment de l’alerta un conjunt de recopiladors de dades específic per poder analitzar el problema amb detall a partir del moment de l’alarma.
- Executar una tasca o un programa administratiu determinats.
Enregistrament i monitoratge d'esdeveniments
Un esdeveniment és una acció determinada de l’usuari o un procés significatiu originat pel sistema operatiu o les aplicacions.
Un esdeveniment queda enregistrat perquè l’administrador ha definit que és prou important per tenir-se en compte. Per tant, cal fer una tasca prèvia, que consisteix a definir quins tipus d’esdeveniments es vol que quedin enregistrats.
Si fem una classificació bàsica de la tipologia dels incidents, obtindrem la llista següent:
- Esdeveniments del sistema. Són generats pel mateix sistema operatiu; per exemple, un tancament no previst del sistema.
- Esdeveniments d’aplicació. Són generats per les aplicacions o els programes d’aplicació que s’estan executant. Els programadors que han dissenyat l’aplicació decideixen quins esdeveniments volen controlar. N’és un exemple la impossibilitat d’obrir un arxiu que l’aplicació necessita.
- Esdeveniments de seguretat. Són relatius a la seguretat; per exemple, els accessos dels usuaris o l’esborrament d’un recurs del sistema. L’enregistrament d’aquests esdeveniments de seguretat és responsabilitat de l’administrador i entra en el camp de l’auditoria informàtica.
Eines d'enregistrament i monitoratge d'esdeveniments a Windows
El sistema operatiu Windows guarda la informació sobre les incidències i esdeveniments en uns arxius de registre determinats que després poden ser visualitzats i interpretats amb eines com ara el visor d’esdeveniments o el monitor de fiabilitat.
Arxius de registre
Un arxiu de registre (log file) és un fitxer, generalment de text, en què el sistema operatiu o les aplicacions enregistren informació i dades rellevants de les incidències i esdeveniments que es van produint, per a la gestió i l’anàlisi posteriors.
En el cas del sistema operatiu Windows, aquests esdeveniments es guarden en diferents arxius de registre. Els més importants són els següents:
- Registre d’aplicació. Conté esdeveniments enregistrats per programes i aplicacions. Els desenvolupadors d’aplicacions determinen les incidències que volen enregistrar; per exemple, en un gestor de bases de dades, l’intent erroni d’escriptura en un arxiu de només lectura.
- Registre de sistema. Conté els registres de seguiment del sistema operatiu i guarda tota una sèrie d’accions predeterminats; per exemple, el canvi de l’hora del sistema.
- Registre d’instal·lació. Registra esdeveniments relacionats amb la instal·lació de programes i actualitzacions.
- Registre de seguretat. Enregistra els esdeveniments relatius a seguretat com els inicis de sessió vàlids i no vàlids o els accessos a uns recursos determinats, com ara crear, obrir, modificar o esborrar arxius. Aquest registre es troba inactiu per defecte i l’administrador el pot activar mitjançant les funcions d’auditoria de les directives de grup del directori actiu o les directives locals de seguretat.
Visor d'esdeveniments
El visor d’esdeveniments és una eina per visualitzar, filtrar, analitzar i gestionar els diferents esdeveniments enregistrats pel sistema en els arxius de registre.
Els components d’informació que es guarden d’un esdeveniment són la capçalera i la descripció. En la capçalera hi ha el tipus d’esdeveniment que, segons la seva importància, pot ser informativa, d’advertiment, d’error o crítica. Els esdeveniments de seguretat, en canvi, es classifiquen com d’accés correcte auditat o accés erroni auditat. A més del tipus d’esdeveniment, la capçalera inclou informació rellevant com la data i l’hora en què s’ha produït, un número identificatiu de l’esdeveniment, l’origen del programa o aplicació que l’ha generat i l’usuari i equip on s’ha generat, tal com es veu en la figura.
Per accedir al visor d’esdeveniments cal fer servir la finestra d’execució (TeclaWindows+R) i cridar la consola eventvwr.msc; o bé, en el menú principal triar Tauler de control Sistema i seguretat Eines administratives Visor d’esdeveniments.
El visor permet guardar la informació dels esdeveniments en arxius de format propi (extensió .evtx), en format text (.txt), en arxius de full de càlcul delimitat (.csv) o bé en format xml (extensió .xml).
Monitor de fiabilitat
El monitor de fiabilitat és una eina que quantifica errors, fallades i canvis en el sistema i la seva configuració i proporciona un índex d’estabilitat que varia entre 1 (el menys estable) i 10 (el més estable), tal com es veu en la figura. Qualsevol canvi en l’equip o qualsevol problema que es produeixi afectarà l’índex d’estabilitat que es representa en una gràfica temporal amb la notació diària dels esdeveniments quantificats.
Els tipus d’esdeveniments que presenta estan identificats clarament amb icones i són els següents:
- Errors crítics. Poden ser errors d’aplicació, de sistema operatiu o d’altres. Per exemple, quan el sistema es tanca inesperadament de manera incorrecta.
- Advertiments. Errors menys greus, però que cal documentar, com la insta·lació fallida d’una actualització.
- Esdeveniments informatius. En principi no comporten la pèrdua de fiabilitat, però cal tenir-los en compte per a possibles diagnòstics. Per exemple, la instal·lació correcta d’un controlador determinat.
Per accedir al monitor de fiabilitat cal fer servir la finestra d’execució (TeclaWindows+R) i cridar l’executable perfmonrel; o bé, en el menú principal triar Tauler de control Sistema i seguretat Centre d’activitats i, aleshores, obrir la secció de Manteniment Veure historial de fiabilitat*.
Es pot fer servir el monitor de fiabilitat per diagnosticar problemes intermitents. Per exemple, es podria establir la correlació entre la instal·lació d’un programa o controlador determinat i l’augment posterior de la inestabilitat del sistema.
Eines d'enregistrament i monitoratge d'esdeveniments a Linux
Estàndard de jerarquia de sistemes d'arxius (FHS)
FHS són les inicials de filesystem hierarchy standard i defineix els directoris principals i els continguts d’aquests en sistemes Linux o en altres sistemes de la família Linux. Fou dissenyat originàriament el 1994 per estandarditzar els sistemes d’arxius entre distribucions GNU/Linux. Està basat en l’organització tradicional dels sistemes UNIX.
La majoria dels arxius de registre a Linux es guarden, seguint l’estructura jeràrquica estàndard de Linux (FHS), en el directori /var/log. Hi ha dos tipus d’arxius de registre, els de text pla, que poden ser llegits per qualsevol editor de text, i els binaris, que depenen d’aplicacions i ordres externes per veure la informació que contenen.
Arxius de registre en format de text pla
Els principals arxius de registre en format de text pla són els següents:
- /var/log/syslog. És l’arxiu de registre més important, ja que per defecte és on s’enregistren tots els tipus d’esdeveniments que no disposen d’un arxiu específic. Un exemple del contingut d’aquest fitx és el següent:
$ cat /var/log/syslog Apr 26 11:06:24 jmunoz33-desktop anacron[737]: Job `cron.daily' terminated Apr 26 11:06:24 jmunoz33-desktop anacron[737]: Normal exit (1 job run) Apr 26 11:17:01 jmunoz33-desktop CRON[1695]: (root) Apr 26 11:25:07 jmunoz33-desktop acpid: client 984[0:0] has disconnected Apr 26 11:25:07 jmunoz33-desktop acpid: client connected from 984[0:0] Apr 26 11:25:07 jmunoz33-desktop acpid: 1 client rule loaded Apr 26 11:25:45 jmunoz33-desktop init: tty1 main process ended, respawning Apr 26 11:26:47 jmunoz33-desktop init: tty2 main process ended, respawning Apr 26 11:26:49 jmunoz33-desktop acpid: client 984[0:0] has disconnected Apr 26 11:26:49 jmunoz33-desktop acpid: client connected from 984[0:0] Apr 26 11:26:49 jmunoz33-desktop acpid: 1 client rule loaded
- /var/log/messages. Conté missatges informatius del sistema operatiu.
- /var/log/auth.log. Conté el registre de totes les autenticacions en el sistema, tant les correctes com les fallides.
- /var/log/debug S’hi emmagatzema la informació de depuració (debug) dels programes que executem en el sistema.
- /var/log/kern.log. Conté els missatges provinents del nucli del sistema operatiu (kernel).
- /var/log/daemon.log.Conté les anotacions dels diferents dimonis que s’estan executant en el sistema.
- /var/log/mail.log. Conté informació de tots els missatges que entren i surten del servidor de correus SMTP.
- /var/log/boot.log. Conté els missatges d’arrencada del sistema.
- $HOME/.bash_history. Conté l’historial de totes les ordres executades per un determinat usuari en la shell bash.
Arxius de registre en format binari
Els principals arxius de registre en format binari són els següents:
- /var/log/wtmp. Enregistra tota la informació de connexions i desconnexions del sistema. Com que és un arxiu binari, per veure el contingut cal un programa extern. En aquest cas, l’ordre last.
$ last jmunoz pts/0 :0.0 Tue Apr 26 10:59 still logged in jmunoz tty7 :0 Tue Apr 26 10:58 still logged in reboot system boot 2.6.32-28-generi Tue Apr 26 10:53 - 11:17 (00:23) jmunoz pts/0 :0.0 Sun Apr 24 07:44 - 08:19 (00:34) jmunoz pts/0 :0.0 Sun Apr 24 06:28 - 06:33 (00:04) jmunoz tty7 :0 Sun Apr 24 06:20 - crash (2+04:32)
- /var/run/utmp. Conté la informació dels usuaris connectats en un moment determinat. Es pot obtenir mitjançant les ordres w o bé who:
$ w 11:19:24 up 26 min, 2 users, load average: 0,61, 0,36, 0,33 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT jmunoz tty7 :0 10:58 26:33 25.41s 1.13s gnome-session jmunoz pts/0 :0.0 10:59 0.00s 0.79s 0.03s w jmunoz@jmunoz33-desktop:/var/run$
- /var/log/lastlog. Conté la data i l’hora de la darrera connexió de tots els usuaris que hi ha en el sistema. L’ordre per veure aquesta informació és lastlog.
$ lastlog Usuari Port Des de Últim root tty1 dg mar 27 23:37:21 +0200 2011 daemon **No ha entrat mai** bin **No ha entrat mai** jmunoz tty1 dl mar 28 00:17:25 +0200 2011 vboxadd **No ha entrat mai** prova tty1 dg mar 27 23:51:11 +0200 2011 alumne1 **No ha entrat mai**
- /var/log/faillog. Informa dels intents d’entrada erronis que s’han fet en el sistema. El visor per veure el contingut és l’ordre faillog.
Gestió d'aplicacions i processos
Per poder analitzar i millorar el rendiment del sistema no solament cal tenir present el comportament dels components del maquinari o enregistrar i estudiar els esdeveniments que es van produint. És necessari també tenir control sobre el programari que s’està executant en un moment determinat, aplicacions, serveis i els processos que generen, per poder veure els recursos que estan consumint, l’estat en què es troben i, eventualment, poder-los aturar, canviar-ne la prioritat o eliminar definitivament de la memòria.
Conceptes d'aplicació, procés i servei
Una aplicació informàtica generalment es considera un programa dissenyat per interaccionar amb l’usuari; per tant, s’executa en primer pla (foreground) amb una interfície d’usuari determinada, per ajudar-lo en la realització d’una tasca concreta. Són exemples típics d’aplicacions els programes d’ofimàtica, els navegadors, els reproductors multimèdia, etc.
Servei
El terme servei s’acostuma a fer servir en entorns Windows i correspon al concepte i la funcionalitat del dimoni (daemon) en la terminologia de Linux.
Un servei, en canvi, és un programa normalment associat al sistema operatiu, encara que també es pot utilitzar de manera manual, i que treballa en segon pla (background) sense interfície d’usuari, donant suport a altres programes. Els serveis proporcionen prestacions com servei de pàgines web, el registre d’esdeveniments, serveis d’impressió, criptografia, etc.
El concepte de procés té més a veure amb el funcionament intern del sistema operatiu i consisteix en una sèrie d’instruccions allotjades a la memòria i que, mitjançant cues i un mecanisme de planificació, accedeixen a la CPU per executar-se. Així doncs, qualsevol aplicació o servei, quan s’endeguen, generen un o més processos en el sistema.
Totes aquestes aplicacions i serveis, i els processos que generen, es poden monitorar i gestionar amb les eines adequades.
Eines de gestió de tasques i processos a Windows
En el sistema operatiu Windows disposem de dues eines principals per a la gestió d’aplicacions, serveis i processos: la consola de serveis i la consola d’administració de tasques.
La consola de serveis. Permet realitzar diferents accions sobre serveis en equips locals i remots, com ara:
- Iniciar, aturar, reprendre o deshabilitar serveis.
- Configurar accions de recuperació si es produeix un error en un servei (per exemple, reiniciar el servei automàticament o reiniciar l’equip).
- Habilitar o deshabilitar serveis per a un perfil de maquinari específic.
- Exportar i guardar informació dels serveis en un arxiu .txt o .csv.
- Veure l’estat i la descripció de cada servei.
- Veure les dependències dels serveis.
Per accedir a la consola de serveis cal fer servir la finestra d’execució (TeclaWindows+R) i cridar la consola services.msc; o bé, en el menú principal triar Tauler de control Sistema i seguretat Eines administratives Serveis.
La consola d’administració de tasques mostra i gestiona les aplicacions, els processos i els serveis que s’estan executant en l’equip en un moment determinat (vegeu la figura). També es pot fer servir per supervisar el rendiment de l’equip, comprovar l’estat i el funcionament de la xarxa i veure i enviar missatges als usuaris connectats a l’equip. També és molt útil per tancar un programa o procés que ha quedat penjat i no respon.
Per accedir a la consola d’administració de tasques cal fer servir la combinació de tecles CTRL+MAJÚSCULA+ESC, o bé mitjançant la finestra d’execució (TeclaWindows+R), i cridar l’aplicació taskmgr.exe* perquè aparegui la finestra següent.
Eines de gestió de tasques i processos en Linux
Per administrar i gestionar processos en Linux es poden fer servir directament ordres de consola, si bé també és pot treballar des de l’entorn gràfic amb la utilitat de monitoratge del sistema.
Ordres de consola
El sistema operatiu Linux disposa de diferents ordres en l’entorn de consola de text per a la gestió i el monitoratge de processos.
- ps. En la majoria de sistemes operatius de la família Unix, l’ordre ps (process status) permet visualitzar els processos en execució. Si no hi posem cap argument, només es mostraran els processos iniciats per l’usuari actual i que fan referència al terminal que utilitza.
ps PID TTY TIME CMD 2065 pts/0 00:00:00 bash 2082 pts/0 00:00:00 ps
La primera columna mostra l’identificador del procés (process identifier, PID), la terminal associada al procés (columna TTY), el temps acumulat d’ús de CPU (columna TIME) i finalment l’ordre que ha generat el procés (CMD). Si hi afegim algunes opcions (aux) podem obtenir més informació:
ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2804 1624 ? Ss 05:43 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 05:43 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 05:43 0:00 [migration/0]
- pstree. Aquesta ordre mostra una llista de processos en forma d’arbre seguint la jerarquia de processos Unix que permet identificar fàcilment quin és el procés pare d’un altre.
pstree -A
init-+-NetworkManager-+-dhclient
| `---{NetworkManager}
|---3*[VBoxClient---{VBoxClient}]
|---VBoxService---6*[{VBoxService}]
|---acpid
|---atd
|---avahi-daemon---avahi-daemon
|---bonobo-activati---{bonobo-activat}
|---clock-applet---{clock-applet}
|---console-kit-dae---63*[{console-kit-da}]
|---cron
|---cupsd
|---4*[dbus-daemon]
|---4*[dbus-launch]
`---2*[gconfd-2]
- top. Correspon a la presentació interactiva dels processos, en temps real (actualització cada tres segons) i ordenats pel percentatge d’ús de CPU. La primera línia d’informació és la mateixa que dóna l’ordre uptime. A continuació mostra informació dels processos en execució: PID (identificador), USER (propietari), PRI (prioritat), NI (prioritat d’usuari nice), VIRT (memòria virtual), RES (memòria resident), SHARE (memòria compartida), STAT (R running, S sleeping, Z zombie, T stopped), LC (últim processador utilitzat), %CPU (percentatge de processador utilitzat), %MEM (percentatge de memòria física utilitzada), TIME (temps d’utilització del processador) i COMMAND (nom de l’ordre).
top
top - 07:58:28 up 2:14, 2 users, load average: 0.03, 0.26, 0.38
Tasks: 151 total, 1 running, 150 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 4.6%sy, 0.0%ni, 94.7%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
Mem: 1026484k total, 636624k used, 389860k free, 67172k buffers
Swap: 1952760k total, 0k used, 1952760k free, 375648k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
976 root 20 0 48900 22m 7852 S 9.6 2.3 12:33.54 Xorg
2062 jmunoz33 20 0 117m 13m 10m S 7.0 1.3 0:08.14 gnome-terminal
2093 jmunoz33 20 0 2548 1200 904 R 1.0 0.1 0:00.11 top
1 root 20 0 2804 1624 1172 S 0.0 0.2 0:01.68 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:01.03 events/0
Qualsevol usuari pot reduir la prioritat dels seus processos, però només el superusuari pot augmentar la prioritat d’un procés.
- kill, killall. Aquestes dues ordres es fan servir per enviar senyals a processos. L’ordre kill necessita com a argument el PID (‘identificador de procés’), mentre que killall té com a argument el nom del procés. Per defecte, totes dues envien el senyal 15 (TERM: acabament del programa).
- nice, renice. El primer permet arrencar un procés assignant-li una prioritat determinada, mentre que renice permet canviar la prioritat d’un procés ja endegat. L’ordre nice té com a argument el nom de l’ordre que genera el procés sobre el qual volem actuar. La prioritat definida per defecte és 10 i el rang de prioritat pot anar de -20 (prioritat màxima) fins a 19 (prioritat mínima).
Eines gràfiques
La mateixa eina gràfica del monitor del sistema, a més de visualitzar en temps real els recursos, per mitjà d’una pestanya permet controlar els processos que s’estan executant i el consum de recursos del sistema que fan (vegeu la figura).
Per a cada procés actiu en el sistema mostra la informació següent:
- El nom del procés.
- L’estat en què es troba el procés (adormit, parat, en execució).
- L’identificador corresponent (PID).
- El tant per cert d’ocupació de processador que està utilitzant.
- La prioritat d’execució.
- La quantitat de memòria que fa servir.
Seleccionant un d’aquests processos podem efectuar diferents accions:
El mapa de memòria d’un procés és un esquema de l’ús de memòria que fa el procés: segments utilitzats, adreces, mides, etc.
- Posar en espera i rellançar el procés.
- Aturar-lo d’una manera ordenada o immediata.
- Canviar-ne la prioritat d’execució.
- Visualitzar el mapa de memòria corresponent.
- Visualitzar els arxius oberts amb els quals treballa.
El monitor del sistema es pot configurar canviant l’interval de recollida de dades, els paràmetres monitorats i el tipus de gràfic de presentació.












