Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Smokeping, monitorización vía ping mediante gráficos RRD


Smokeping es una de las herramientas más útiles e importantes para hacer troubleshooting (resolución de problema) tanto de problemas internos de nuestra red, como hacia destinos fuera de la red. Smokeping nos permite ver en forma visual e intertemporal cómo ha estado la latencia y pérdidas de paquetes hacia diferentes destinos de red, en el último día, semana, mes, año o el intervalo de tiempo que queramos ver.




  • 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.

Esto es especialmente importante para los ISPs, ya que muy probablemente al mes un par de veces al día hay clientes que los contactan porque tienen problemas con un sitio Web o servicio determinado y realizar el correcto diagnóstico es clave para encontrar problemas en forma rápida y poder resolverlos antes que afecten la experiencia de los usuarios. ¿Es problema dentro o fuera de mi red?, si es dentro en qué nodo. Si es fuera, ¿es un problema a un host temporal o recurrente a un host en particular, a todo un ASN o afecta toda nuestra conectividad a Internet?


Ping y tracert nos ayudan a ver lo que está pasando en este momento, pero estas herramientas por si solas no nos sirven para ver si la latencia actual es normal, o si hemos tenido packet loss en qué o desde qué momento. Aquí smokeping nos da una visión gráfica para ver si el comportamiento actual está dentro de lo habitual o no. Lamentable esta herramienta aún no es usada por muchos pequeños y medianos ISPs en América Latina, es por esto que espero este artículo ayude a que más pequeños y medianos ISPs puedan usarla y así hacer un mejor troubleshooting de sus problemas de LAN o WAN.

Monitoreo permanente de WAN

Probablemente uno de los elementos más básicos que debemos hacer es monitorear al menos lo siguiente:

  • El gateway de nuestro proveedor de IP transit (la dirección IP de la interfaz del lado del proveedor), esta usualmente es la dirección IP del proveedor contra la cual establecemos la sesión BGP
  • Si estamos conectados al Perú IX (PIT Peru sac), monitorear nuestra conectividad a los Route Server (45.183.47.1 y 45.183.47.2)
  • Algunos destinos muy populares e importantes para los usuarios:
    • www.google.com
    • www.facebook.com
    • www.amazon.com (aunque no muchos usuarios usan amazon.com si usan los servicios de AWS)
    • DNS públicos como
      • 8.8.8.8
      • 1.1.1.1
      • 9.9.9.9
    • Los 13 DNS Root Servers (el elemento más profundo del sistema DNS, y que determina la velocidad para cargar una página web)
      • a.root-servers.net
      • b.root-servers.net
      • c.root-servers.net
      • d.root-servers.net
      • e.root-servers.net
      • f.root-servers.net
      • g.root-servers.net
      • h.root-servers.net
      • i.root-servers.net
      • j.root-servers.net
      • k.root-servers.net
      • l.root-servers.net
      • m.root-servers.net
    • Algunos juegos en línea populares

Esto nos permitirá analizar como se comporta la latencia y la estabilidad de nuestra conexión hacia estos destinos.


Instalación y configuración de Smokeping

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.

Fichero configuración /etc/smokeping/config


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.
*** General ***

owner     = Your Name Here                            # your name
contact   = your.email@host.bla                       # your email
mailhost  = your.smtp.server.bla                      # your mail server
sendmail  = /bin/false                                # where the sendmail program is
imgcache  = /srv/smokeping/imgcache                   # filesystem directory where we store files
imgurl    = imgcache                                  # URL directory to find them
datadir   = /srv/smokeping/data                       # where we share data between the daemon & webapp
piddir    = /var/run                                  # filesystem directory to store PID file
cgiurl    = http://localhost/smokeping/smokeping.fcgi  # exterior URL
smokemail = /etc/smokeping/smokemail   
tmail     = /etc/smokeping/tmail
syslogfacility = local0
# each probe is now run in its own process
# disable this to revert to the old behaviour
# concurrentprobes = no

*** Alerts ***
to = alertee@address.somewhere
from = smokealert@company.xy

+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
nodata_color = ffb0b0
loss_background = yes

"Last 3 Hours"    3h
"Last 30 Hours"   30h
"Last 10 Days"    10d
"Last 400 Days"   400d

*** Probes ***

+ FPing

binary = /usr/bin/fping

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of Arch User. \
         Here you will learn all about the latency of our network.

+ targets
menu = Targets
title = Targets

++ CloudflareDNS
 
menu = Cloudflare DNS
title = Cloudflare DNS server
host = 1.1.1.1

++ GoogleDNS

menu = Google DNS
title = Google DNS server
host = 8.8.8.8

++ MultiHost

menu = Multihost example
title = CloudflareDNS and Google DNS
host = /targets/CloudflareDNS /targets/GoogleDNS

Multi Targets


Apache Config


LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
  AddHandler fcgid-script .fcgi
</IfModule>

Alias /smokeping/imgcache /srv/smokeping/imgcache
Alias /smokeping /srv/http/smokeping

<Directory "/srv/smokeping/imgcache">
  AllowOverride all
  Require all granted
</Directory>

<Directory "/srv/http/smokeping">
 Options FollowSymLinks ExecCGI
 AllowOverride all
 Require all granted
</Directory>

Fuentes:



0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.