eth-day.png Una forma de tener idea de que tráfico y que carga está soportando tu servidor es mediante una aplicación que hace dibujitos de cada cosa que olisquea (y que le digas, claro).

MRTG, son las siglas de Multirouter Traffic Grapher. Fundamentalmente es una aplicación que permite sacar estadisticas de todo tipo.

Algunas estadisticas que te deja hacer el soft:

  • Control del tráfico de un router adsl.
  • Control del tráfico enviado/recibido de las tarjetas de red
  • Control del uso de la CPU
  • Medidor del uso de la RAM
  • Control del trafico del servidor web Apache.

Una maravilla… :)

Para instalar la aplicación:

# aptitude install mrtg mrtgutils mrtg-contrib

Siendo:

mrtg
Programa mrtg
mrtgutils
Utilidades mrtg
mrtg-contrib
Utilidades mrtg


1. Configurar el acceso al router.

Hay una utilidad que configura llamada: cfgmaker, ésta configura solo mrtg para obtener las estadísticas del router.

#cfgmaker
–global `WorkDir: /var/www/mrtg` –global `Options[_]: bits,growright` –output /etc/mrtg/mrtg.cfg comunidad_del_router@ip_del_router

Siendo:

workdir: Donde se guardan los resultados.

output: Donde esta el fichero cfg (fichero de configuración).

2. Configurar la carga de la cpu

Hay una utilidad llamada mrtg-load que devuelve el uso de la cpu.

Lo primero: probar que funciona poniendo desde consola: mrtg-load

Veamos que debemos añadir al fichero /etc/mrtg.cfg

# CPU load %
Target[cpu]:`/usr/bin/mrtg-load -m 100`
Title[cpu]: Carga de CPU
PageTop[cpu]: <H1>CPU Carga %</H1>
<TABLE>
<TR><TD>System:</TD> <TD>solusan.com</TD></TR>
<TR><TD>Maintainer:</TD> <TD>Solusan</TD></TR>
<TR><TD>Description:</TD><TD>Carga del procesador (%) </TD></TR>
<TR><TD>Email:</TD> <TD>solusan(una a con un circulito)solusan.com</TD></TR>
</TABLE>
MaxBytes[cpu]: 100
Unscaled[cpu]: ymwd
ShortLegend[cpu]: %
XSize[cpu]: 380
YSize[cpu]: 100
YLegend[cpu]: Carga(%)
Legend1[cpu]:
Legend2[cpu]: Utilización de la CPU en % (Carga)
Legend3[cpu]: Tiempo de funcionamiento (uptime)
Legend4[cpu]: Nombre de lo que estamos monitorizando
LegendI[cpu]:
LegendO[cpu]: Carga(%);
Options[cpu]: gauge
Background[cpu]: #bbbbbb
Colours[cpu]: GREEN#00eb0c,BLUE#1000ff,DARK GREEN#006600,VIOLET#ff00ff

Siendo:
Target[cpu]:`/usr/bin/mrtg-load -m 100`
La instrucción que pide porcentajes de uso de la cpu.
Options[cpu]: gauge
Lo que calcula las cantidades sin acumular

3. Midiendo el tráfico SNMP

# aptitude install snmpd

Ahora editamos el fichero de configuración de snmpd:

# vim /etc/snmp/snmpd.conf

Comentamos con # la cadena que acontinuación detallo:

com2sec paranoid default public

Y dejamos descomentada (si lo estubiera), la entrada:

com2sec readonly default public

Esto da acceso al todo el mundo al SNMP server en modo de sólo lectura. También es el que contiene las estadísticas de las tarjetas de red.

Aplicamos cambios y reiniciamos el servicio snmpd:

# /etc/init.d/snmpd restart

Generaremos el fichero de configuración con:

# cfgmaker –global ‘WorkDir: /var/www/mrtg’ –output /etc/mrtg.cfg public@127.0.0.1

Y la página que consultaremos con el navegador con:

# indexmaker /etc/mrtg.cfg –columns=1 –output=/var/www/mrtg/index.html

Este punto es importante, ya que si agregáramos otro módulo de estadísticas en /etc/mrtg.cfg, hasta que no volvamos a generar el archivo índice, no nos saldrá la gráfica generada en el index.html.

Finalmente deberemos ejecutar la aplicación mrtg tres veces consecutivas a mano (si, es un poco rarito).

# mrtg

Puede que os salga un error como este:

-----------------------------------------------------------------------
ERROR: Mrtg will most likely not work properly when the environment
variable LANG is set to UTF-8. Please run mrtg in an environment
where this is not the case. Try the following command to start:

env LANG=C /usr/bin/mrtg
-----------------------------------------------------------------------

En cuyo caso con ejecutar lo que nos dice la alerta ya lo tenemos:

# env LANG=C /usr/bin/mrtg

Para que que tengamos el resultado de las estadisticas le añadimos una tarea cron:

Para que cada 5 minutos se llama al mrtg, añadir esta linea al crontab

# crontab -e

0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg.cfg

Y reiniciamos cron:

# /etc/init.d/cron restart

Adjunto un fichero mrtg.cfg de ejemplo.

Gracias Carlos, Fran.

Fuentes:

http://linux.aldarias.es/mrtg.html

http://www.debian-administration.org/articles/366

  • Facebook
  • Twitter
  • Google Buzz
  • E-Mail
  • Google Bookmarks
  • Google Reader
  • Delicious
  • Digg

20 Comments

  1. Jordi says:

    y si te lo curras, incluso puedes hacer que tu servidor sntpd contemple el numero de usuarios en el sistema, o de un ftp etc… lo que te plazca :)

  2. Solusan says:

    EL sntp el Simple Network Time Protocol? :?

    La verdad es que está chulo chulo, si :)

  3. The Litle green dwarf (-t) says:

    Marietas… mira que necesitar gráficas para controlar el estado del sistema!!! os tendría que dar verguenza… A leer los logs directamente. Y si alguien os pide información, que lo mire en el /proc y que se las apañe!!!!

  4. The Litle green dwarf (-t) says:

    SNMP (Simple Network Management Protocol),SNTP (Simple Network Time Protocol), creo que teneis una pequeña confusión.

    No niego que se pueda consultar que hora es através de los logs del sistema (yo he sabido que era de día y que llevaba tres días sin salir de casa mediante ese sistema), pero no es lo habitual…

  5. The Litle green dwarf (-t) says:

    ¿Qué hora es? No lo se, espera que consulto el /var/log/messages!!!!

  6. Solusan says:

    Entiendo XDDDDDD

  7. Jordi says:

    se me lenguó el teclado, si, siempre tengo ataques de dislexia entre SMTP y SNMP :)

    Conozco un tal gura que lee logs a mano, y… bueno, fino no está

  8. The Litle green dwarf (-t) says:

    Ataques de dilexia!!! Creemos una regla en el snort para detectarlos!!!

  9. Jordi says:

    si, junto con los arrays multidimensionales en bash, las utilidades del año, seguro que sales en la portada de la revista wired!!!

  10. the litle green dwarf(-t) says:

    El trigger mutante irá por ti…

  11. Solusan says:

    … Pero es que nadie va a poner algo del MRTG ???

    :D

  12. the litle green dwarf (-t) says:

    Solusan Dice

    … Pero es que nadie va a poner algo del MRTG ???

    The litle green dwarf (-t)

    … pa que? si tu miras el led de la conexión de red y te haces una idea de si hay tráfico…

  13. Solusan says:

    cielos… que cruz …

    XDD

  14. Jordi says:

    hahhaha como se llamaba esa utilidad… ¿tleds?así tienes mas ‘lucecicas pa mirá’

  15. The Litle green dwarf (-t) says:

    Ya puestos a poner lucecitas, mejor te pones unos cuantos adornos de navidad por usb!!! (además, seguro que ahora estan de oferta XD)

  16. Solusan says:

    Y cuando creo que yano se puede mejorar, vas y zas!!! nos aterrizas con unos adornos de Navidad XDD

  17. Fernando Sierra says:

    esta aplicacion es genial. la tengo implementada en un servidor windows 2003 server. ahora lo que necesito es medir la subida y la bajada de un ftp en ese servidor y los detalles de CADA sitio web que hay alojados en ese servidor.. alguien tiene una idea de como se hace? aunq sea en linux!. gracias!

  18. The Lit-tle green dwarf says:

    Pues ahora no me imagino ninguna solución “trivial” a la vista..

    Una alternativa para el control del FTP y otros procesos es mediante un firewall y reglas de control en el puerto, un script recoge los datos y genera los contadores para el MRTG. También puedes probar de sacar la información para los contadores de los mismos Logs del FTP, lo que te implicará cocinarte algún script artesanal que otro…

    Otra posibilidad que puedes probar es crear varios alias del interfaz de red e intentar separar el tráfico de cada proceso por un interfaz diferente y monitorizar directamente el interfaz.

    Para las WEBs, los habituales generadores de estadísticas que ya suelen controlar el consumo…

    Y si alguien te pide más estadísticas les das la drección del Instituto colorines varios en las presentaciones … Nacional de Estadísticas, donde seguro que estarán encantados de darle toda clase de estadísticas de lo más últiles para poder poner en recuadros dentro de vistosas y alegres presentaciones de PowerPoint que llenarán divertidas reuniones de departamento…

    Suerte en tu cometido.

  19. kro says:

    Necesito una ayuda…estoy instalando MRTG en Debian con Apache2 y PHP5.
    Al instalar el MRTG y SNMPD debiria crearse segun los tutoriales que he leido dentro de la carpeta /var/www/ una carpeta mrtg.
    Pues dicha carpeta no se creo.Alguien podria ayudarme diciendome que pudo haber sucedido

Leave a Reply