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 ***
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.
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 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>
Agregado el código guardamos los cambios y salimos de la edición del archivo para continuar con el siguiente paso.
# 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> - 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!