DESCRIPTIONprotocols.cfg contains definitions of how xymonnet(1) should test a TCP-based network service (i.e. all common network services except HTTP and DNS). For each service, a simple dialogue can be defined to check that the service is functioning normally, and optional flags determine if the service has e.g. a banner or requires SSL- or telnet-style handshaking to be tested.
FILE FORMATprotocols.cfg is a text file. A simple service definition for the SMTP service would be this:
This defines a service called "smtp". When the connection is first established, xymonnet will send the string "mail\r\nquit\r\n" to the service. It will then expect a response beginning with "220". Any data returned by the service (a so-called "banner") will be recorded and included in the status message.
The full set of commands available for the protocols.cfg file are:
Define the name of the TCP service, which will also be the column-name
in the resulting display on the test status. If multiple tests share
a common definition (e.g. ssh, ssh1 and ssh2 are tested identically),
you may list these in a single "[ssh|ssh1|ssh2]" definition,
separating each service-name with a pipe-sign.
- send STRING
- expect STRING
Defines the strings to send to the service after a connection is
established, and the response that is expected. Either of these
may be omitted, in which case
will simply not send any data, or match a response against anything.
The send- and expect-strings use standard escaping for non-printable characters. "\r" represents a carriage-return (ASCII 13), "\n" represents a line-feed (ASCII 10), "\t" represents a TAB (ASCII 8). Binary data is input as "\xNN" with NN being the hexadecimal value of the byte.
- port NUMBER
Define the default TCP port-number for this service. If no portnumber
will attempt to lookup the portnumber in the standard /etc/services
- options option1[,option2][,option3]
Defines test options. The possible options are
banner - include received data in the status message
ssl - service uses SSL so perform an SSL handshake
telnet - service is telnet, so exchange telnet options