domingo, 4 de mayo de 2008

viernes, 25 de abril de 2008



INTRODUCCION

Con esta presentación se quiere dar a entender los conceptos generales
y específicos sobre MRTG, sus protocolos, y servicios que ofrece esta
herramienta escrita en c y Perl por Tobias Oetiker y Dave Rand, que se
utiliza para supervisar la carga de trafico de interfaces de red.


OBJETIVO DEL SERVICIO

Con este proyecto quiero plantear unos conocimientos claros sobre lo que es el MRTG, que en primera parte se conceptualizaria todo es desarrollo y ejecucion de este servicio, el cual fomentaria un camino de conceptos nuevos importantes tanto para la vida de ingeniero como en la materia. El objetivo basico y general es plasmar los elementos basicos y de busqueda para asi enterder y enseñar al maximo el servicio, que es MRTG.


OBJETIVOS DEL PROYECTO

Dar a conocer lo que es mrtg con sus herramientas sus procesos y sus aplicaciones, para que al finalizar la expocision atravez de una representacion grafica todos conceptos hallan sido entendidos favorablemente.

Comparar con otros programas de monitoreo y desarrollar una Practica para el máximo entendimiento de la ejecución de este, comparando sus caracteristcas y ventajas que estos puedan presentar y haci saber mas el alcance que estos presentan.

Desarrollar una guia con la cual la aplicacion y desarrollo de este con los conceptos y explicaciones anteriormente dadas, puedan comprender muy bien lo que representa el MRTG, viendo asi sus aplicaciones y lugares en los que se puede ejecutar con gran exito.


JUSTIFICACION

El control de los sistemas y de la seguridad de estos requieren un amplio
Control de todos los aspectos importantes para un buen desempeño
En las tareas laborales que están presenten, por estas razones existe
Software especializado para realizar estas tareas de monitoreo a corto o
a largo plazo.


ALCANCE

MRTG es una aplicación de administración de red que puede monitorear
cualquier host de red remoto que tenga el soporte del protocolo SNMP
activado. MRTG, como una aplicación basada en SNMP, lleva a cabo
peticiones SNMP contra sus hosts objetivos en una base regular.
En un futuro lo podremos ver programas como el mrtg, prtg el conky
Y de mas, en una evolución constante en cuanto a beneficios para el
usuario acreditándole el buen servicio de vigilancia y monitoreo
de las maquinas.



RECURSOS NECESARIOS PARA LA IMPLEMENTACION


1. UNA DISTRIBUCIÓN LINUX PLENAMENTE FUNCIONAL.

2. THE GNU COMPILER COLLECTION:

1 Disponible en los cd o dvd de instalación de la distribución Linux a utilizar o en Internet en la Pagina Web: http://gcc.gnu.org/
1 En una versión igual o superior a la: 3.0.0.

3. EL LENGUAJE PERL:

*Disponible en los cd o dvd de instalación de la distribución Linux a utilizar o en Internet en la Pagina Web: http://www.perl.com/download.csp
* En una versión igual o superior a la 5.005.

MRTG: 􀂃 Disponible en los cd o dvd de instalación de la distribución Linux a utilizar o en Internet en la Pagina Web: http://oss.oetiker.ch/mrtg/pub/?M=D o tambien ubicado en los vinculos anexados.



COMPROBACION DE LOS RECURSOS


gcc -v : THE GNU COMPILER COLLECTION


perl -v : EL LENGUAJE PERL


rpm -q gd- : LIBRERÍA GD


snmpd -v : PROTOCOLO SNMP


mrtg –v : MRTG


Es importante tener en cuenta que por lo general (siempre) en esta comprobacion sale un error de compatibilidad, por lo cual este se presenta en : /etc/sysconfig/i18n, el cual abrimos y cambiamos el :
lang="es_es.utf-8” por
lang="es_es”






MULTI ROUTER TRAFFIC GRAPHER


Originalmente MRTG fue diseñado para adquirir información del ancho de banda relacionada a las interfaces de la red en un host de red. Hoy en día MRTG puede interrogar a un host acerca de identificadores objetos SNMP y construir el gráfico de variación. Más aun, las nuevas versiones de MRTG son capaces de extender más allá las capacidades de SNMP y recoger información numérica desde cualquier host que recoja y guarde este tipo de información.

MRTG es una aplicación de administración de red que puede monitorear
cualquier host de red remoto que tenga el soporte del protocolo SNMP activado.
MRTG, como una aplicación basada en SNMP, lleva a cabo peticiones SNMP
contra sus hosts objetivos en una base regular.


Originalmente MRTG fue diseñado para adquirir información del ancho de banda
relacionada a las interfaces de la red en un host de red. Hoy en día MRTG puede
interrogar a un host acerca de identificadores objetos SNMP y construir el gráfico
de variación. Más aun, las nuevas versiones de MRTG son capaces de extender
más allá las capacidades de SNMP y recoger información numérica desde
cualquier host que recoja y guarde este tipo de información.


MRTG adquiere la información SNMP llevando a cabo las siguientes tareas:

• Interroga el host remoto y obtiene el valor del identificador objeto SNMP
específico.


• Actualiza el gráfico de variación con los nuevos valores y borra el gráfico antiguo.
Los gráficos son imágenes en formato PNG. La nueva variación del gráfico es
guardada en un lugar que puede ser local o remoto en un servidor dedicado a
almacenamiento MRTG.



Almacena el nuevo valor en el archivo de reporte. El archivo de reporte puede
estar localizado en el host local o remotamente en un servidor de almacenamiento
MRTG


MRTG consiste en un script de Perl que utiliza SNMP para leer los
contadores de tráfico de sus enrutadores y de un rápido programa en C que los
registros de los datos de tráfico y crea hermosos gráficos que representan el
tráfico en la conexión de red supervisada. Estos gráficos se insertan en páginas
web que se pueden ver desde cualquier navegador Web-moderna.


Además de un detallado diario de opinión, MRTG crea también representaciones
visuales del tráfico visto durante los últimos siete días, las últimas cinco semanas
y los últimos doce meses.


Esto es posible porque MRTG mantiene un registro de todos
los datos que ha extraído del router. Este registro es consolidado automáticamente
para que no crezca con el tiempo, pero todavía contiene todos los datos pertinentes
para todo el tráfico visto en los dos últimos años. Todo esto es realizado de manera
eficiente. Por lo tanto, usted puede monitorear 200 o más enlaces de red desde
cualquier cuadro de UNIX a mitad de camino decente.


MRTG no está limitado a la vigilancia del tráfico, sin embargo. Es posible monitorear
cualquier variable SNMP que usted elija. Incluso puedes usar un programa externo
para reunir los datos que deben ser controlados a través de MRTG. La gente está
utilizando MRTG, para controlar cosas tales como el sistema de carga, Usuario
sesión, Modem disponibilidad y más. MRTG incluso le permite acumular dos o más
fuentes de datos en un solo gráfico.




COMO CONFIGURAR MRTG

MRTG utiliza SNMP (Simple Network Management Protocol o Protocolo Simple
de administración de red) para recolectar los datos de tráfico de un determinado
dispositivo (dispositivos encaminamiento o servidores), por tanto es requisito
contar con al menos un sistema a supervisar con SNMP funcionando, y con dicho
servicio correctamente configurado.

* Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar
lo siguiente para instalar o actualizar el equipamiento lógico necesario:
yum -y install mrtg Instalación a través de up2date.


* Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para
instalar o actualizar el equipamiento lógico necesario:
up2date -i mrtg



PROCEDIMIENTO


Abrimos una terminal en el cual colocamos:


mkdir /var/www/sistema
mkdir /etc/sistema
Digitar:
/usr/bin/cfgmaker \
--output=/etc/sistema/trafico.conf \
--ifdesc=ip \
--ifref=descr \
--global "WorkDir: /var/www/sistema/" \
--global "Options[_]: bits,growright" \
public@localhost
Para crear archivos y editarlos utilizar las siguientes líneas de comando:
CREAR ARCHIVO
touch NombreArchivo.Extension
EDITAR ARCHIVO
vi NombreArchivo.Extension
Ejemplo: Para crear el archivo cpu.conf digitamos la siguiente línea de comando:
touch cpu.conf
Y luego editamos las siguientes líneas dentro del archivo con la línea de comando:
vi cpu.conf
Una vez ejecutada la línea de comando vi NombreArchivo.Extension es necesario
teclear la letra i para poder insertar texto en dicho archivo, luego de tener toda la
información pertinente en el archivo editado tecleamos esc y a continuación X y Enter para
que guarde los cambios y se devuelva al Terminal.

Crear el archivo /etc/sistema/cpu.conf:


Editar el archivo cpu.conf ingresando el siguiente texto y luego guardar los cambios:


WorkDir: /var/www/sistema
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]: Carga CPU
PageTop[localhost.cpu]:


% Carga Activa CPU


Unscaled[localhost.cpu]: ymwd
ShortLegend[localhost.cpu]: %
YLegend[localhost.cpu]: Utilizacion de CPU
Legend1[localhost.cpu]: % CPU Activa
Legend2[localhost.cpu]:
Legend3[localhost.cpu]:
Legend4[localhost.cpu]:
LegendI[localhost.cpu]: Active
LegendO[localhost.cpu]:
Options[localhost.cpu]: growright,nopercent


Crear el archivo /etc/sistema/memoria.conf:


Editar el archivo memoria.conf ingresando el siguiente texto y luego guardar los cambios:
LoadMIBs: /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Target[localhost.mem]:
.1.3.6.1.4.1.2021.4.11.0&.1.3.6.1.4.1.2021.4.11.0:public@localhost
PageTop[localhost.mem]:


Memoria Libre


WorkDir: /var/www/sistema
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]: Memoria Libre:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Memoria Libre (bytes), no incluye swap


Crear el archivo /etc/sistema/swap.conf:


Editar el archivo swap.conf ingresando el siguiente texto y luego guardar los cambios:
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[localhost.swap]: memAvailSwap.0&memAvailSwap.0:public@localhost
PageTop[localhost.swap]:


Memoria Swap


WorkDir: /var/www/sistema
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]: Memoria Swap disponible (bytes)

AUTOMATIZACIÓN .
Crear el archivo /etc/sistema/trafico.sh con el siguiente contenido:
Editar el archivo trafico.sh ingresando el siguiente texto y luego guardar los cambios:
#!/bin/sh
env LANG=C /usr/bin/mrtg /etc/sistema/trafico.conf


Crear el archivo /etc/sistema/cpu.sh con el siguiente contenido:
Editar el archivo cpu.sh ingresando el siguiente texto y luego guardar los cambios:
#!/bin/sh
env LANG=C /usr/bin/mrtg /etc/sistema/cpu.conf


Crear el archivo /etc/sistema/memoria.sh con el siguiente contenido:
Editar el archivo memoria.sh ingresando el siguiente texto y luego guardar los cambios:
#!/bin/sh
env LANG=C /usr/bin/mrtg /etc/sistema/memoria.conf


Crear el archivo /etc/sistema/swap.sh con el siguiente contenido:
Editar el archivo swap.sh ingresando el siguiente texto y luego guardar los cambios:
#!/bin/sh
env LANG=C /usr/bin/mrtg /etc/sistema/swap.conf


PERMISOS
Para dar los permisos de lectura, escritura y ejecución a los archivos creados
digitamos la siguiente línea de comando:
chmod +x /etc/sistema/*.sh


EJECUTAR CADA UNO DE LOS SCRIPTS SHELL AL MENOS TRES VECES:
sh /etc/sistema/trafico.sh
sh /etc/sistema/cpu.sh
sh /etc/sistema/memoria.sh
sh /etc/sistema/swap.sh

CREAR LA PAGINA DE RESULTADOS:
Para crear la página debemos digitar las siguientes líneas de comando:
/usr/bin/indexmaker --output=/var/www/sistema/index.html \
--title="Parametros del Sistema " \
--sort=name \
--enumerate \
/etc/sistema/trafico.conf \
/etc/sistema/cpu.conf \
/etc/sistema/memoria.conf \
/etc/sistema/swap.conf


EDITAR EL ARCHIVO CRONTAB:
Agregar al archivo /etc/crontab las siguientes líneas:
*/1 * * * * root /etc/sistema/cpu.sh
*/1 * * * * root /etc/sistema/trafico.sh
*/1 * * * * root /etc/sistema/swap.sh
*/1 * * * * root /etc/sistema/memoria.sh


Guardamos los cambios tecleando esc : x y luego enter.
Esto se hace para que los gráficos que se visualizan en la página index.html se actualicen
aproximadamente cada minuto.




Acontinuacion una reconfiguracion rapida, pero con posibilidad de errores:


Accediendo al sistema como el usuario root, se debe generar el directorio de trabajo
de MRTG del siguiente modo:

mkdir -p /var/www/mrtg/miredlocal

Debe respladarse el fichero de configuración
predeterminado, con el fin de poder restaurarlo en el futuro si fuese necesario:

cp /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg-OLD

Para generar el fichero de configuración para supervisar una sola dirección IP,
utilice el siguiente mandato, donde Cl4v3-d3-Acc3s0 es la clave de acceso
definida en la configuración de SNMP del sistema involucrado:


cfgmaker \
--global "workdir: /var/www/mrtg/miredlocal" \
--global "Options[_]: bits,growright" \
--output /etc/mrtg/mrtg.cfg \



Cl4v3-d3-Acc3s0@192.168.1.1

(este ultimo, en su segunda parte, se cambia por la IP de la maquina)



Para generar el fichero de configuración para supervisar varias direcciones IP,
utilice el siguiente mandato, donde Cl4v3-d3-Acc3s0 es la clave de acceso si
esta fue definida así en la configuración de SNMP de todos los sistemas
involucrados:

cfgmaker \
--global "workdir: /var/www/mrtg/miredlocal" \
--global "Options[_]: bits,growright" \
--output /etc/mrtg/mrtg.cfg \
--community=Cl4v3-d3-Acc3s0 \


192.168.1.1 \
192.168.1.2 \
192.168.1.3 \
192.168.1.4




COMO CONFIGURAR EL SNMP.


Acerca de SNMP.
SNMP (Simple Network Management Protocol o Protocolo Simple de administración
de red) es uno protocolos del conjunto definido por la Fuerza de Trabajo en Ingeniería
de Internet (IETF o Internet Engineering Task Force), clasificada en el nivel de
aplicación del modelo TCP/IP, y que está diseñado para facilitar el intercambio de
información entre dispositivos de red y es ampliamente utilizado en la administración
de redes para supervisar el desempeño, la salud y el bienestar de una red, equipo
de computo y otros dispositivos.


La configuracion del protocolo es el siguiente:


Editar el archivo /etc/snmp/snmpd.conf con el siguiente contenido: (copiar y remplazar por el que se encuentra alli.


# First, map the community name "public" into a "security name"
# sec.name source community
com2sec local 127.0.0.1 public
com2sec mired 172.30.0.0/16 public
com2sec misubred 172.30.8.0/24 public
####
# Second, map the security name into a group name:
# groupName securityModel securityName
group RWGroup v1 local
group RWGroup v2c local
group RWGroup usm local
group ROGroup v1 mired
group ROGroup v2c mired
group ROGroup usm mired
group ROGroup v1 misubred
group ROGroup v2c misubred
group ROGroup usm misubred
####
# Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
view all included system


####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
#access notConfigGroup "" any noauth exact systemview none none
access ROGroup "" any noauth exact all none none
access RWGroup "" any noauth exact all all all


Guardar los cambios en el archivo. (dando "guardar")


Abrimos una terminal y digitamos:


service snmpd start
service snmpd status
Si el servicio esta funcionando correctamente debe aparecer:
Se está ejecutando snmpd (pid ####)...(corriendo)


URL: http://tools.ietf.org/html/rfc1157.



NET-SNMP


El equipamiento lógico utilizado en este documento, es un conjunto
de aplicaciones utilizados para implementar SNMP v1, SNMP v2c y SNMP v3
utilizando IPv4 y/o IPv6. El proyecto fue iniciado como un conjunto de
herramientas SNMP por Steve Waldbusser en la CMU (Carnegie Mellon University),
Pittsburgh, Pennsylvania, EE.UU., en 1992. Tras ser abandonado, fue retomado por
Wes Hardaker en la UCDavis (University of California, Davis), renombrado como
UCD-SNMP y mejorado para cubrir las necesidades del Departamento de
Ingeniería Eléctrica de dicha institución. Tras dejar la universidad, Hardaker
continuó el proyecto, cambiando el nombre de éste a Net-SNMP.


URL: http://net-snmp.sourceforge.net/


RESULTADOS GRAFICOS


Ahora ponemos en la en la direccion web, lo siguiente : /var/www/sistema/index.html y asi, saldra una pagina de MRTG el cual nos mostrara graficamente los procesos de nuestro sistema.




PROGRAMAS ALEATORIOS




  • MRTG 2.15.2

  • CONKY conky-1.3.5.tar

  • PRTG Traffic Grapher 6.2.0.907 Setup (Freeware and Trial only)

PRTG (Plataforma Windows)

Monitorea y clasifica el uso del ancho de banda. provee
A los administradores del sistema con lecturas de tendencia en vivo
y de largo plazo de sus dispositivos de Red. Es principalmente utilizado
para monitorear el ancho de banda, pero además se puede monitorear
muchos otros aspectos, como: la utilización de la memoria y CPU.
Los usuarios reciben datos detallados y entendibles referente al uso
Del Ancho de Banda y de Red.



CRONOGRAMA


Semana del 5 - 10


Previa investigación básica sobre el tema de MRTG, que es?, para que es?, como funciona?, y además conceptos que este tema me podría albergar, se hizo una investigación primeramente en archivos y documentos de Internet, mirando la posibilidad de ser adquirido, saber si era software libre o gratis.


Semana del 10 - 12

Desarrollo de la presentación en PowerPoint para realizar la exposición frente a los compañeros de la clase exponiendo el tema elegido , MRTG, Se desarrolla con normalidad, faltan algunos detalles, conceptos, pero que a la medida del tiempo se van corrigiendo y completando, sigo investigando.


Semana del 12 - 17


Averiguo sobre la publicación de la página Web, de los datos o la información relacionada sobre MRTG, complementación y diseño de la pagina. Preparo información sobre el lenguaje a programar, dirigiéndome a la sala de informática de la universidad católica de Colombia para realizar el desarrollo de la configuración del MRTG tanto su protocolo a utilizar que el SNMP, en el Linux actualmente instalado en la sala, el desarrollo de esta parte es normal, ya que se presentaron preguntas alrededor de la configuración el cual el profesor encargado de la materia encamino hacia la solución.



Semana del 17 - 19


Se corrigen errores superficiales de la información y de la presentación, se pulen detalles, y se prepara completamente la exposición que se presentara el día 19 de Abril a las 11 a.m. En el día de la exposición se alarga un poco la presentación anterior, dejando un breve concepto sobre el MRTG el cual se profundizaría a la siguiente clase, el día jueves 34 de Abril.



Semana del 19 - 34


Adelanto y empiezo a implementar la guía en Linux, trabajando en el proceso de configuración, reconfiguración y comprobación del servicio para este ser presentado terminado y poder corregir a tiempo los errores que se hayan podido presentar antes del día de la exposición. El dia de la presentacion llega, expongo el tema en clase, surgen dudas y conceptos a investigar, como en toda exposición y se culmina satisfactoria mente cumpliendo con los requisitos a desarrollar.



CONCLUCIONES.

Pude concluir la gran importancia de estos sistemas de control atravez del almacenamiento de informacion por un rango de tiempo, para muchos elementos de la computacion tanto software como hardware,evitando asi su deterioro o en el peor de los casos la perdida total de estos y a su vez la informacion valiosa que alli se pueda encontrar.

Comprendi mas el manejo del lenguaje requerido para la ejecucion de del MRTG y otros aspectos basicos y importantes, para el desarrollo de mi carrera.


BIBLIOGRAFIA


  • Informatica Aplicada a la gestion de la empresa - Andres Aguayo Maldonado

  • Luis Martines Lopez

  • Huidorobo J.M (1992) , Redes de Comunicaciones

  • Pardo, E ( 1996) Informatica para la getion de datos en red

  • Stair, R.M y Reinolds, G.W ( 2000) - Principios de systemas de informacion, Thompson.

(Tambien he agragado como parte de la bibliografia unos links en la parte derecha de la pagina, aquellas que me ayudaron a implementar mi informacion y en las cuales se encuentra informacion importante.)









Agradesco a todos los colaboradores de este proyecto, a la
colaboracion del profesor Mario Castro, y pido disculpas
si alguna de la informacion aqui citada no es debidamente
referenciada.


GRACIAS.