IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

SNMP

  • SNMP és un protocol del nivell d'aplicació que facilita l'intercanvi d'informació d'administració entre dispositius de xarxa.
  • És un protocol d'aplicació
  • Hi ha tres versions del protocol
  • Les més utilitzades són SNMPv1 i SNMPv2
  • A la nova versió (SNMPv3) s'han introduït força canvis sobretot respecte al tema de seguretat però encara no esta gaire suportat per la industria.

Arquitectura SNMP

  • El servidor s'instal·la en les màquines que volem monitoritzar
  • El dispositiu administrat es on esta instal·lat el agent
  • MIB és la base de dades,Management Information Bases


Snmp.png


  • SNMP serveis per moltes utilitats no nomes per ordinadors com ara estacions de treball, impressores, perifèrics de xarxa

o altres màquines connectades a la xarxa (màquines dispensadores d'aliments, alarmes, estacions meteorològiques, etc.)

MIB

  • Són bases de dades jerarquiques
  • Sovint els dispositius administrats s'anomenen objectesMIB
  • Es tracta doncs d'una base de dades jeràrquica on cada node de l'arbre és un objecte. Hi ha dos tipus d'objectes:
  • Escalars: Els objectes tabulars són simplement una variable
  • Tabulars: Estan formats per altres objectes
  • Cada objecte té un identificador (object ID) que l'identifica de forma única dins de l'arbre MIB


Snmp r2.png


  • Nota Important quan no es diu al snmp quin objecte busquem ell anirà a buscar a mib-2 taal i com es mostra en la imatge anterior

Instal·lació

  • Instal·lem el client amb la comanda
$ sudo apt-get install snmp
  • Instal·lem el servidor amb la comanda
$ sudo apt-get install snmpd

Protocol SNMP

  • Mirem el ports usats 161 UDP amb obert
$ sudo cat /etc/services | grep snmp
snmp		161/tcp				# Simple Net Mgmt Protocol
snmp		161/udp				# Simple Net Mgmt Protocol
snmp-trap	162/tcp		snmptrap	# Traps for SNMP
snmp-trap	162/udp		snmptrap	# Traps for SNMP
  • Comprovem si el port esta obert amb la comanda següent
$ sudo nmap -sU localhost -p 161
  • On el resultat seria el següent
[email protected]:~$ sudo nmap -sU localhost -p 161
Starting Nmap 5.21 ( http://nmap.org ) at 2012-04-12 19:52 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00038s latency).
PORT    STATE SERVICE
161/udp open  snmp

Missatges SNMP

GetRequest: l'administrador del sistema sol·licita a l'agent que li retorni el valor d'un objecte a partir del seu identificador GetNextRequest: serveix per processar llistes d'objectes. Un cop s'ha obtingut un objecte amb GetRequest es pot utilitzar GetNextRequest per repetir el procés amb el següent objecte de la taula SetRequest: SNMP també suporta modificar valors d'administració de forma remota utilitzant una comunitat (paraula de pas) específica GetResponse: respostes dels agents.

SNMP Traps

Els traps són uns components especials dels agents que permeten que aquests puguin reportar als administradors de la xarxa certes condicions o canvis d'estat. La configuració de traps es fa al fitxer:

$ sudo  /etc/snmp/snmptrapd.conf


Client SNMP

El client snmp (paquet snmp) proporciona diverses eines per treballar amb snmp

  • Consulta de dades: snmpget, snmpgetnext, snmpwalk, snmpbulkget, snmpbulkwalk
  • Establiment de dades: snmpset
  • Obtenir l'espai lliure: snmpdf
  • Comandes de consulta de l'espai lliure, l'estat de la xarxa i altres...
  • Totes les comandes tenen el seu corresponent manual unix (man)

$ sudo dpkg -L snmp | grep bin

/usr/bin/snmpbulkget
/usr/bin/snmpbulkwalk
/usr/bin/snmpconf
/usr/bin/snmpdelta
/usr/bin/snmpdf
/usr/bin/snmpget
/usr/bin/snmpgetnext
/usr/bin/snmpnetstat
/usr/bin/snmpset
/usr/bin/snmpstatus
/usr/bin/snmptable
/usr/bin/snmptest
/usr/bin/snmptranslate
/usr/bin/snmptrap
/usr/bin/snmpusm
/usr/bin/snmpvacm
/usr/bin/snmpwalk
/usr/bin/encode_keychange
/usr/bin/fixproc
/usr/bin/traptoemail
/usr/bin/mib2c-update
/usr/bin/snmpinform

Comanda SNMPWALK

$ sudo snmpwalk -Os -c public -v 2c 10.36.253.1 system

[email protected]:~$ sudo snmpwalk -Os -c public -v 2c localhost .
iso.3.6.1.2.1.1.1.0 = STRING: "Linux ramon 2.6.38-13-generic #57-Ubuntu SMP Mon Mar 5 18:10:14 UTC 2012 i686"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (142298) 0:23:42.98
iso.3.6.1.2.1.1.4.0 = STRING: "Me <[email protected]>"
iso.3.6.1.2.1.1.5.0 = STRING: "ramon"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
  • Instal·lem el snmp-mibs-downloader
$ sudo apt-get install snmp-mibs-downloader

  • Comentem la línia del fitxer de configuració snmp.conf que es troba a /etc/snmp/snmp.conf
#
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loaging them by commenting out the following line.
#mibs :
  • Guardem i ja tenim resolt el problema
  • Executem la comanda següent
$ sudo snmpwalk -Os -c public -v 2c 10.36.253.1 ifNumber
ifNumber.0 = INTEGER: 16
  • Fem un altra prova amb la comanda següent,on ens mostra el punt mib-2
$ sudo snmpwalk -Os -c public -v 2c 10.36.253.1 mib-2 | more
sysDescr.0 = STRING: RouterOS RB600A
sysObjectID.0 = OID: enterprises.14988.1
sysUpTimeInstance = Timeticks: (191757200) 22 days, 4:39:32.00
sysContact.0 = STRING: [email protected]
sysName.0 = STRING: TortosaINSEbreRd1
sysLocation.0 = STRING: TortosaINSEbre
sysServices.0 = INTEGER: 78
ifNumber.0 = INTEGER: 16
ifIndex.1 = INTEGER: 1
ifIndex.2 = INTEGER: 2
ifIndex.3 = INTEGER: 3

Pràctica a fegir un MIB

  • Creem la carpeta mibs
$ sudo mkdir /usr/share/snmp/mibs/
$ sudo cp Mikrotik.mib /usr/share/snmp/mibs/
  • Definim una variable d'entorn
$ export MIBS=+MY-MIB
  • Caldrà comentar una línia i descomentar un altra tal i com es mostra en la imatge


Snmp r3.png


Cacti

  • Instal·lem o ens assegurem de que tinguem el servidor de mysql instal·lat
$ sudo apt-get install mysql-server-5.0
  • Instal·lem el cacti
$ sudo apt-get install cacti
  • Després ens sortiràn unes pantalles les quals les configurarem de la següent manera


Cacti r1.png


Cacti r2.png


Cacti r3.png


Cacti r4.png


Cacti r5.png


Cacti r6.png


  • Si ensinteresa podem fer un reconfigure amb la comanda que es mostra a continuació,això en cas d'algun error
$ sudo dpkg-reconfigure cacti
  • Podem mirar els fitxers de configuració amb la comanda següent
$ dpkg -L cacti | grep etc
/etc
/etc/cacti
/etc/logrotate.d
/etc/logrotate.d/cacti
/etc/cron.d
/etc/cron.d/cacti
  • Ara ja podem accedir al cacti mitjançant
http://localhost/cacti
  • Un cop dintre ens aniran sortin una mena de pantalles les quals configurarem tal i com es mostren a continuació
Cacti r7.png


Cacti r8.png


Cacti r9.png


  • Ens logegem on el primer cop ficarem user:admin i password:admin


Cacti r10.png


  • Un cop dintre ens obligarà a canviar la password


Cacti r11.png


  • Un cop dintre aquesta serà l'interfície que veurem del cacti


Cacti r12.png

Creació de gràfiques amb el cacti

  • Primer que res li creem un dispositiu per tal de després passar a monitoritzar-lo


Cact1.png


  • Un cop això li diem add


Cact2.png


  • Li donem un nom i li assignem una adreça de xarxa, a la opció template li triem ucd/net SNMP host


Cact3.png


  • Un cop creat el host passarem a crear les gràfiques


Cact4.png


  • Seleccionem tot el que volem monitoritzar


Cact5.png


  • Després anem a graph management


Cact6.png


  • Li triem totes les opcions i al desplegable li diem Place on a tree (Default tree)


Cact7.png


  • Li diem continue


Cact8.png



  • Si anem a graph podrem veure totes les gràfiques de tot el monitoritzat


Cact9.png


Cact10.png


  • La comanda snmpdf fa el mateix que el df però a la màquina remota
[email protected]:~$ snmpdf -Os -c public -v 2c localhost
MIB search path: /home/ramon/.snmp/mibs:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (Mikrotik): At line 0 in (none)
Description              size (kB)            Used       Available Used%
Physical memory            2050864         1285088          765776   62%
Virtual memory             7118636         1285224         5833412   18%
Memory buffers             2050864           40324         2010540    1%
Cached memory               594660          594660               0  100%
Swap space                 5067772             136         5067636    0%
/                        188401484       135016392        53385092   71%
/sys/fs/fuse/connections               0               0               0    0%
/dev                       1018804             672         1018132    0%
/home/ramon/.gvfs                0               0               0    0%
  • La comanda snmpnetstat és el mateix que fer un netstat però a la màquina remota
[email protected]:~$ snmpnetstat -Os -c public -v 2c localhost system
MIB search path: /home/ramon/.snmp/mibs:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Cannot find module (Mikrotik): At line 0 in (none)
Active Internet (tcp) Connections
Proto Local Address          Remote Address         (state)
tcp   localhost.mysql        localhost.39086       ESTABLISHED
tcp   localhost.mysql        localhost.39087       ESTABLISHED
tcp   localhost.mysql        localhost.39089       ESTABLISHED
tcp   localhost.mysql        localhost.39097       ESTABLISHED
tcp   localhost.mysql        localhost.39107       ESTABLISHED
tcp   localhost.mysql        localhost.39121       ESTABLISHED
tcp   localhost.mysql        localhost.39147       ESTABLISHED
tcp   localhost.mysql        localhost.39161       ESTABLISHED
tcp   localhost.mysql        localhost.40394       ESTABLISHED
tcp   localhost.mysql        localhost.40463       ESTABLISHED
tcp   localhost.mysql        localhost.40604       ESTABLISHED
tcp   localhost.mysql        localhost.40620       ESTABLISHED
tcp   localhost.mysql        localhost.40629       ESTABLISHED
tcp   localhost.mysql        localhost.40630       ESTABLISHED
tcp   localhost.mysql        localhost.40639       ESTABLISHED
tcp   localhost.7079         localhost.36243       FINWAIT2
tcp   localhost.7079         localhost.36366       TIMEWAIT
tcp   localhost.7079         localhost.36517       FINWAIT2
tcp   localhost.7079         localhost.36789       TIMEWAIT
tcp   localhost.7079         localhost.40688       FINWAIT2
tcp   localhost.7079         localhost.42970       ESTABLISHED
udp   *.36711               
udp   *.39359               
udp   *.52681               
udp   localhost.ntp         
udp   localhost.9113        
udp   A202PC07.aula202.ntp  
udp   A202PC07.aula202.netbi
udp   A202PC07.aula202.netbi
udp   A202PC07.aula202.35159
udp   192.168.202.255.netbio
udp   192.168.202.255.netbio

Cacti plugins

  • Primer que tot ens descarreguem el plugin de la següent url cacti plugins
  • un cop descarregat descomprimin l'arxiu a /var/www
  • Després importem la base de dades de dintre el directori que em descomprimit
[email protected] $mysql cacti2 < cacti.sql
  • Ara anirem a /var/www/cacti2/include i editarem el fitxer config.php amb el següent contingut
$database_type = "mysql";
$database_default = "cacti2";
$database_hostname = "localhost";
$database_username = "ramon";
$database_password = "[email protected]";
$database_port = "3306";
$database_ssl = false;
/*
  Edit this to point to the default URL of your Cacti install
  ex: if your cacti install as at http://serverip/cacti/ this
  would be set to /cacti/
*/
$url_path = "/cacti2/";
/* Default session name - Session name must contain alpha characters */
$cacti_session_name = "Cacti";
  • Guardem el fitxer i ficarem a la url http://localhost/cacti2 i si tot ha anat bé ens començara la instal·lació del cacti


Cacti2 r.png


  • Vegeu també

Plugins Cacti Instal·lació manual de cacti

Exercici Monitorització

  • En aquest exercici anem a monitoritzar els serveis d'una antena de guifi.net
  • El primer que fem serà crear el dispositiu
Stvicent1.png


  • Li diem add


Stvicent2.png



  • Assignem un nom ,l'adreça de xarxa i el ucd/net SNMP Host,un cop em omplit els valors li diem create i save


Stvicent3.png



  • Ara crearem les gràfiques per al host especificat


Stvicent4.png



  • Escollim l'interfíce per la qual volem el tràfic a monitoritzar i create


Stvicent5.png



  • Un cop fet això anirem a Graph Management on triarem el host a monitoritzar on li seleccionem l'interfície a monitoritzar i del desplegable li escollim l'opció Place on a Tree(Default Tree) i Go


Stvicent6.png



  • Després ens sortirà una pantalla com la que es mostra a continuació on triem continue


Stvicent7.png


  • Després si anem a Graph podrem veure ja com sen's monitoritza el tràfic que li em especificat


Stvicent8.png



Com funciona cacti?

CactiPrinciplesOperation.png


  • Per monitoritzar tenim que tenir les dades
  • Un sistema que es connecti via remota per norma SNMP ,el cron s'encarrega d'executar les tasques periòdiques,repetitatives
  • Pooler:És un qüestionador li fa preguntes a l'altre extrem el que volem monitoritzar
  • És tant important obtenir-los però també guardar-los
  • RRDTool:Eina per crear gràfiques

Lm-sensors

  • Instal·lem el paquet lm-sensors
$ sudo apt-get install lm-sensors
[email protected]:~$ sudo apt-get install lm-sensors
[sudo] password for ramon: 
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias       
Leyendo la información de estado... Hecho
Paquetes sugeridos:
 fancontrol sensord read-edid i2c-tools
Se instalarán los siguientes paquetes NUEVOS:
 lm-sensors
0 actualizados, 1 se instalarán, 0 para eliminar y 0 no actualizados.
Necesito descargar 97,4 kB de archivos.
  • Un cop instal·lat executem la següent comanda on anem seguint l'assistent i a l'últim li diem que yes
[email protected]:~$ sudo sensors-detect
.....................
.....................
 Do you want to add these lines automatically to /etc/modules? (yes/NO)yes
Successful!
Monitoring programs won't work until the needed modules are
loaded. You may want to run 'service module-init-tools start'
to load them.
Unloading i2c-dev... OK
Unloading i2c-i801... OK
Unloading cpuid... OK
  • Després ja podem ficar la comanda següent on ens mostrarà els sensors
[email protected]:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +30.0°C  (crit = +110.0°C)
  • Per tal d'afegir més sensors executarem la següent comanda,en aquest cas em afegit el sensor de la CPU
[email protected]:~$ sudo modprobe coretemp
  • Ara si volem veure tot els sensors executarem la següent comanda
[email protected]:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +30.0°C  (crit = +110.0°C)                  
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +33.0°C  (high = +76.0°C, crit = +100.0°C)  
coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +33.0°C  (high = +76.0°C, crit = +100.0°C)
  • Ara afegirem una plantilla de la següent url SNMP
  • Primer ens la descarreguem
Templates1.png



  • Un cop descarregat anem al cacti i fem clic a la pestanya import Templates
  • Li diem examinar i busquem el fitxer .xml
  • Un cop l'hem importat ens descarregarem un script de la mateixa url que ens em descarregat la Template i li donem permisos d'execució i el copiem dintre la carpeta /etc/snmp nosaltres em triat l'script de les temperatures



Templates2.png



  • Un cop això editem el fitxer /etc/snmp/snmpd.conf on afegim aquestes tres línies

extend sensortemps /etc/snmp/sensors-temps extend sensorfans /etc/snmp/sensors-fans extend sensorvoltages /etc/snmp/sensors-voltages

Glosari de termes

  • Temoplates: N'hi ha varis,de gràfiques,de host
  • Templates Host:Ho té tot
  • Associated Data query
Pregunta quantes interfícies de xarxa
Pregunta quin disc o partició a monitoritzar
  • Ens poodem descarregar templates del repositori de cacti per tal d'escollir la que més sen's acosti al nostre
  • Import/Export Templates
Per importar i exportar plantilles
  • Data sources
Utilitza Round Robin per tal de com volem veure els processos

RRA: No ocupa més la gràfica d'un any que la d'un més


RRDTool

Instal·lació

$ dpkg -L rrdtool 
[email protected]:~$ dpkg -L rrdtool
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/rrdtool
/usr/share/doc/rrdtool/html
/usr/share/doc/rrdtool/html/bin_dec_hex.html
/usr/share/doc/rrdtool/html/rrddump.html
/usr/share/doc/rrdtool/html/rrdgraph_examples.html
/usr/share/doc/rrdtool/html/rrdrestore.html
/usr/share/doc/rrdtool/html/rrdupdate.html
/usr/share/doc/rrdtool/html/cdeftutorial.html
/usr/share/doc/rrdtool/html/rrdfetch.html
/usr/share/doc/rrdtool/html/rrdgraph_graph.html
/usr/share/doc/rrdtool/html/rrdthreads.html
/usr/share/doc/rrdtool/html/rrdxport.html
/usr/share/doc/rrdtool/html/rpntutorial.html
/usr/share/doc/rrdtool/html/rrdfirst.html
/usr/share/doc/rrdtool/html/rrdgraph_rpn.html
/usr/share/doc/rrdtool/html/rrdtool.html
/usr/share/doc/rrdtool/html/rrd-beginners.html

Com funciona?

Round Robin:És una paraula francesa

RRA: Són arxius històrics de bases de dades Round Robin. Típicament se solen guardar els arxius RRA: Hores/Hourly (1 Minute Average), Diaris/Daily (5 Minute Average), Semanals/Weekly (30 Minute Average), Mensuals/Monthly (2 Hour Average) i anuals/Yearly (1 Day Average). Vegeu també Cacti RRAs.

Round Robin Database: És una base de dades circular.

Data Source Type o DST: Els tipus possibles són: COUNTER, DERIVE, ABSOLUTE i GAUGE. Vegeu també l'apartat Característiques de les bases de dades RRDTool.(Origen d'on obtenim les dades per a la base de dades)això ho fa el SNMP

Data Source: Indicar un origen per a les dades d'una base de dades RRD. Per omplir una base de dades RRD sempre s'ha d'indicar el mètode per obtenir aquestes dades (es pot obtenir d'un script, per SNMP, etc)

Primary Data Point: Cada cert temps (indicat al paràmetre step, un valor força típic és 300segons - 5 minuts -) s'obté del Data Source un valor. Aquest valor és anomenat Primary Data Point

Heartbeat: És la quantitat de temps que podem accepta per a que l'origen ens doni un valor

Consolidation Function o CF: Els valors que permet RRDTool són AVERAGE , MINIMUM , MAXIMUM i LAST. Vegeu també l'apartat Característiques de les bases de dades RRDTool.

Consolidated Data Point o CDP: Als Primary Data Point se'ls hi aplica cada certa quantitat de valors un funció de consolidació, per exemple un AVERAGE.. Els CDP són els valors que realment es guarden al Round Robin Archive.

Data Resampling: Tot i que s'intenti automatizar els moments exactes en que es fan les lectures (per exemple el valor per defecte de cada 5 minuts), al recollir les dades poden haver-hi retards o avançaments per qualsevol causa. No es cap problema ja que al actualitzar la base de dades es guarda el temps utilitzat i aleshores Cacti pot fer interpolació. http://en.wikipedia.org/wiki/Interpolation

GAUGE: És el valor tal i com demanen ens arriba

COUNTER: S'emmagatzema el index de canvi ( rate of change) del valor en cada pas (step period). El rate of change es calcula com la diferència entre el valor actual i el valor anterior dividit pel nombre de segons de l'step. Amb COUNTER s'assumeix que el valor sempre està en creixement (és a dir que la diferència entre el nou valor i el antics sempre és major o igual que zero).Traffic counters on a router are an ideal candidate for using COUNTER as DST

DERIVE: És igual que COUNTER però permet valors negatius. Per exemple pot ser útil per mesurar l'espai lliure de disc.

ABSOLUTE: També guarda el index de canvi però assumint sempre que l'anterior valor és zero. Per tant és guarda el valor actual dividit entre el nombre de segons entre el valor actual i l'anterior (l'step, a l'exemple 300s)

Primary Data Point: Cada cert temps (indicat al paràmetre step, un valor força típic és 300segons - 5 minuts -) s'obté del Data Source un valor. Aquest valor és anomenat Primary Data Point


Creació de la bases de dades, obtenció de les dades, emmagatzemament de les dades i creació d'una gràfica amb les dades

  • Instal·lació
$ cd
$ mkdir exempleRRD && cd exempleRRD
  • Ara creem una base de dades RRD:
[email protected]:~/exempleRRD$ rrdtool create aleatori.rrd \
>  rrdtool create random.rrd \
>        --step 1 \
>        DS:random:GAUGE:5:U:U \
>        RRA:AVERAGE:0.5:1:60 \
>        RRA:AVERAGE:0.5:60:60^C
  • Estem creant una base de dades RRD al fitxer target.rrd, que espera dades cada segon i de tipus GAUGE. Els arxius RRA seran per a cada minut i cada hora
  • Ara creem un script per obtenir dades i actualitzar la base de dades RRD. L'script obtindrà valors enters aleatòries.
[email protected]:~/exempleRRD$ ls
aleatori.rrd
[email protected]:~/exempleRRD$ 


[email protected]:~/exempleRRD$ nano update.sh
[email protected]:~/exempleRRD$ sudo chmod +x update.sh
[email protected]:~/exempleRRD$ ./update.sh &
[1] 7862
[email protected]:~/exempleRRD$ 10479
26354
12287
4160

Podem monitoritzar l'estat de la base de dades amb:

[email protected]:~$ watch -n 1 "rrdtool dump aleatori.rrd"

Per crear la gràfica:

[email protected] $ /usr/bin/rrdtool graph - --imgformat=PNG --start=-3600 --end=-300 --title='RANDOM' --base=1000 --height=120 --width=500 
--alt-autoscale-max --lower- 
limit=0 --vertical-label= --slope-mode --font TITLE:12: --font AXIS:8: --font LEGEND:10: --font 
UNIT:8: DEF:a="random.rrd":random:AVERAGE LINE1:a#F5F800FF:"RANDOM"  GPRINT:a:LAST:"Current\:%8.2lf %s"  
GPRINT:a:AVERAGE:"Average\:%8.2lf %s"  GPRINT:a:MAX:"Maximum\:%8.2lf %s\n" > grafica.png

Exemple més real

  • Creem una carpeta de treball:
[email protected] $ cd
[email protected] $ mkdir exempleRRD && cd exempleRRD
  • Ara creem una base de dades RRD:
[email protected]$ rrdtool create random.rrd \
      --step 1 \
      DS:random:GAUGE:5:U:U \
      RRA:AVERAGE:0.5:1:60 \
      RRA:AVERAGE:0.5:60:60
  • Estem creant una base de dades RRD al fitxer target.rrd, que espera dades cada 300 segons ( 5 minuts) i de tipus GAUGE. Els arxius RRA seran diaris i mensuals.

Ara cal obtenir les dades de forma periòdica i actualitzar la base de dades RRD amb les dades obtingudes. Podeu crear un script com el següent

#!/bin/sh
a=0
while [ "$a" == 0 ]; do
snmpwalk -c public 192.168.1.250 hrSWRunPerfMem > snmp_reply
   total_mem=`awk 'BEGIN {tot_mem=0}
                         { if ($NF == "KBytes")
                           {tot_mem=tot_mem+$(NF-1)}
                         }
                   END {print tot_mem}' snmp_reply`
   # I can use N as a replacement for the current time
   rrdtool update target.rrd N:$total_mem
   # sleep until the next 300 seconds are full
   perl -e 'sleep 300 - time % 300'
done # end of while loop

NTOP

  • L'origen del seu nom està en la comanda top (network top). La comanda top ens permet saber en temps real l'ús que s'està fent dels recursos d'una màquina per part dels processos.
  • Ntop ens indica a temps real quin ús s'està fent dels recursos de xarxa per part de les màquines d'una xarxa
  • Instal·lació de NTOP
[email protected]:~$ sudo apt-get install ntop
[sudo] password for client: 
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
  • Un cop instal·lat farem un reconfigure
[email protected]:~$ sudo dpkg-reconfigure ntop


  • Li diem per quina interfície de xarxa escoltarà


Ntop1.png


  • Creem l'usuari per a ntop


Ntop2.png


  • Assignem una contrasenya a l'usuari del ntop


Ntop3.png


  • Ara ja podem accedir fican el següent a la url
http://localhost:3000/


  • Un cop dintre podrem veure diferents gràfiques a continuació se'n mostra una gràfica resum


Ntop5.png


  • Provoquem trànsit per tal de veure com s'incrementa l'estat de les gràfiques
Ntop6.png


Ntop7.png


Munin

  • "Munin" significa "memòria" L'origen del nom és escandinau.
  • Munin és el nom d'un dels dos corbs d'un deu escandinau.Els corbs s'encarregaven de controlar el reialme del rei.
  • Arquitectura client-servidor
    • Servidor: Munin-node. Recol·lecta informació.
    • Client: Munin. Mostra gràfiques a partir de les dades recol·lectades dels servidors
  • Per a la instal·lació executarem la següent comanda
$ sudo apt-get install munin-node
  • Fitxer de configuració de munin els trobem a /etc/munin/munin.conf
dbdir: Base de dades
htmldir: Informes web
logdir: Fitxers de registre
tmpldir: Fitxers de les plantilles
  • Per tal d'accedir al navegador ficarem el següent
http://localhost:4949
  • Després d'haver-se provat s'ha vist que dóna un error el qual no es pot accedir