viernes, 23 de julio de 2010

Monitoreo de redes con bandwidthd sobre CentOS

Bien, pues una vez adentrado en el mundo de las redes, me corresponde ser responsable por el área de redes de la empresa donde laboro. 
Una parte que no me gustó cuando recibí el cargo sobre este departamento es que la documentación sobre la red es escasa, sólo me fue entregado un diagrama a bloques de quienes estaban conectados a un segmento de la red, sin configuraciones de los Routers, Switches, ni mucho menos se tiene un control de ancho de banda y del tráfico.

Por una parte ya me he dado a la tarea de documentar la mayoría de los aspectos que considero relevantes (también trato de hacerlo como especifica Cisco). En lo que respecta al control del ancho de banda, ya he podido reconfigurar los equipos pero aún me falta establecer la línea de base (baseline). Definiendo como línea de base, al conjunto de características que reunimos sobre la red y que nos proveen una perspectiva de su "personalidad", es decir, así sabremos cómo se aprovechan los recursos de red y en qué tiempos son mayormente demandados.
A recomendación de mi último instructor de Cisco, los puntos fuertes que se requieren monitorear para obtener la información son:
  • Latencia de Ping.
  • Carga de Memoria.
  • Carga del CPU
  • Cantidad de tráfico que atravieza por la interface (FastEthernet, Serial, GigabitEthernet, etc)
  •  Monitoreo por protocolo (TCP/UDP).
  • Una vez que se tiene el monitoreo por protocolo y que se ha descubierto el que genera mayor tráfico, entonces procedemos a monitorear por puertos (es obvio que hay algunos puertos que son mayormente usados para tráfico TCP y otros para tráfico UDP).
 Yo por lo pronto lo implementé sobre Centreon, un front-end web que utiliza como back-end Nagios, pero adicionalmente incorpora algunas herramientas como RRDtool y scripts. En mi caso utilicé Centreon para que trabaje en base a SNMP (Simple Network Management Protocol) y el uso de OID's, pero se puede hacer de muchas maneras; pero existe un pequeño problema con Centreon, el monitoreo de tráfico TCP/UDP lo hace por puerto, y primeramente requiero tener un panorama general del tráfico que atravieza la red, para ello me auxiliaré de la herramienta llamada Bandwidthd, descargable desde aquí.

Procediendo a la configuración, mencionaré que lo voy a hacer sobre CentOS release 5.4 (Final).

  1. Resolver todas las dependencias para compilar desde los archivos fuentes:
    • gcc (yum install gcc, solicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • libpng-devel (yum install libpng-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • gd-devel  (yum install gd-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • libpcap-devel  (yum install libpcap-develsolicitará confirmación para descargar las dependencias, así que contestamos: yes)
    • make
  1. Descargamos el programa Bandwidht
  2. Lo copiamos a la carpeta /usr/src, sólo por buenas prácticas y por mantener el control de programas instalados en linux a partir de los fuentes.
  3. Descomprimimos el archivo con: tar xvzf bandwidthd-2.0.1.tgz
  4. Ingresamos a la carpeta bandwidthd-2.0.1
  5. Ejecutamos ./configure
  6. Si todo ha ido bien en el paso anterior, entonces no debería mostrar errores, ejecutamos make && make install 
  7. Con la ejecución anterior, ya tenemos instalado bandwidthd en nuestro linux. En mi caso, la instalación de los binarios quedó bajo el directorio /usr/local/bandwidthd y los archivos web están en /usr/local/bandwidthd/htdocs.
  8. Yo ya tengo corriendo el servicio de apache, y el directorio de los archivos web es /var/www/html con lo cual solo debo de hacer un enlace simbolico para poder acceder desde mi navegador. El enlace lo hice con ejecutar la instruccion ln -s /usr/local/bandwidhtd/htdocs /var/www/html/bandwidht.
  9. Ahora ya podemos ir al navegador e introducir http://localhost/bandwidhtd para poder visualizar las gráficas.
 NOTA: Ahora sólo faltará hacer unos ajustes a las configuraciones del archivo bandwidht.conf el cual en mi caso está localizado en la ruta /usr/local/bandwidhtd/etc/bandwidht.conf

En lo personal creo que Centreon puede ser usado a la par con bandwidhtd ya que la información que ésta provee es de manera genérica sobre el tráfico, asimismo nos proporciona una vista muy general sobre la red.

NOTA: Para quienes leyeron que sé usar Centreon y requieren documentación, déjenme decirles que la información SÓLO ESTÁ EN FRANCÉS, más tarde la publicaré porque debo traducir todo el manual al español y eso va a llevar tiempo. Como consejo les puedo decir que user el traductor de google para hacer búsquedas en francés, así como para traducir las páginas, yo ya lo probé y es bastante bueno, aunque no es perfecto (ojo, también puedo leer en francés).

No hay comentarios:

Publicar un comentario