Feature #2938

collectd ping plugin to monitor network latency

Added by Filippo Carletti almost 7 years ago. Updated over 6 years ago.

Status:CLOSEDStart date:
Priority:NormalDue date:
Assignee:-% Done:

100%

Category:nethserver-collectd
Target version:v6.5
Resolution: NEEDINFO:No

Description

Add the the ping collectd plugin by default. to check and graph network latency and packet loss.

Associated revisions

Revision a048572c
Added by Giacomo Sanchietti over 6 years ago

collectd configuration: cleanup graphs. Refs #2938

Revision eedb9112
Added by Giacomo Sanchietti over 6 years ago

collectd config: move precache file. Refs #2938

Revision d0be7b65
Added by Giacomo Sanchietti over 6 years ago

config: add support for ping plugin. Refs #2938

Revision 4c781155
Added by Giacomo Sanchietti over 6 years ago

Fix cron script, set Interval to 5. Refs #2938

History

#1 Updated by Filippo Carletti almost 7 years ago

We need:
  • collectd-ping from epel
  • a template for /etc/collectd.d/ping_wan.conf to monitor wan links
  • optional: a template to monitor additional hosts (ie vpn)

#2 Updated by Filippo Carletti almost 7 years ago

  • Status changed from NEW to TRIAGED
  • % Done changed from 0 to 20

While we work on collectd, I'd like to clean it up a bit, not collecting some unused data.

#3 Updated by Filippo Carletti almost 7 years ago

  1. cat /etc/collectd.d/ping_wan.conf
    <Plugin "ping">
      Host "fastweb" 
      Interval 5
    </Plugin>
    

fastweb is defined in /etc/hosts as the next hop.
We also need to select the right interface to send pings.

#4 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from TRIAGED to ON_DEV
  • Assignee set to Giacomo Sanchietti
  • % Done changed from 20 to 30

#5 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from ON_DEV to MODIFIED
  • % Done changed from 30 to 60
The extension will automatically monitor:
  • first configured DNS
  • checkip for providers in Multi Wan setup
  • custom hosts saved in PingHosts property inside the collectd key. The PingHosts is a comma-separated list of host names or ip address

#6 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from MODIFIED to ON_QA
  • Assignee deleted (Giacomo Sanchietti)
  • % Done changed from 60 to 70
Packages in nethserver-testing:
  • nethserver-collectd-1.0.3-3.0gitd0be7b65.ns6.noarch.rpm
  • collectd-ping-4.10.9-1.el6.x86_64.rpm
  • liboping-1.5.1-1.el6.x86_64.rpm
Test case 1
  • Configure a server with only the green or one red interface
  • Check collectd is configured to ping the first DNS (check: /etc/collectd.d/ping.conf)
  • You can also install nethserver-cgp and take a look to the graphs
Test case 2
  • Configure a server with two or more red interfaces with associated providers. You can mock this environment with the following commands:
    db networks set P1 provider checkip 192.168.1.1 status enabled
    db networks set P2 provider checkip 192.168.1.2 status enabled
    signal-event nethserver-collectd-update 
    
  • Check collectd is configured to ping also both checkip of configured providers (check: /etc/collectd.d/ping.conf)
  • You can also install nethserver-cgp and take a look to the graphs
Test case 3
  • Set one or more custom hosts:
    config setprop collectd PingHosts google.it,facebook.com
    signal-event nethserver-collectd-update 
    
  • Check collectd is configured to ping also the custom hosts (check: /etc/collectd.d/ping.conf)
  • You can also install nethserver-cgp and take a look to the graphs

#7 Updated by Filippo Carletti over 6 years ago

  • Status changed from ON_QA to TRIAGED
  • % Done changed from 70 to 20
All test cases passed, but I found two minor issues:
  1. Interval is 10 and not 5 as per comment 3
  2. the cleanup script gives a warning
# grep -r Interval /etc/collectd*
/etc/collectd.d/ping.conf:Interval 10
# find /var/lib/collectd/ -type d -empty | xargs rmdir 
rmdir: missing operand
Try `rmdir --help' for more information.

The fix for 2. is:

find /var/lib/collectd/ -type d -empty | xargs -r rmdir

#8 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from TRIAGED to ON_DEV
  • Assignee set to Giacomo Sanchietti
  • % Done changed from 20 to 30

#9 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from ON_DEV to MODIFIED
  • % Done changed from 30 to 60

#10 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from MODIFIED to ON_QA
  • Assignee deleted (Giacomo Sanchietti)
  • % Done changed from 60 to 70
Package in nethserver-testing:
  • nethserver-collectd-1.0.3-4.0git4c781155.ns6.noarch.rpm

Also cleanup script was in wrong directory.

#11 Updated by Filippo Carletti over 6 years ago

  • Status changed from ON_QA to VERIFIED
  • % Done changed from 70 to 90
Updating:
 nethserver-collectd              noarch              1.0.3-3.0gitd0be7b65.ns6                nethserver-testing               22 k
Installing for dependencies:
 collectd-ping                    x86_64              4.10.9-1.el6                            nethserver-testing               15 k
 liboping                         x86_64              1.5.1-1.el6                             nethserver-testing               55 k

# config show collectd
collectd=service
    PingHosts=
    Runlevels=2,3,4,5
    status=enabled

# grep -r Interval /etc/collectd*
/etc/collectd.d/ping.conf:Interval 5

# ls -l /etc/cron.daily/collectd_cleanup 
-rwxr--r--. 1 root root 143 Nov 26 08:24 /etc/cron.daily/collectd_cleanup

#13 Updated by Giacomo Sanchietti over 6 years ago

  • Status changed from VERIFIED to CLOSED
  • % Done changed from 90 to 100
Packages released in nethserver-updates:
  • nethserver-collectd-1.1.0-1.ns6.noarch.rpm
  • collectd-ping-4.10.9-1.el6.x86_64.rpm
  • liboping-1.5.1-1.el6.x86_64.rpm

Also available in: Atom PDF