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
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 🙂
EL sntp el Simple Network Time Protocol? 😕
La verdad es que está chulo chulo, si 🙂
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!!!!
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...
¿Qué hora es? No lo se, espera que consulto el /var/log/messages!!!!
Entiendo XDDDDDD
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á
Con la mano? en braille???
Ataques de dilexia!!! Creemos una regla en el snort para detectarlos!!!
si, junto con los arrays multidimensionales en bash, las utilidades del año, seguro que sales en la portada de la revista wired!!!
El trigger mutante irá por ti...
... Pero es que nadie va a poner algo del MRTG ???
😀
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...
cielos... que cruz ...
XDD
hahhaha como se llamaba esa utilidad... ¿tleds?así tienes mas 'lucecicas pa mirá'
Ya puestos a poner lucecitas, mejor te pones unos cuantos adornos de navidad por usb!!! (además, seguro que ahora estan de oferta XD)
Y cuando creo que yano se puede mejorar, vas y zas!!! nos aterrizas con unos adornos de Navidad XDD
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!
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.
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