Páginas vistas en total

martes, 16 de diciembre de 2008

MRTG.


MRTG.

MRTG (Multi Router Traffic Grapher) es una herramienta, escrita en C y Peld, que se utiliza para supervisar la carga de tráfico de interfaces de red. MRTG genera un informe en formato HTML con gráficas que proveen una representación visual de la evolución deltráfico a lo largo del tiempo.
Para recolectar la información del tráfico del dispositivo (habitualmente routers) la herramienta utiliza el protocolo SNMP (Simple Network Management Protocol). Este protocolo proporciona la información en crudo de la cantidad de bytes que han pasado por ellos distinguiendo entre entrada y salida. Esta cantidad bruta deberá ser tratada adecuadamente para la generación de informes
También permite ejecutar cualquier tipo de aplicación en lugar de consultar un dispositivo SNMP. Esta aplicación proporciona como salida dos valores numéricos que se corresponden a la entrada y salida. Habitualmente suelen utilizarse scripts que monitorizan la máquina local.
Asimismo, proporciona una aplicación cfgmaker que genera la configuración para un router de forma automática utilizando la meta información que proporciona SNMP.


CONFIGURACION E INSTALACION DE MRTG.


Primero que todo para la instalación de MRTG necesitaremos instalar el SNMP tanto como servidor y también como cliente, este permite el acceso a través del protocolo SNMP a la interfaz de red nos da estadísticas y otros datos.
También necesitaremos necesitaremos el MRTG (Multi Router Traffic Grapher). El cual es un script que analiza el servidor SNMP y al mismo tiempo acumula información del uso de la red.
Para ver los gráficos necesitaremos tener instalado apache en nuestro caso usaremos apache2.


INSTALACION:

Instalamos los paquetes necesarios que son:

apt-get install snmp snmpd mrtg


CONFIGURACION DE SNMPD.

Ahora pasamos a configurar el smnpd su archivo de configuración se encuentra en la ruta /etc/snmp/snmpd.conf , entramos a el:
nano /etc/snmp/snmpd.conf
solo tenemos que hacer unos pequeños cambios, este fragmento de nuestro archivo de configuración aparece de la siguiente forma:

# sec.name source community
com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private


Comentamos la primera linea de este fragmento y des comentamos la segunda para que nuestro archivo final quede así:

# sec.name source community
#com2sec paranoid default public
com2sec readonly default public
#com2sec readwrite default private

Guardamos y salimos Ctrl+x y la opción S.

Ahora lo que haremos es hacer que nuestro servidor coja los cambios para esto lo tenemos que reiniciar con el siguiente comando.

/etc/init.d/snmpd restart

para evitar problemas asegúrese de no tener activado ningún firewall SNMP que se relacione con los puertos por que si esta activo puede que no reciba visitantes no deseados para esta información la podemos ver con netstat y en /etc/services para ver la información del puerto.
Ahora comprobamos que nuestra configuración esta bien y tenemos acceso con este comando:

SNMPv2-MIB::sysDescr.0 = STRING: Linux carloz-laptop 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (970632) 2:41:46.32
SNMPv2-MIB::sysContact.0 = STRING: Root (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysName.0 = STRING: carloz-laptop
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (5) 0:00:00.05
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (5) 0:00:00.05


Todas estas son lineas de información sobre nuestro sistema.


CONFIGURACION DE MRTG.

Lo primero que debemos hacer es agregar automáticamente el fichero de configuración de MRTG con este comando:

cfgmaker --global 'WorkDir: /var/www/mrtg' --output /etc/mrtg.cfg public@127.0.0.1

Este genera nuestro archivo de configuración.

Ahora tendremos que crear un archivo de índices que contenga una lista de todas nuestras interfaces esto lo haremos con el siguiente comando:

indexmaker /etc/mrtg.cfg --columns=1 \
--output /var/www/mrtg/index.html


Ejecutamos 3 beses el comando anterior para crear los archivos de bases de datos si tenemos errores después de esto nos aparecen los solucionamos y continuamos.



ACTUALIZACION:


Esto se ejecuta cada 5 minutos para no tener que hacerlo manualmente ejecutamos lo siguiente:

crontab -e

Y agregamos lo siguiente:

# m h dom mon dow command
*/5 * * * * touch /tmp/mrtg


Con esta linea le queremos decir que actualice la información cada 5 minutos.
Guardamos y salimos Ctrl+x y la opción S.

Ahora pasaremos a editar el archivo de configuración de mrtg que creamos anteriormente se encuentra en /etc/mrtg.cfg
solo nos queda agregar la configuración del equipo que deseamos monitorizar.
Estas son algunas de las configuraciones para gráficos:


CONSUMO DE LA CPU:

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@localhost + ssCpuRawSystem.0&
ssCpuRawSystem.0:public@localhost + ssCpuRawNice.0&ssCpuRawNice.0:public@localhost
RouterUptime[localhost.cpu]: public@localhost
MaxBytes[localhost.cpu]: 100
Title[localhost.cpu]: CPU Load
PageTop[localhost.cpu]:

Carga de CPU %


Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: Uso de CPU
Legend1[localhost.cpu]: CPU Activa en % (Carga)
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]: Active
LegendO[localhost.cpu]:
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]: Memoria RAM
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:
LegendO[localhost.mem]:
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]:

Memoria Swap


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:
LegendO[localhost.swap]:
Legend1[localhost.swap]: Swap memory avail, in bytes
Una ves tengamos los gráficos generamos un directorio web para mrtg con el siguiente comando:
indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg
Este seria el ultimo paso ya con esto entramos a la web
http://localhost/mrtg/ y veremos las graficas.




No hay comentarios: