Proyecto: Monitorización de red con SNMP y MRTG

13
UF - 3 / Activitat 1 2 / 5 / 2012 Monitorització de recursos i serveis Amb SNMP i MRTG Oscar Caravaca García Bernat Romeu Llabrés

Transcript of Proyecto: Monitorización de red con SNMP y MRTG

Page 1: Proyecto: Monitorización de red con SNMP y MRTG

UF - 3 / Activitat 1

2 / 5 / 2012

Monitorització de recursos

i serveis Amb SNMP i MRTG

Oscar Caravaca García

Bernat Romeu Llabrés

Page 2: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

Índex

1 Introducció i objectiu de la pràctica ...................................................................................... 1

2 SNMP ..................................................................................................................................... 2

2.1 Components bàsics ....................................................................................................... 2

2.2 OID i MIB ....................................................................................................................... 2

3 MRTG ..................................................................................................................................... 4

4 Preparació de l'entorn de treball .......................................................................................... 5

5 Instal·lació dels paquets ........................................................................................................ 6

5.1 Ubuntu Desktop (servidor NMS i agent SNMP) ............................................................ 6

6 Configuració de la monitorització ......................................................................................... 7

6.1 Preparar el servidor SNMP (NMS) ................................................................................. 7

6.2 Monitoritzar el servidor NMS ........................................................................................ 8

6.2.1 Modificar arxius de configuració del daemon SNMPD ......................................... 8

6.2.2 Modificar arxiu /etc/mrtg/localhost.cfg................................................................ 9

7 Comprovació de funcionament ........................................................................................... 10

7.1 Memòria RAM ............................................................................................................. 10

7.2 Consum de CPU ........................................................................................................... 10

7.3 Memòria SWAP ........................................................................................................... 10

8 Comprovació extra: estressar la CPU .................................................................................. 11

Page 3: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

1

Monitorització de recursos amb SNMP i MRTG

1 Introducció i objectiu de la pràctica

Aquest document és un informe que resumeix les tasques dutes a terme en el progrés de

l'Activitat 1 de la UF3, del mòdul professional Serveis de Xarxa, que forma part del CFGS

d'ASIX.

Per a dur a terme la pràctica, necessitem 1 màquina virtual Ubuntu Desktop.

L'objectiu de la pràctica és la realització de la monitorització a nivell de hardware i de serveis

d’un host mitjançant el protocol SNMP (Administració de xarxa) i l’eina MRTG (Monitorització

de paràmetres de xarxa i creació de gràfiques) des de un servidor (anomenat NMS) prèviament

configurat per a tal fi.

A aquesta practica s’utilitzarà SNMPv1 i SNMPv2, degut a la seva àmplia compatibilitat,

rapidesa d’implantació i no necessitat de un rigorós sistema de seguretat per a l’entorn

d'on es vol dur a terme la seva implementació.

Page 4: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

2

2 SNMP

SNMP és un protocol de la capa d’aplicació que facilita el intercanvi d’informació

d’administració entre dispositius de xarxa. És part de la família de protocols TCP/IP. SNMP

permet als administradors supervisar el funcionament de la xarxa, buscar i resoldre els

problemes i plantejar el seu creixement.

Les versions de SNMP més utilitzades son SNMP versió 1 (SNMPv1) i SNMP versió 2 (SNMPv2).

SNMP en la seva última versió utilitza (SNMPv3) i te canvis molt significatius amb relació a les

versions anteriors, sobretot en aspectes de seguretat, encara que majoritàriament no ha sigut

acceptat a la indústria.

El port utilitzat per SNMP és: 161.

2.1 Components bàsics

Una xarxa administrada a través de SNMP consisteix en tres components claus:

Dispositius administradors

Agents

Sistemes administradors de xarxa (Network Management Systems o NMS’s)

Un dispositiu administrat es un node de la xarxa que conté un agent SNMP i resideix en una

xarxa administrada. Aquests recullen i emmagatzemen informació d’administració, la qual es

posa a disposició dels NMS’s utilitzant SNMP. Els dispositius administradors, a vegades

anomenats elements de xarxa poden ser routers, servidors d’accés, switches, bridges, hubs,

ordinadors o impressores.

Un agent és un mòdul de software d’administració de xarxa que resideix en un dispositiu

administrat. Un agent disposa d’un coneixement local d’informació d’administració (memòria

lliure, número de paquets IP, rebuts, rutes, etc.). La qual és traduïda a un format compatible

amb SNMP i organitzada en jerarquies.

Un sistema administrador de xarxa (NMS) executa aplicacions que supervisen i controlen als

dispositius administradors. Els NMS’s proporcionen el volum de recursos de processament i

memòria requerits per l’administració de la xarxa. Un o més NMS’s han d’existir en qualsevol

xarxa administrada.

2.2 OID i MIB

MIB és sinònim de la Base d'Informació de Gestió i és una col·lecció d'informació organitzada

jeràrquicament. S'accedeix a elles utilitzant un protocol com el SNMP. Hi ha dos tipus de MIB:

escalars i de taula. Objectes escalars defineixen una simple instància d'objecte i els objectes

tabulars defineixen múltiples instàncies d'objectes relacionats, agrupats en taules MIB.

Page 5: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

3

OID o identificadors d'objecte identificar de forma única els objectes manejades en una

jerarquia MIB. Això pot ser representat com un arbre, els nivells dels quals són assignats per

diferents organitzacions. Nivell superior MIB ID d'objecte (OID) que pertanyen a diferents

organitzacions de normalització. Els venedors defineixen les branques privades, incloent els

objectes gestionats per als seus propis productes.

Exemples:

Això es una estructura simple de un OID

Iso(1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps

(2)­.-cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3

o

1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3

Aquests números són els que s'utilitzen en PRTG en configurar els sensors d'encàrrec, per tal

d'accedir als elements apropiats del dispositiu que es vol vigilar. OID general són proporcionats

pels fabricants de maquinari o bé pot trobar-se als anomenats dipòsits d'OID, on les

col·leccions d'arbres MIB i el OID respectius es pot accedir. PRTG llegeix aquests OID i els

nomena el dispositiu pertinent, respectivament, el seguiment del dispositiu i el seu OID

específic.

Page 6: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

4

3 MRTG

MRTG (Multi Router Traffic Grapher) és una eina, escrita en C i Perl per Tobias Oetiker i Dave

Rand, que s'utilitza per supervisar la càrrega de tràfic de interfícies de xarxa. MRTG genera un

informe en format HTML amb gràfiques que proveeixen una representació visual de l'evolució

del trànsit al llarg del temps.

Per recollir la informació del trànsit del dispositiu (habitualment routers) l'eina utilitza el

protocol SNMP (Simple Network Management Protocol). Aquest protocol proporciona la

informació en cru de la quantitat de bytes que han passat per ells distingint entre entrada i

sortida. Aquesta quantitat bruta haurà de ser tractada adequadament per a la generació

d'informes

També permet executar qualsevol tipus d'aplicació en lloc de consultar un dispositiu SNMP.

Aquesta aplicació proporciona com a sortida dos valors numèrics que es corresponen a

l'entrada i sortida. Habitualment solen utilitzar scripts que monitoritzen la màquina local.

Així mateix, proporciona una aplicació cfgmaker que genera la configuració per un router de

forma automàtica utilitzant la meta informació que proporciona SNMP

MRTG s'executa com un dimoni o invocat des de les tasques programades del cron. Per

defecte, cada cinc minuts recull la informació dels dispositius i executa els scripts que se li

indiquen en la configuració.

En un primer moment, MRTG consultava la informació, la processava i generava l'informe i les

gràfiques. En les últimes versions, aquesta informació és emmagatzemada en una base de

dades gestionada per RRDtool a partir de la qual, i de forma separada, es generen els informes

i les gràfiques.

Causa de les seves característiques, aquesta eina ha estat utilitzada de forma extensiva i

adaptada per tractar informació que no s'adequa a les mesures entrada / sortida com proxys,

processos...

Per això l'autor de l'eina va decidir crear una segona eina RRDtool més flexible que permet

emmagatzemar qualsevol tipus de dades. En les últimes versions, MRTG utilitza RRDtool

quedant restringida la seva funcionalitat a accedir als dispositius configurats per alimentar el

RRDtool. La gestió de les dades i la generació de les gràfiques es realitzen mitjançant RRDtool.

Page 7: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

5

4 Preparació de l'entorn de treball

L’entorn de treball es realitzarà sota virtualització.

Es configurarà una màquina virtual:

Ubuntu Desktop, que farà de servidor SNMP (NMS) i utilitzarà l’eina MRTG per a crear

gràfiques de la monitorització del hardware i serveis seleccionats del client(s). També

s'hi instal·larà el daemon SNMPD per a monitoritzar la màquina local.

A nivell de configuració de xarxa es configurarà en NAT, per poder tenir accés a Internet per a

baixar els corresponents paquets dels repositoris per la instal·lació de SNMP i MRTG.

Page 8: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

6

5 Instal·lació dels paquets

En aquest punt es procedirà a la instal·lació de diversos paquets per segons quina funció

vulguem executar.

5.1 Ubuntu Desktop (servidor NMS i agent SNMP)

Recordar que el servidor de SNMP el muntarem en un Ubuntu Desktop, i que també s'hi haurà

d'instal·lar el daemon SNMPD per tal de que el servidor es pugui monitoritzar a ell mateix. A

part, també caldrà instal·lar un servidor web (Apache) i MRTG, que serà l'eina que muntarà les

gràfiques dels resultats obtinguts per SNMP i que juntament amb Apache ho mostrarà per

interfície web.

Page 9: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

7

6 Configuració de la monitorització

6.1 Preparar el servidor SNMP (NMS)

Per a que se'ns mostrin els paràmetres monitoritzats per snmp amb mrtg, s'haurà de crear un

arxiu *.cfg per la màquina a monitoritzar, i crear l'arxiu *.html corresponent.

Abans de continuar, cal iniciar sessió d'usuari root. Els passos a seguir, són:

1. Crear la carpeta d'Apache que contindrà l'arxiu *.html:

mkdir -p /var/www/mrtg

2. Crear la carpeta que contindrà l'arxiu *.cfg de mrtg:

mkdir /etc/mrtg

3. Crear l'arxiu *.cfg pel host a monitoritzar:

cfgmaker --output /etc/mrtg/localhost.cfg [email protected]

4. Donar permisos de lectura, escriptura i execució per a tothom a l'arxiu *.cfg:

chmod ugo+rwx /etc/mrtg/localhost.cfg

5. Crear l'arxiu *.html per a visualitzar les estadístiques del host:

indexmaker --output=/var/www/mrtg/localhost.html

/etc/mrtg/localhost.cfg

6. Iniciar el daemon MRTG:

env LANG=C /usr/bin/mrtg /etc/mrtg/localhost.cfg

Fets aquests passos, s'ha d'obrir el navegador web i comprovar que l'arxiu *.html ha estat

creats correctament. Escriviu localhost/mrtg/localhost.html.

(En un principi, només es veurà reflectit l'anàlisi del tràfic de xarxa, més endavant

especificarem altres paràmetres)

Page 10: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

8

Si es fa clic sobre la imatge en la interfície web, podreu veure la mateixa gràfica però

desglossada en diferents períodes de temps (diari, setmanal, mensual, anual...).

Seguidament, per a obligar que les estadístiques es renovin cada 5 minuts, haurem d'incloure

dos registres en la taula crontab. En el terminal s'ha d'escriure crontab -e, i s'obrirà un arxiu

que s'ha de modificar de la següent manera:

En els pròxims punts es detallarà com modificar l'arxiu *.cfg per tal de monitoritzar altres

paràmetres com el consum de CPU, la memòria RAM...

(Remarcar que després de cada modificació de l'arxiu *.cfg caldrà tornar a fer servir el

comandament del indexmaker)

6.2 Monitoritzar el servidor NMS

En aquest punt, s'explicarà com preparar al servidor SNMP per a que es monitoritzi a ell

mateix.

6.2.1 Modificar arxius de configuració del daemon SNMPD

Abans de realitzar modificacions fer backup dels arxius i modificar-los després:

1. Editar l'arxiu /etc/default/snmpd

- Eliminar "127.0.0.1"

2. Editar l'arxiu /etc/snmp/snmpd.conf

3. Reiniciar l'agent amb el comandament /etc/init.d/snmpd restart.

Page 11: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

9

6.2.2 Modificar arxiu /etc/mrtg/localhost.cfg

Els paràmetres que es vol monitoritzar del servidor SNMP són el consum de CPU, la memòria

RAM i la memòria SWAP. S'ha de modificar l'arxiu /etc/mrtg/localhost.cfg afegint al final de

l'arxiu les següents línies:

############ Consumo de CPU:

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt

Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@local

host + ssCpuRawNice.0&ssCpuRawNice.0:public@localhost

MaxBytes[localhost.cpu]: 100

Title[localhost.cpu]: CPU Load

PageTop[localhost.cpu]: <h1>Carga de CPU %</h1>

Unscaled[localhost.cpu]: ymwd

ShortLegend[localhost.cpu]: %

YLegend[localhost.cpu]: Uso de CPU

Legend1[localhost.cpu]: CPU Activa en % (Carga)

LegendI[localhost.cpu]: Active

Options[localhost.cpu]: growright,nopercent

############ Memoria RAM:

LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt

Target[localhost.mem]:

.1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0:public@localhost

PageTop[localhost.mem]: <h1>Memoria RAM</h1>

Options[localhost.mem]: nopercent,growright,gauge,noinfo

Title[localhost.mem]: Memoria Libre

MaxBytes[localhost.mem]: 1000000

kMG[localhost.mem]: k,M,G,T,P,X

YLegend[localhost.mem]: bytes

ShortLegend[localhost.mem]: bytes

LegendI[localhost.mem]: Free Memory:

Legend1[localhost.mem]: Free memory, not including swap, in

bytes

############ Memoria SWAP:

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt

Target[localhost.swap]:

memAvailSwap.0&memAvailSwap.0:public@localhost

PageTop[localhost.swap]: <h1>Memoria Swap</h1>

Options[localhost.swap]: nopercent,growright,gauge,noinfo

Title[localhost.swap]: Memoria Libre

MaxBytes[localhost.swap]: 1000000

kMG[localhost.swap]: k,M,G,T,P,X

YLegend[localhost.swap]: bytes

ShortLegend[localhost.swap]: bytes

LegendI[localhost.swap]: Memoria Libre:

Legend1[localhost.swap]: Swap memory avail, in bytes

Page 12: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

10

7 Comprovació de funcionament

7.1 Memòria RAM

7.2 Consum de CPU

7.3 Memòria SWAP

Page 13: Proyecto: Monitorización de red con SNMP y MRTG

Caravaca - Romeu ASIX2M SERXAR

11

8 Comprovació extra: estressar la CPU

Per a estressar el Ubuntu Desktop es pot utilitzar gran varietat de software. Per a la realització

d'aquesta comprovació s'ha utilitzat el software cpuburn disponible en els repositoris oficials.

Un cop instal·lat el paquet amb el comandament sudo apt-get install cpuburn, per a executar-

lo en el terminal s'ha d'escriure burnMX. Si es va el Monitor de Sistema, es pot veure com el

consum de CPU ha pujat:

Al cap d'una estona, a la interfície web de MRTG es podrà comprovar que l'augment de l'ús de

CPU es veu reflectit: