cblmd(1)

NAME
cblmd - Cheap Bastard Latency Monitor Daemon

SYNOPSIS
cblmd [OPTION] <-H HOST[:PORT]>

DESCRIPTION
cblmd is a high performance latency (one-way and round-trip), packet loss and jitter monitoring probe. When run on two or more servers, a full mesh of connections is automatically setup between the probes. The full mesh of connections are used to transmit UDP packets between the probes. Statistics are collected and stored within a MySQL database.

Probes may be added or removed from the full mesh in real time. To add a probe to the mesh, start a new probe configured to connect to the same MySQL database as the other probes. To remove a probe, shutdown the probe with a TERM signal. Settings for the full mesh of probes may be changed on any probe using the write option. These changes will be automatically propogated to all other probes.

NOTE: To generate accurate latency (one-way) statistics, all servers clocks must be syncronized to the same set of NTP servers. Round-trip statistics do not rely on a syncronized clock.

The newest version of @CBLMPKG@ is available at:

http://www.digitalgenesis.com/software/cblm/

OPTIONS
Options can be given in any order. Options without an argument can be combined after a single dash.

Preferences

-s, --source=IP|INTERFACE
    Source traffic from specified IP address or INTERFACE. (Default: first found)

-p, --port=PORT
    Listen for incoming traffic on specified PORT. (Default: 7447)

-I, --interface=IP|INTERFACE
    Listen for incoming traffic on specified IP address or INTERFACE. (Default: any)

-e, --name=STRING
    Descriptive name for probe. Will be used to display results via web interface. Specifying "short" will result in the hostname up to the first dot. (Default: hostname)

-l, --location=STRING
    Location of probe. Will be used to display results via web interface. (Default: none)

-Z, --description=STRING
    Description of the probe. Will be used to display results via web interface. (Default: none)

-r, --rate=NUM
    The rate at which to transmit packets per minute from this probe. The rate is used per ToS marking. (Default: 120)

-M, --dscp=DSCP[:PRIORITY]
    Transmit packets marked with specified DSCP markings and priority. Values of 0 to 64 are valid for DSCP values. Priority allows vconfig(8) to map the specified priority (skb-priority) to the egress VLAN priority. Values of 1 to 7 are valid for priority. May be specified multiple times. Some settings require root privileges. (Default: 0:0)

-N, --precedence=PRECEDENCE[:PRIORITY]
    Transmit packets marked with specified DSCP markings and priority. Values of 1 to 7 are valid for precedence. Priority allows vconfig(8) to map the specified priority (skb-priority) to the egress VLAN priority. Values of 1 to 7 are valid for priority. May be specified multiple times. Some settings require root privileges. (Default: 0:0)

-Q, --tos=TOS[:PRIORITY]
    Transmit packets marked with specified ToS markings and priority. ToS is an 8 bit field within the IP header. Bits 2-7 are used for DSCP or bits 5-7 for Precedence. Values of 0 to 224 are valid for ToS values. A ToS value of 0 will provide Best Effort (DSCP: 0, Prec: 0). A ToS value of 64 will provide Assured Forwarding (DSCP: 16, Prec: 2). A ToS value of 128 will provide Network Control (DSCP: 32, Prec: 4). A ToS value of 192 will provide Network Control (DSCP: 48, Prec: 6). ToS values of 160 or more require root access. Priority allows vconfig(8) to map the specified priority (skb-priority) to the egress VLAN priority. Values of 1 to 7 are valid for priority. May be specified multiple times. Some settings require root privileges. (Default: 0:0)

-m, --maxttl=NUM
    Maximum allowed one way TTL (time to live) in milliseconds between probes. (Default: 1000)

-a, --maxage=NUM
    Maximum age in second a probe may be out of contact with the database before being considered dead. (Default: 90)

-k, --k=STRING
    Key used to verify authorization of incoming packets. (Default: o-soraizu)

-z, --size=BYTES
    Size of transmited packet payload. (Default: 64)

-x, --pattern=STRING
    Pattern to load into packets payload. (Default: kusabana)

-f, --fragment
    Allow fragmentation of outgoing packets by disabling the DF (don't fragment) bit within the packet. (Default: off)

-L, --ttl=NUM
    Set outgoing packets time to live (TTL) to the specified value. Values between 1 and 255 are valid. (Default: 64)

-X, --disable=<ott|jtr|tos|ooo|dup>
    Disable the internal tracking of a feature such as OTT (one-way trip time), JTR (jitter), TOS, (type of service), OOO (out of order packets) or DUP (duplicate packets). This argument may be specified multiple times to disable more than one feature. (Default: none)

-T, --snmptrap=HOST[:PORT][:COMMUNITY[:VERSION[:INFORM]]]
    Send SNMP traps to HOST on PORT using COMMUNITY and VERSION. If INFORM enabled, any SNMP v2 trap will require an acknowledgment from the trap receiver or HOST (Default: none). PORT may be any value between 1 and 65535. (Default: 162) COMMUNITY may be any alphanumeric value. (Default: public) VERSION may be v1 or v2. (Default: v2) INFORM may be 0 or 1. (Default: 0)

Database

-H, --dbhost=HOST[:PORT]
    Use specified MySQL host and port for communication with the database. (Default: none)

-S, --dbsock=SOCKET
    Use specified MySQL socket for communication with the database. (Default: none)

-D, --dbname=DATABASE
    MySQL database to store data within. (Default: cblm)

-U, --dbuser=USER
    Use specified username for connecting to the database. (Default: cblm)

-P, --dbpass=PASSWORD
    Use specified password for connecting to the database. (Default: none)

-C, --dbcomp
    Use compression protocol to communicate with the database. (Default: off)

-W, --write
    Write locally specified preferences into the database and exit.

-E, --print
    Print probe preferences stored within the database and exit.

Process

-C, --config=FILE
    Use configuration options specified within FILE. Command line options and preferences stored within the database will override options specified within the configuration file. (Default: none)

-u, --user=USER
    Run as user USER. (Default: current)

-g, --group=GROUP
    Run as group GROUP. (Default: current)

-t, --chroot=DIR
    Change root to DIRectory. (Default: none)

-o, --stats[=FILE]
    Write statistics information to FILE. (Default: /var/run/cblmd.stat)

-n, --nice=[+/-]NUM
    Run with a nice value of NUM. Values of -20 to 19 are valid. (Default: -10)

-d, --debug[=INT]
    Set the debug level to INT. Values of 1 to 9 are valid. (Default: off)

General

-h, --help
    Display the help/usage information.

-v, --version
    Display the version information.

FILES

@sysconfdir@/cblmd.conf
    The configuration file.

EXAMPLES
Run with a rate of 30 PPM and use configuration file /etc/cblmd.conf to specify additional configuration options such as the database.

cblmd -r 30 -c /etc/cblmd.conf

SEE ALSO
cblmd.conf(5)

COPYRIGHT
Copyright (C) 2004-2008 Digital Genesis Software. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License <http://www.gnu.org/copyleft/gpl.html>
for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

AUTHOR
James M. Sella <@BUGREPORT@>

HISTORY
02/xx/08 - Released version 2.9.5
10/26/06 - Released version 2.9.4
06/20/06 - Released version 2.9.3
05/21/06 - Released version 2.9.2
05/02/06 - Released version 2.9.1
05/01/06 - Released version 2.9.0