This module allows the monitoring of several hosts by pinging them, that is sending one or more ICMP echo requests and reporting the round trip time for each host.

Notes:

- this module internally uses 64 bit row numbers and therefore requires Tcl/Tk 8.4 or above (which is already the case if you are reading this from a running moodss application).
- on Windows, it requires the Tnm Tcl extension package (from the Scotty Tcl extension software) to be installed on the computer (use the latest release from http://spog.gaertner.de/~schoenfr/scotty/).

Data is displayed in 2 tables:

- The first containing static data as specified in the hosts options file (see -f command line switch documentation below), except for the replied column (address used in the ICMP echo reply) placed next to the address column to make differences visually obvious.
- The second containing dynamic data resulting from the ICMP traffic from the pinged hosts. Invalid data, for unreachable hosts, is displayed using the special ? void values.

The list of hosts including specific options is kept in a file (hosts in the ping module directory, by default) passed as an argument to the module, as follows:

Error handling:

When an error occurs communicating with the nmicmpd daemon, a descriptive error message is generated. Displayed data is no longer updated until the daemon becomes reachable again.

Module options:

- -f filename
  Use specified file for hosts list with options. Each line in the file must contain the following items, separated by blanks (tabs or spaces): host name or IP address, polling period, timeout, count, size and delay (see hosts file example in ping module directory, but do not use it for real work, as it may be overwritten when upgrading moodss for example).
- -r host
  The machine hosting the pinging daemon nmicmpd, localhost by default (also see INSTALL file in ping module directory on how to setup the pinging daemon).

Hosts file format:

While comment lines begin with the # character, other lines in the file must either be blank or contain the following items, separated by blanks (tabs or spaces):

- host name or IP address
- polling period in seconds: time difference between each echo requests (as many as count, see below) group
- timeout in seconds: after which a new ICMP echo request is sent if there was no response for the previous request (if multiple packets are to be sent, see count below)
- count: number of ICMP echo requests to be sent
- size: ICMP packet size in bytes, must be greater than or equal to 56 (which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data (information drawn from ping manual))
- delay in seconds between ICMP echo requests (used if count is greater than 1, use 0 if you want to generate bursts)

Examples:

    $ moodss ping
    $ moodss ping -f /home/jdoe/hosts.lst
    $ moodss ping -r foo.bar.com