Smokeping, ecrito en perl, es un monitor de latencias basado en RRDTool (del mismísimo autor), mide el retardo de ICMP y varios servicios (DNS, SSH, HTTP, SMTP, LDAP, etc). Es decir, hace continuamente ping a varios servicios o equipos y los plasma en un gráfico para después ver el retardo.
Instalación
Para empezar instalar smokeping y los paquetes que necesita:
apt install smokeping curl libauthen-radius-perl libnet-ldap-perl libnet-dns-perl libio-socket-ssl-perl libnet-telnet-perl libsocket6-perl libio-socket-inet6-perl apache2
Editar el archivo General
vim /etc/smokeping/config.d/General
*** General *** owner = ichasco contact = info@ichasco.com cgiurl = http://[IP o DNS]/cgi-bin/smokeping.cgi mailhost = mail.email.com syslogfacility = local0 concurrentprobes = no @include /etc/smokeping/config.d/pathnames
A continuación editar el archivo de Alerts. Para que pueda enviar mensajes hay que tener configurado un servidor de correo por ejemplo Postfix.
vim /etc/smokeping/config.d/Alerts
*** Alerts *** to = info@ichasco.com from = smokealert@email.com +someloss type = loss pattern = >0%,*12*,>0%,*12*,>0% comment = loss 3 times in a row
Luego, hay que configurar el archivo Targets que es donde se indica a donde se va a hacer ping.
vim /etc/smokeping/config.d/Targets
*** Targets *** probe = FPing menu = Top title = SmokePing + Local menu = Local title = Local Network ++ Localhost menu = Localhost title = Localhost host = 127.0.0.1 ++ Gateway menu = Gateway title = Gateway host = 172.16.1.1 + WAN menu = WAN title = WAN ++ GoogleDNS menu = Google DNS title = Google DNS host = 8.8.8.8
Para finalizar reiniciar el servicio
/etc/init.d/smokeping restart
Ahora vamos a configurar el apache, para empezar hacer un enlace simbólico con el archivo de configuración de smokeping
ln -s /etc/smokeping/apache2.conf /etc/apache2/conf-available/smokeping.conf
Luego cargar la configuración de smokeping y los módulos cgi
a2enconf smokeping
a2enmod cgid
Por último editar la configuración de apache y cambiar MaxKeepAliveRequests a 0
vim /etc/apache2/apache2.conf
MaxKeepAliveRequests 0
Dar permisos a Smokeping en su carpeta
chown smokeping:www-data -R /var/lib/smokeping/
Y reiniciar apache
service apache2 restart
Y para conectarse al servicio, hay que abrir un navegador y escribir en la barra de direcciones lo siguiente:
http://[IP o DNS]/cgi-bin/smokeping.cgi