Instalación y configuración de SmokePing en openSUSE
Para aquellos que no conocen SmokePing, les cuento que es una herramienta web que permite monitorear la disponibilidad de otros dispositivos IP mediante paquetes ping.
Hasta aquí no parece muy especial, pero lo que aún no he mencionado es que también permite conocer la latencia de la red, los paquetes perdidos, el Jitter y demás mediante unos gráficos muy particulares que identifican y le dan el nombre a la herramienta.
Les cuento que los gráficos que genera soy muy interesantes, proveen mucha información de forma clara y exacta. Esto lo logra utilizando la potentísima herramienta para generar gráficos RRDTool, que al igual que MRTG pertenecen al paquete de herramientas de monitoreo open source ofrecidos por OETIKER+PARTNER AG.
Aunque este artículo está más orientado a los pasos de instalación que a la utilización de la herramienta, me gustaría comentar que la misma es capaz de representar gráficamente el Jitter, que en el contexto de redes se refiere específicamente a las variaciones que surgen en los tiempos de respuesta medidos. Smokeping obtiene dicha información a partir del envío masivo de paquetes ICMP (ping) en cada análisis, y que luego la representa gráficamente en escalas de grises alrededor del tiempo medio calculado.
Para aprender más acerca de esta herramienta les recomiendo a todos visitar su sitio oficial y probar su versión demo en línea para comenzar a explorar directamente sus funcionalidades.
La linea central verde de los gráficos es la media de todos los tiempos de respuesta de los paquetes ICMP analizados en un momento dado y el sombreado que se encuentra a su alrededor es la representación gráfica del Jitter generado a partir de los tiempos de respuesta obtenidos.
Siempre las sombras más oscuras estarán alrededor de la línea verde, ya que corresponden a los tiempos de respuesta más cercanos a la media. Por su parte, los tiempos que más distan de la media siempre estarán más alejados de la línea central.
Hasta aquí no parece muy especial, pero lo que aún no he mencionado es que también permite conocer la latencia de la red, los paquetes perdidos, el Jitter y demás mediante unos gráficos muy particulares que identifican y le dan el nombre a la herramienta.
Les cuento que los gráficos que genera soy muy interesantes, proveen mucha información de forma clara y exacta. Esto lo logra utilizando la potentísima herramienta para generar gráficos RRDTool, que al igual que MRTG pertenecen al paquete de herramientas de monitoreo open source ofrecidos por OETIKER+PARTNER AG.
Aunque este artículo está más orientado a los pasos de instalación que a la utilización de la herramienta, me gustaría comentar que la misma es capaz de representar gráficamente el Jitter, que en el contexto de redes se refiere específicamente a las variaciones que surgen en los tiempos de respuesta medidos. Smokeping obtiene dicha información a partir del envío masivo de paquetes ICMP (ping) en cada análisis, y que luego la representa gráficamente en escalas de grises alrededor del tiempo medio calculado.
Para aprender más acerca de esta herramienta les recomiendo a todos visitar su sitio oficial y probar su versión demo en línea para comenzar a explorar directamente sus funcionalidades.
Requisitos previos
- Antes de instalar SmokePing debemos tener instaladas las herramientas fping y Apache:
testsrv:~ # zypper install fping apache2
La aplicación fping puede ser instalada también mediante el método 1-Click Install desde la siguiente URL:
http://software.opensuse.org/package/fping
- Para que la aplicación fping funcione correctamente debemos asignarle el permiso AUID con el siguiente comando desde el usuario root:
testsrv:~ # chmod +s /usr/sbin/fping
Pasos de instalación y configuración
Para instalar la herramienta se siguieron los siguientes pasos:- Instalamos SmokePing con el método 1-Click Install para nuestra versión de openSUSE desde la siguiente URL.
http://software.opensuse.org/package/smokeping
- Para configurar los hosts que queremos monitorear primeramente necesitamos crear un archivo llamado config a partir del archivo plantilla config.dist dentro del directorio /etc/smokeping,
testsrv:~ # cp /etc/smokeping/config.dist /etc/smokeping/config
luego lo editamos con nuestro editor preferido,
testsrv:~ # vi /etc/smokeping/config
y posteriormente modificamos y agregamos las secciones de configuración que en el siguiente contenido de ejemplo se encuentran resaltadas.
*** General *** owner = Root at badly configured smokeping box contact = root@localhost mailhost = localhost sendmail = /usr/sbin/sendmail # NOTE: do not put the Image Cache below cgi-bin # since all files under cgi-bin will be executed ... this is not # good for images. imgcache = /var/cache/smokeping/ imgurl = /smokeping datadir = /var/lib/smokeping/data piddir = /var/run/smokeping/ cgiurl = http://localhost/cgi-bin/smokeping.cgi smokemail = /etc/smokeping/smokemail tmail = /etc/smokeping/tmail # specify this to get syslog logging syslogfacility = local0 # each probe is now run in its own process # disable this to revert to the old behaviour # concurrentprobes = no *** Alerts *** to = root@localhost from = root@localhost +someloss type = loss # in percent pattern = >0%,*12*,>0%,*12*,>0% comment = loss 3 times in a row *** Database *** step = 300 pings = 20 # consfn mrhb steps total AVERAGE 0.5 1 1008 AVERAGE 0.5 12 4320 MIN 0.5 12 4320 MAX 0.5 12 4320 AVERAGE 0.5 144 720 MAX 0.5 144 720 MIN 0.5 144 720 *** Presentation *** template = /etc/smokeping/basepage.html + charts menu = Charts title = The most interesting destinations ++ stddev sorter = StdDev(entries=>4) title = Top Standard Deviation menu = Std Deviation format = Standard Deviation %f ++ max sorter = Max(entries=>5) title = Top Max Roundtrip Time menu = by Max format = Max Roundtrip Time %f seconds ++ loss sorter = Loss(entries=>5) title = Top Packet Loss menu = Loss format = Packets Lost %f ++ median sorter = Median(entries=>5) title = Top Median Roundtrip Time menu = by Median format = Median RTT %f seconds + overview width = 600 height = 50 range = 10h + detail width = 600 height = 200 unison_tolerance = 2 "Last 3 Hours" 3h "Last 30 Hours" 30h "Last 10 Days" 10d "Last 400 Days" 400d #+ hierarchies #++ owner #title = Host Owner #++ location #title = Location *** Probes *** + FPing binary = /usr/sbin/fping *** Slaves *** secrets=/etc/smokeping/smokeping_secrets +boomer display_name=boomer color=0000ff +slave2 display_name=another color=00ff00 *** Targets *** probe = FPing menu = Top title = Network Latency Grapher remark = Welcome to the SmokePing website of GK Company. \ Here you will learn all about the latency of our network. + Maquinas menu = Maquinas title = Maquinas de mi Laboratorio ++ gkpc1 menu = gkpc1 title = gkpc1 host = 192.168.1.100 ++ gkbook menu = gkbook title = gkbook host = 192.168.1.101 + Routers menu = Routers title = Routers de mi Laboratorio ++ Linksys menu = Linksys title = Router Linksys WRT54G host = 192.168.1.1
Como podrán apreciar, muchas directivas puedan ser configuradas, pero la única que debemos modificar para que la herramienta funcione sin darnos problemas es la que se encuentra en la línea 14. La sección que se encuentra resaltada luego de la directiva remark, es la configuración correspondiente a los equipos a ser monitorizados y que ha sido reemplazada por una configuración adecuada para mi red de trabajo. En esa sección se han creado dos menús llamados Máquinas y Routers, debajo de los cuales se encuentran definidos los equipos que se desean analizar.
Como ya había comentado al principio, por defecto la herramienta viene configurada para que cada cinco minutos analice los hosts especificados en la sección Targets con 20 paquetes ICMP (Ping). Esto es totalmente parametrizable modificando los valores de las directivas step y pings en la sección *** Database *** cuyos valores originales son 300 (en segundos, igual a cinco minutos) y 20 (paquetes ICMP) respectivamente.
- Una vez culminado con la configuración del paso anterior, debemos cambiar las propiedades de acceso a los archivos smokeping_secrets:
testsrv:~ # chmod 600 /etc/smokeping/smokeping_secrets*
- Luego, para que no tengamos problemas con el despliegue de los gráficos necesitamos realizar una pequeña modificación al contenido del archivo smokeping.conf ubicado en el directorio /etc/apache2/conf.d. Primero pasamos a editar el archivo:
testsrv:~ # vi /etc/apache2/conf.d/smokeping.conf
Y en la sección <IfDefine !SMOKEPING> agregamos el código resaltado entre las líneas 26 y 32:
<IfDefine SMOKEPING> # please read how to enable smokeping be a lot faster in # /usr/share/doc/packages/smokeping/README.SuSE Alias /smokeping/cache /var/lib/smokeping/cache <IfModule mod_fastcgi.c> <Location /cgi-bin/smokeping> SetHandler fastcgi Order deny,allow Allow from all </Location> </IfModule> <Directory /var/lib/smokeping/cache> Order Allow,Deny Allow from all Options None AllowOverride None </Directory> </IfDefine> # this code will forbid access to frontend # no need to remove it in case when system is not configured correctly <IfDefine !SMOKEPING> Redirect 403 /cgi-bin/smokeping Alias /smokeping /var/lib/smokeping <Directory /var/lib/smokeping/cache> Order Allow,Deny Allow from all Options None AllowOverride None </Directory> </IfDefine>
Agregado el código guardamos los cambios y salimos de la edición del archivo para continuar con el siguiente paso.
- Procedemos a iniciar el servicio Apache:
testsrv:~ # /etc/init.d/apache2 start
- El siguiente paso consiste en iniciar el servicio SmokePing con el siguiente comando:
testsrv:~ # /etc/init.d/smokeping start
- Definimos los niveles de ejecución para automatizar el inicio de los servicios Apache y SmokePing durante el arranque del sistema operativo:
testsrv:~ # chkconfig --add apache2 testsrv:~ # chkconfig --add smokeping
- También necesitamos habilitar el servicio Apache en el cortafuegos de openSUSE, para ello editamos el archivo /etc/sysconfig/SuSEfirewall2:
testsrv:~ # vi /etc/sysconfig/SuSEfirewall2
Luego buscamos la directiva FW_CONFIGURATIONS_EXT y le agregamos el nombre de servicio apache2 debiendo quedar similar a lo que sigue:
FW_CONFIGURATIONS_EXT="sshd apache2"
Guardamos los cambios, salimos del editor y procedemos a reiniciar el cortafuegos de openSUSE con el siguiente comando:
testsrv:~ # rcSuSEfirewall2 restart
- Y finalmente renombramos el archivo smokeping del directorio /srv/www/cgi-bin a smokeping.cgi:
testsrv:~ # cp /srv/www/cgi-bin/smokeping /srv/www/cgi-bin/smokeping.cgi
http://nombre_o_ip_servidor/cgi-bin/smokeping.cgi
Capturas de Pantalla:
A continuación les dejo con las capturas de pantalla de la interfaz web de la herramienta en ejecución, donde se aprecian los menús en la barra izquierda y la información gráfica de la derecha.La linea central verde de los gráficos es la media de todos los tiempos de respuesta de los paquetes ICMP analizados en un momento dado y el sombreado que se encuentra a su alrededor es la representación gráfica del Jitter generado a partir de los tiempos de respuesta obtenidos.
Siempre las sombras más oscuras estarán alrededor de la línea verde, ya que corresponden a los tiempos de respuesta más cercanos a la media. Por su parte, los tiempos que más distan de la media siempre estarán más alejados de la línea central.
Enlaces Importantes:
Sitios Webs:- Sitio Oficial
- Demo On-Line
- SmokePing Documentation
- Extenciones para Someping (SmokePing Probes)
- OETIKER+PARTNER AG
- fping
Como puedo configurar las notificaciones por email... Y tambien quiero saber si puedo usar una cuenta externa por ejemplo gmail para que sea quien envia los mensajes
ResponderEliminarHola Kristhian, la verdad que nunca he verificado si tiene esa configuración y actualmente no dispongo de una instalación de la herramienta a mano para probar, quizás deberías mirar en la web oficial si tiene información al respecto.
EliminarPor cierto, que información del Smokeping necesitas enviar/notificar por e-mail?
Saludos!