Comandes Linux per monitorització Ad-Hoc del sistema

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Introducció

Per "monitorització ad-hoc" entenem el control del sistema per part de l'administrador de forma manual, és a dir, que es connecta a la màquina i mitjançant eines per comandes o gràfiques, examina el sistema per avaluar possibles disfuncions, intrusions, etc.

Referències interessants:


Manual Linux

A la shell de Linux sempre disposem d'ajuda a les diferents comandes mitjançant el MANUAL. Per veure com funciona, per exemple, la comanda top pode fer:

$ man bash

Per moure'ns a través del manual:

  • q = quit (sortir)
  • ENTER : avança 1 línia
  • ESPAI : avança 1 pàgina
  • Les fletxes de cursor i AvPg i RePg solen funcionar però no sempre
  • Cerca: introduïm "/" i el text a buscar
    • "n" (next) avança al següent ítem de la recerca
    • "b" (back) retrocedeix a l'anterior ítem de la recerca


CPU i memòria

  • top : la més complerta.
    • sortir amb "q" (quit)
    • ENTER refresca. Prova de refrescar uns quants cops seguits i mira si canvia molt el resultat
    • Ordenar (sort). Varia segons versió. Per saber com canviar el camp d'ordenació fes man top i busca la secció SORTING
  • cat /proc/cpuinfo
  • cat /proc/meminfo
  • ps : permet veure els processos del sistema. D'entrada només ens mostra els processos associats a la shell actual, però permet veure'ls tots per després filtrar els què ens interessin. Típicament, per veure tots els processos d'Apache (per exemple):
    $ ps aux | grep apache
  • vmstat : estadístiques de l'ús de memòria. Si l'acompanyem d'un paràmetre li podem dir cada quants segons ens ha mostrar un altre report. Aquest exemple ens mostra cada 2 segons i s'atura quan ha fet 5 informes:
    $ vmstat 2 5


Emmagatzematge

  • mount : per muntar sistems d'arxius. Però sol també ens mostra els volums muntats.
  • arxiu /etc/fstab : hi ha els volums a muntar a l'arrencada de la màquina
  • df -h : estat dels devices muntats al sistema d'arxius (-h és per "human readable", més fàcil de llegir en blocs de MB o GB)
  • du : disk usage reporta l'espai utilitzat a les carpetes i subcarpetes.
    • du -sh : summarize + human readable . Ens mostra només el total i en format de kB, MB o GB.
    • du -hd 2 <nivells de recursió>
  • iostat : similar al vmstat però amb entrada/sortida (disc)
  • iotop : similar a top
  • cat /proc/partitions
  • RAID : aneu a l'article per veure com administrar un RAID software en Linux
    • cat /proc/mdstat
    • mdadm


Xarxa

  • ifconfig
  • ifdown / ifup
  • route
  • netstat -nlp : ens mostra els ports oberts i (amb sudo) els processos que utilitzen cada port

Més a comandes Linux per xarxes.


Gestió de paquets del SO

En Debian/Ubuntu solem utilitzar el gestor de paquets APT que s'encarrega de gestionar les descàrregues i dependències dels repositoris generals. La utilitat de baix nivell DPKG s'encarrega de desempaquetar i instal·lar els paquets descarregats per APT (o descarregats manualment).

Es convenient saber un parell de trucs:

  • Reconfigurar paquets:
    # dpkg-reconfigure <paquet>
  • Per saber si tenim un paquet determinat instal·lat (i quina versió):
    $ dpkg -l | grep <string_de_cerca>

Recordem la gestió de paquets habitual:

  • apt-get install <paquet>
  • apt-get remove <paquet> (no elimina els fitxers, només els desinstal·la)
  • apt-get purge <paquet>
  • apt-cache search <cadena_de_cerca>
  • dpkg -i <paquet> (instal·la)
  • dpkg -r <paquet> (desinstal·la)


Exercicis

El professor us passarà la màquina "UbuntuFail", on volem instal·lar un wordpress (ja està descarregat) però no acaba de funcionar. Utilitzant les comandes descrites en aquest article:

  1. Identifica els errors de la màquina, quan ens els dona, quins logfiles, etc.
  2. Diagnostica quin problema o problemes concrets té la màquina i quines són les causes.
  3. Proposa 3 solucions diferents per solucionar el problema, amb avantatges i inconvenients entre elles.
  4. Tria una d'aquestes solucions i implementa-la per tal que puguem instal·lar wordpress.

Per solucionar-ho ens caldrà desactivar AppArmor per MySQL.