Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
HOSTS.CFG(5)		       File Formats Manual		    HOSTS.CFG(5)

NAME
     hosts.cfg - Main Xymon configuration file

SYNOPSIS
     hosts.cfg

DESCRIPTION
     The  hosts.cfg(5)	file is the most important configuration file for all of
     the Xymon programs.  This file contains the full list of  all  the  systems
     monitored	by  Xymon,  including  the  set of tests and other configuration
     items stored for each host.

FILE FORMAT
     Each line of the file defines a host. Blank lines and lines starting with a
     hash mark (#) are treated as comments and ignored.  Long lines can be  bro-
     ken up by putting a backslash at the end of the line and continuing the en-
     try on the next line.

     The format of an entry in the hosts.cfg file is as follows:
	IP-address hostname # tag1 tag2 ...

     The  IP-address  and  hostname are mandatory; all of the tags are optional.
     Listing a host with only IP-address and hostname will cause a network  test
     to  be executed for the host - the connectivity test is enabled by default,
     but no other tests.

     The optional tags are then used to define which tests are relevant for  the
     host,  and also to set e.g. the time-interval used for availability report-
     ing by xymongen(1)

     An example of setting up the hosts.cfg file is in the Xymon  on-line  docu-
     mentation	(from the Help menu, choose "Configuring Monitoring").	The fol-
     lowing describes the possible settings in a hosts.cfg file supported by Xy-
     mon.

TAGS RECOGNIZED BY ALL TOOLS
     include filename
	    This tag is used to include another file into the hosts.cfg file  at
	    run-time,  allowing  for  a large hosts.cfg file to be split up into
	    more manageable pieces.

	    The "filename" argument should point to a file that  uses  the  same
	    syntax as hosts.cfg. The filename can be an absolute filename (if it
	    begins with a '/'), or a relative filename - relative file names are
	    prefixed with the directory where the main hosts.cfg file is located
	    (usually $XYMONHOME/etc/).

	    You  can  nest  include  tags, i.e. a file that is included from the
	    main hosts.cfg file can itself include other files.

     dispinclude filename
	    Acts like the "include" tag, but only for the xymongen tool.  Can be
	    used e.g. to put a group of hosts  on  multiple  sub-pages,  without
	    having to repeat the host definitions.

     netinclude filename
	    Acts like the "include" tag, but only for the xymonnet tool.

     directory directoryname
	    This tag is used to include all files in the named directory.  Files
	    are  included  in alphabetical order. If there are sub- directories,
	    these are recursively included also. The  following  files	are  ig-
	    nored: Files that begin with a dot, files that end with a tilde, RCS
	    files that end with ",v", RPM package manager files ending in ".rpm-
	    save" or ".rpmnew", DPKG package manager files ending in ".dpkg-new"
	    or	".dpkg-orig",  and  all  special  files (devices, sockets, pipes
	    etc).

     optional include/directory
	    Both "include" and "directory" can be prefixed  with  the  tag  "op-
	    tional", which will preven an error message being logged if the file
	    or directory is not present on a system.

GENERAL PER-HOST OPTIONS
     noclearControls  whether  stale  status  messages go purple or clear when a
	    host is down. Normally, when a host  is  down  the	client	statuses
	    ("cpu",  "disk",  "memory" etc) will stop updating - this would usu-
	    ally make them go "purple" which can trigger alerts. To avoid  that,
	    Xymon checks if the "conn" test has failed, and if that is true then
	    the  other	tests  will go "clear" instead of purple so you only get
	    alerts for the "conn" test. If you do want the stale statuses to  go
	    purple, you can use the "noclear" tag to override this behaviour.

	    Note that "noclear" also affects the behaviour of network tests; see
	    below.

     prefer When  a  single host is defined multiple time in the hosts.cfg file,
	    xymongen tries to guess which definition is the best to use for  the
	    information  used  on  the	"info"	column, or for the NOPROPRED and
	    other xymongen-specific settings. Host definitions that have a  "no-
	    conn" tag or an IP of 0.0.0.0 get lower priority.

	    By	using  the "prefer" tag you tell xymongen that this host defini-
	    tion should be used.

	    Note: This only applies to hosts that are defined multiple times  in
	    the  hosts.cfg  file,  although  it will not hurt to add it on other
	    hosts as well.

     multihomed
	    Tell Xymon that data from the host can arrive from	multiple  IP-ad-
	    dresses.   By  default, Xymon will warn if it sees data for one host
	    coming from different IP-addresses, because this usually indicates a
	    mis-configuration of the hostname on at least one of the servers in-
	    volved. Some hosts with multiple IP-addresses may use different IP's
	    for sending data to Xymon, however. This tag disables the  check  of
	    source IP when receiving data.

     delayred=STATUSCOLUMN:DELAY[,STATUSCOLUMN:DELAY...]
	    Usually,  status changes happen immediately. This tag is used to de-
	    fer an update to red for the STATUSCOLUMN status for DELAY	minutes.
	    E.g.   with  delayred=disk:10,cpu:30, a red disk-status will not ap-
	    pear on the Xymon webpages until it has been red  for  at  least  10
	    minutes.   Note: Since most tests only execute once every 5 minutes,
	    it will usually not make sense to set N to anything but  a	multiple
	    of	5.  The  exception  is network tests, since xymonnet-again.sh(1)
	    will re-run failed network tests once a minute for up to 30 minutes.

     delayyellow=STATUSCOLUMN:DELAY[,STATUSCOLUMN:DELAY...]
	    Same as delayred, but defers the change to a yellow status.

XYMONGEN DISPLAY OPTIONS
     These tags are processed by the xymongen(1) tool when generating the  Xymon
     webpages or reports.

     page NAME [Page-title]
	    This  defines  a  page  at the level below the entry page. All hosts
	    following the "page" directive appear on  this  page,  until  a  new
	    "page", "subpage" or "subparent" line is found.

     subpage NAME [Page-title]
	    This  defines  a  sub-page in the second level below the entry page.
	    You must have a previous "page" line to hook this sub-page to.

     subparent parentpage newpage [Page-title]
	    This is used to define sub-pages in whatever levels  you  may  wish.
	    Just  like the standard "subpage" tag, "subparent" defines a new Xy-
	    mon web page; however with "subparent"  you  explicitly  list  which
	    page  it  should  go  as a sub-page to. You can pick any page as the
	    parent - pages, sub-pages or even other subparent pages. So this al-
	    lows you to define any tree structure of pages that you like.

	    E.g. with this in hosts.cfg:

	       page USA United States
	       subpage NY New York
	       subparent NY manhattan Manhattan data centers
	       subparent manhattan wallstreet Wall Street center

	    you get this hierarchy of pages:

	       USA (United States)
		 NY (New York)
		   manhattan (Manhattan data centers)
		      wallstreet (Wall Street center)

	    Note: The parent page must be defined before you define the  subpar-
	    ent.  If  not, the page will not be generated, and you get a message
	    in the log file.

	    Note: xymongen is case-sensitive, when trying to match the	name  of
	    the parent page.

	    The  inspiration for this came from Craig Cook's mkbb.pl script, and
	    I am grateful to Craig for suggesting that I implement it in  xymon-
	    gen.  The idea to explicitly list the parent page in the "subparent"
	    tag was what made it easy to implement.

     vpage

     vsubpage

     vsubparent
	    These are page-definitions similar	to  the  "page",  "subpage"  and
	    "subparent"  definitions.  However,  on these pages the rows are the
	    tests, and the columns are the hosts (normal pages have it the other
	    way around). This is useful if you have a very large number of tests
	    for a few hosts, and prefer to have them listed on a page  that  can
	    be scrolled vertically.
	    Note  that	the  "group" directives have no effect on these types of
	    pages.

     group [group-title]

     group-compress [group-title]
	    Defines a group of hosts, that appear together on the web page, with
	    a single header-line listing all of the columns. Hosts following the
	    "group" line appear inside the group, until a new "group"  or  page-
	    line  is  found. The two group-directives are handled identically by
	    Xymon and xymongen, but both forms are allowed for backwards compat-
	    ibility.

     group-sorted [group-title]
	    Same as the "group" line, but will sort the hosts inside  the  group
	    so they appear in strict lexicographic order.

     group-only COLUMN1|COLUMN2|COLUMN3 [group-title]
	    Same  as  the  "group" and "group-compress" lines, but includes only
	    the columns explicitly listed in the group. Any columns  not  listed
	    will be ignored for these hosts.

     group-except COLUMN1|COLUMN2|COLUMN3 [group-title]
	    Same  as  the  "group-only"  lines,  but includes all columns EXCEPT
	    those explicitly listed in the group. Any columns listed will be ig-
	    nored for these hosts - all other columns are shown.

     title Page, group or host title text
	    The "title" tag is used to put custom headings into the pages gener-
	    ated by xymongen, in front of page/subpage links, groups or hosts.

	    The title tag operates on the next item in the hosts.cfg  file  fol-
	    lowing the title tag.

	    If a title tag precedes a host entry, the title is shown just before
	    the  host  is listed on the status page. The column headings present
	    for the host will be repeated just after the heading.

	    If a title tag precedes a group entry, the title is show just before
	    the group on the status page.

	    If a title tag precedes a page/subpage/subparent  entry,  the  title
	    text replaces the normal "Pages hosted locally" heading normally in-
	    serted  by	Xymon.	This  appears on the page that links to the sub-
	    pages, not on the sub-page itself. To get a custom	heading  on  the
	    sub-page,  you may want to use the "--pagetext-heading" when running
	    xymongen(1)

     NAME:hostname
	    Overrides the default hostname used on the overview web  pages.   If
	    "hostname"	contains  spaces,  it must be enclosed in double quotes,
	    e.g. NAME:"R&D Oracle Server"

     CLIENT:hostname
	    Defines an alias for a host, which will  be  used  when  identifying
	    status  messages.  This  is  typically  used  to accommodate a local
	    client that sends in status reports with a different hostname,  e.g.
	    if	you  use hostnames with domains in your Xymon configuration, but
	    the client is a silly Window box that does not include the hostname.
	    Or vice-versa. Whatever the reason, this can be used to match status
	    reports with the hosts you define in your hosts.cfg file. It  causes
	    incoming  status reports with the specified hostname to be filed us-
	    ing the hostname defined in hosts.cfg.

     NOCOLUMNS:column[,column]
	    Used to drop certain of the status columns generated  by  the  Xymon
	    client.  column  is  one  of  cpu, disk, files, memory, msgs, ports,
	    procs.  This setting stops these columns from being updated for  the
	    host.  Note: If the columns already exist, you must use the xymon(1)
	    utility to drop them, or they will go purple.

     COMMENT:Host comment
	    Adds a small text after the hostname on the web page.  This  can  be
	    used  to describe the host, without completely changing its display-
	    name as the NAME: tag does. If the comment includes  whitespace,  it
	    must be in double-quotes, e.g. COMMENT:"Sun web server"

     DESCR:Hosttype:Description
	    Define  some  informational text about the host. The "Hosttype" is a
	    text describing the type of this device - "router", "switch", "hub",
	    "server" etc. The "Description" is an informational text  that  will
	    be	shown  on the "Info" column page; this can e.g. be used to store
	    information about the physical location of the device, contact  per-
	    sons  etc.	If  the  text contain whitespace, you must enclose it in
	    double-quotes, e.g.  DESCR:"switch:4th floor Marketing switch"

     CLASS:Classname
	    Force the host to belong to a specific class. Class-names  are  used
	    when configuring log-file monitoring (they can be used as references
	    in	client-local.cfg(5),  analysis.cfg(5) and alerts.cfg(5) to group
	    log file checks or alerts). Normally, class-names are controlled  on
	    the client by starting the Xymon client with the "--class=Classname"
	    option.   If  you  specify	it  in	the  hosts.cfg file on the Xymon
	    server, it overrides any class name that the client reports. If  not
	    set,  then the host belongs to a class named by the operating system
	    the Xymon client is running on.

     dialup The keyword "dialup" for a host means that it is OK  for  it  to  be
	    off-line  - this should not trigger an alert. All network tests will
	    go "clear" upon failure, and any missing reports from e.g.	cpu- and
	    disk-status will not go purple when they are not updated.

     nonongreen
	    Ignore this host on the "All non-green" page. Even if it has an  ac-
	    tive  alert,  it  will  not be included in the "All non-green" page.
	    This also removes the host from the event-log display.

     nodisp Ignore this host completely when generating the Xymon webpages.  Can
	    be useful for monitoring a host without having it  show  up  on  the
	    webpages,  e.g. because it is not yet in production use. Or for hid-
	    ing a host that is shown only on a second pageset.

     TRENDS:[*,][![graph,...]]
	    Defines the RRD graphs to include in the "trends"  column  generated
	    by xymongen.  This option syntax is complex.
	    If this option is not present, xymongen provides graphs matching the
	    standard  set of RRD files: la, disk, memory, users, vmstat, iostat,
	    netstat, tcp, bind, apache, sendmail
	    * If this option is specified, the list of graphs to  include  start
	    out as being empty (no graphs).
	    * To include all default graphs, use an asterisk.  E.g. "TRENDS:*"
	    * To exclude a certain graph, specify it prefixed with '!'. E.g.  to
	    see all graphs except users: "TRENDS:*,!users"
	    *  The  netstat, vmstat and tcp graphs have many "subgraphs".  Which
	    of these are  shown  can  be  specified  like  this:  "TRENDS:*,net-
	    stat:netstat2|netstat3,tcp:http|smtp|conn"	 This	will   show  all
	    graphs, but instead of the normal netstat graph, there will be  two:
	    The netstat2 and netstat3 graphs. Instead of the combined tcp graphs
	    showing all services, there will be three: One for each of the http,
	    conn and smtp services.

     COMPACT:COLUMN=COLUMN1|COLUMN2|COLUMN3[,ditto]
	    Collapses  a series of statuses into a single column on the overview
	    web page.

     INTERFACES:REGEXP
	    On systems with multiple network interfaces,  the  operating  system
	    may report a number of network interface where the statistics are of
	    no	interest.  By default Xymon tracks and graphs the traffic on all
	    network interfaces. This option defines a  regular	expression,  and
	    only those interfaces whose name matches the expression are tracked.

XYMON TAGS FOR THE CRITICAL SYSTEMS OVERVIEW PAGE
     NOTE:  The "NK" set of tags is deprecated. They will be supported for Xymon
     4.x, but will be dropped in version 5.  It is  recommended  that  you  move
     your  critical  systems view to the criticalview.cgi(1) viewer, which has a
     separate configuration tool,  criticaleditor.cgi(1)  with	more  facilities
     than the NK tags in hosts.cfg.

     xymongen  will  create  three  sets of pages: The main page xymon.html, the
     all-non-green-statuses page (nongreen.html), and a specially  reduced  ver-
     sion  of nongreen.html with only selected tests (critical.html).  This page
     includes selected tests that currently have a red or yellow status.

     NK:testname[,testname]
	    NOTE: This has been deprecated, you should	use  criticalview.cgi(1)
	    instead of the NK tag.

	    Define  the tests that you want included on the critical page.  E.g.
	    if you have a host where you only want to  see  the  http  tests  on
	    critical.html, you specify it as

	      12.34.56.78  www.acme.com  # http://www.acme.com/ NK:http

	    If	you  want  multiple  tests  for  a host to show up on the criti-
	    cal.html page, specify all the tests separated by commas.  The  test
	    names  correspond to the column names (e.g.  https tests are covered
	    by an "NK:http" tag).

     NKTIME=day:starttime:endtime[,day:starttime:endtime]
	    This tag limits the time when an active alert is presented on the NK
	    web page.

	    By default, tests with a red or yellow status that are listed in the
	    "NK:testname" tag will appear on the NK page. However, you	may  not
	    want  the test to be shown outside of normal working hours - if, for
	    example, the host is not being serviced during week-ends.

	    You can then use the NKTIME tag to define the time periods where the
	    alert will show up on the NK page.

	    The time specification consists of

	    day-of-week: W means Mon-Fri ("weekdays"), * means all days, 0 ..  6
	    =  Sunday .. Saturday.  Listing multiple days is possible, e.g. "60"
	    is valid meaning "Saturday and Sunday".

	    starttime: Time to start showing errors, must be  in  24-hour  clock
	    format  as HHMM hours/minutes.  E.g. for 8 am enter "0800", for 9.30
	    pm enter "2130"

	    endtime: Time to stop showing errors.

	    If necessary, multiple periods can be specified. E.g. to  monitor  a
	    site    24x7,    except   between	noon   and   1	 pm,   use   NK-
	    TIME=*:0000:1159,*:1300:2359

	    The interval between start time and end  time  may	cross  midnight,
	    e.g.  *:2330:0200  would  be  valid  and  have  the  same  effect as
	    *:2330:2400,*:0000:0200.

XYMON TAGS FOR THE WML (WAP) CARDS
     If xymongen is run with the "--wml" option, it will generate a set of  WAP-
     format  output "cards" that can be viewed with a WAP-capable device, e.g. a
     PDA or cell-phone.

     WML:[+|-]testname[,[+|-]testname]
	    This tag determines which tests for this hosts are included  in  the
	    WML (WAP) page. Syntax is identical to the NK: tag.

	    The  default  set of WML tests are taken from the --wml command line
	    option.  If no "WML:" tag is specified, the "NK:"  tag  is	used  if
	    present.

XYMON STATUS PROPAGATION OPTIONS
     These tags affect how a status propagates upwards from a single test to the
     page  and higher. This can also be done with the command-line options --no-
     propyellow and --nopropred, but the tags apply to individual hosts, whereas
     the command line options are global.

     NOPROPRED:[+|-]testname[,[+|-]testname]
	    This tag is used to inhibit a yellow or red status from  propagating
	    upwards  -	i.e.  from  a  test status color to the (sub)page status
	    color, and further on to xymon.html or nongreen.html

	    If a host-specific tag begins with a '-' or a '+', the host-specific
	    tags are removed/added to the default setting from the  command-line
	    option. If the host-specific tag does not begin with a '+' or a '-',
	    the  default  setting is ignored for this host and the NOPROPRED ap-
	    plies to the tests given with this tag.

	    E.g.:   xymongen   runs   with   "--nopropred=ftp,smtp".	 "NOPRO-
	    PRED:+dns,-smtp"  gives  a	NOPROPRED  setting  of "ftp,dns" (dns is
	    added to the default, smtp is  removed).   "NOPROPRED:dns"	gives  a
	    setting of "dns" only (the default is ignored).

	    Note: If you set use the "--nopropred=*" command line option to dis-
	    able propagation of all alerts, you cannot use the "+" and "-" meth-
	    ods to add or remove from the wildcard setting. In that case, do not
	    use  the "+" or "-" setting, but simply list the required tests that
	    you want to keep from propagating.

     NOPROPYELLOW:[+|-]testname[,[+|-]testname]
	    Similar to NOPROPRED: tag, but applies to propagating a yellow  sta-
	    tus upwards.

     NOPROPPURPLE:[+|-]testname[,[+|-]testname]
	    Similar  to NOPROPRED: tag, but applies to propagating a purple sta-
	    tus upwards.

     NOPROPACK:[+|-]testname[,[+|-]testname]
	    Similar to NOPROPRED: tag, but applies to  propagating  an	acknowl-
	    edged status upwards.

XYMON AVAILABILITY REPORT OPTIONS
     These  options  affect the way the Xymon availability reports are processed
     (see report.cgi(1) for details about availability reports).

     REPORTTIME=day:starttime:endtime[,day:starttime:endtime]
	    This tag defines the time interval where you  measure  uptime  of  a
	    service for reporting purposes.

	    When  xymongen  generates  a report, it computes the availability of
	    each service - i.e. the percentage of time that the service  is  re-
	    ported as available (meaning: not red).

	    By	default,  this calculation is done on a 24x7 basis, so no matter
	    when an outage occurs, it counts as downtime.

	    The REPORTTIME tag allows you to specify a period of time other than
	    24x7 for the service availability calculation.  If you have  systems
	    where  you	only  guarantee  availability  from e.g. 7 AM to 8 PM on
	    weekdays, you can use
	      REPORTTIME=W:0700:2000
	    and the availability calculation will only be performed for the ser-
	    vice with measurements from this time interval.

	    The syntax for REPORTTIME is the same as the one used by the  NKTIME
	    parameter.

	    When  REPORTTIME  is specified, the availability calculation happens
	    like this:

	    * Only measurements done during the given time period  is  used  for
	    the calculation.
	    *  "blue"  time reduces the length of the report interval, so if you
	    are generating a report for a 10-hour period and there are	20  min-
	    utes of "blue" time, then the availability calculation will consider
	    the  reporting period to be 580 minutes (10 hours minus 20 minutes).
	    This allows you to have scheduled downtime during the REPORTTIME in-
	    terval without hurting your availability; this is  (I  believe)  the
	    whole idea of the downtime being "planned".
	    *  "red" and "clear" status counts as downtime; "yellow" and "green"
	    count as uptime. "purple" time is ignored.

	    The availability calculation correctly handles status  changes  that
	    cross into/out of a REPORTTIME interval.

	    If no REPORTTIME is given, the standard 24x7 calculation is used.

     WARNPCT:percentage
	    Xymon's reporting facility uses a computed availability threshold to
	    color  services green (100% available), yellow (above threshold, but
	    less than 100%), or red (below threshold) in the reports.

	    This option allows you to set the threshold value on a  host-by-host
	    basis,  instead of using a global setting for all hosts. The thresh-
	    old is defined as the percentage of the time that the host	must  be
	    available,	e.g.  "WARNPCT:98.5"  if you want the threshold to be at
	    98.5%

     noflap[=test1,test2,...]
	    Disable flap detection for this host, or for specific tests on  this
	    host.  Flap detection is globally controlled by options given to xy-
	    mond on the command line, but, if enabled, it can be disabled  using
	    this option.

NETWORK TEST SETTINGS
     testip By	default, Xymon will perform a name lookup of the hostname to get
	    the IP address it will use for network tests. This tag causes  Xymon
	    to use the IP listed in the hosts.cfg file.

     NET:location
	    This  tag defines the host as being tested from a specific location.
	    If xymonnet sees that the environment variable XYMONNETWORK is  set,
	    it	will only test the hosts that have a matching "NET:location" tag
	    in the hosts.cfg file. So this tag is useful if you have  more  than
	    one  system running network tests, but you still want to keep a con-
	    solidated hosts.cfg file for all your systems.

	    Note: The "--test-untagged" option modifies this behaviour, see  xy-
	    monnet(1)

     noclearSome  network  tests depend on others. E.g. if the host does not re-
	    spond to ping, then there's a good chance that the	entire	host  is
	    down and all network tests will fail. Or if the http server is down,
	    then  any  web  content  checks  are  also likely to fail.	To avoid
	    floods of alerts, the default behaviour is for  xymonnet  to  change
	    the  status  of  these tests that fail because of another problem to
	    "clear" instead of "red". The "noclear" tag disables this  behaviour
	    and causes all failing tests to be reported with their true color.

	    This  behaviour  can  also	be  implemented  on  a per-test basis by
	    putting the "~" flag on any network test.

	    Note that "noclear" also affects whether stale status messages  from
	    e.g.  a client on the host go purple or clear when the host is down;
	    see the "noclear" description in the "GENERAL PER-HOST OPTIONS" sec-
	    tion above.

     nosslcert
	    Disables the standard check of any SSL certificates for  this  host.
	    By	default,  if an SSL-enabled service is tested, a second test re-
	    sult is generated with information about the SSL certificate -  this
	    tag disables the SSL certificate checks for the host.

     ssldays=WARNDAYS:ALARMDAYS
	    Define  the  number  of  days  before an SSL certificate expires, in
	    which the sslcert status shows a warning  (yellow)	or  alarm  (red)
	    status.  These default to the values from the "--sslwarn" and "--ss-
	    lalarm" options for the xymonnet(1) tool; the  values  specified  in
	    the "ssldays" tag overrides the default.

     sslbits=MINIMUMKEYBITS
	    Enable  checking  of the encryption strength of the SSL protocol of-
	    fered by the server. If the server offers  encryption  using  a  key
	    with fewer than MINIMUMKEYBITS bits, the "sslcert" test will go red.
	    E.g. to check that your server only uses strong encryption (128 bits
	    or better), use "sslbits=128".

     sni

     nosni  Enables  or  disables  use	of  SNI (Server Name Indication) for SSL
	    tests.

	    Some SSL implementations cannot handle SSL handshakes with SNI data,
	    so Xymon by default does not use SNI. This default	can  be  changed
	    with  the "--sni" option for xymonnet(1) but can also be managed per
	    host with these tags.

	    SNI support was added in Xymon 4.3.13, where the default was to  use
	    SNI.  This	was  changed in 4.3.14 so SNI support is disabled by de-
	    fault, and the "sni" and "nosni" tags were introduced together  with
	    the "--sni" option for xymonnet.

     DOWNTIME=day:starttime:endtime[,day:starttime:endtime]

     DOWNTIME=columns:day:starttime:endtime:cause[,columns:day:starttime:end-
     time:cause]
	    This  tag  can be used to ignore failed checks during specific times
	    of the day - e.g. if you run services that are only  monitored  e.g.
	    Mon-Fri  8am-5pm, or you always reboot a server every Monday between
	    5 and 6 pm.

	    What happens is that if a test fails during the specified  time,  it
	    is reported with status BLUE instead of red, yellow, or purple. Thus
	    you  can still see when the service was unavailable, but alarms will
	    not be triggered and the downtime is not counted in the availability
	    calculations generated by the Xymon reports.

	    The "columns" and "cause" settings are optional, but both or neither
	    must be specified. "columns" may be a comma-separated list of status
	    columns to which DOWNTIME will apply.  The "cause"	string	will  be
	    displayed on the status web page to explain why the system is down.

	    The  syntax  for  DOWNTIME is the same as the one used by the NKTIME
	    parameter.

     SLA=day:starttime:endtime[,day:starttime:endtime]
	    This tag is now deprecated. Use the DOWNTIME tag instead.

	    This tag works the opposite of the DOWNTIME tag  -	you  use  it  to
	    specify  the  periods  of  the day that the service should be green.
	    Failures OUTSIDE the SLA interval are reported as blue.

     depends=(testA:host1/test1,host2/test2),(testB:host3/test3),[...]
	    This tag allows  you  to  define  dependencies  between  tests.   If
	    "testA" for the current host depends on "test1" for host "host1" and
	    test "test2" for "host2", this can be defined with

	       depends=(testA:host1/test1,host2/test2)

	    When  deciding  the color to report for testA, if either host1/test1
	    failed or host2/test2 failed, if testA  has  failed  also  then  the
	    color of testA will be "clear" instead of red or yellow.

	    Since  all tests are actually run before the dependencies are evalu-
	    ated, you can use any host/test in the dependency  -  regardless  of
	    the  actual sequence that the hosts are listed, or the tests run. It
	    is also valid to use tests from the same host that the dependency is
	    for. E.g.

	       1.2.3.4	foo # http://foo/ webmin depends=(webmin:foo/http)

	    is valid; if both the http and the webmin tests  fail,  then  webmin
	    will be reported as clear.

	    Note:  The	"depends" tag is evaluated by xymonnet while running the
	    network tests. It can therefore only refer to  other  network  tests
	    that  are  handled by the same server - there is currently no way to
	    use the e.g. the status of locally run tests (disk,  cpu,  msgs)  or
	    network  tests  from  other servers in a dependency definition. Such
	    dependencies are silently ignored.

     badTEST[-weekdays-starttime-endtime]:x:y:z
	    NOTE: This has been deprecated, use  the  delayred	and  delayyellow
	    settings instead.

	    Normally  when a network test fails, the status changes to red imme-
	    diately.  With a "badTEST:x:y:z" tag this behaviour changes:
	    * While "z" or more successive tests fail, the column goes RED.
	    * While "y" or more successive tests fail, but fewer than  "z",  the
	    column goes YELLOW.
	    *  While  "x" or more successive tests fail, but fewer than "y", the
	    column goes CLEAR.
	    * While fewer than "x"  successive	tests  fail,  the  column  stays
	    GREEN.

	    The  optional time specification can be used to limit this "badTEST"
	    setting to a particular time of day, e.g. to require a longer period
	    of downtime before raising an alarm during out-of-office hours.  The
	    time-specification uses:
	    *  Weekdays:  The weekdays this badTEST tag applies, from 0 (Sunday)
	    through 6 (Saturday). Putting "W" here counts as "12345",  i.e.  all
	    working  days.  Putting  "*"  here	counts	as all days of the week,
	    equivalent to "0123456".
	    * start time and end time are specified using 24-hour  clocks,  e.g.
	    "badTEST-W-0900-2000" is valid for working days between 9 AM (09:00)
	    and 8 PM (20:00).

	    When  using  multiple  badTEST  tags,  the LAST one specified with a
	    matching time-spec is used.

	    Note: The "TEST" is replaced by the name of the test, e.g.

	     12.34.56.78  www.foo.com  # http://www.foo.com/ badhttp:1:2:4

	    defines a http test that goes "clear" after the first failure, "yel-
	    low" after two successive failures, and "red" after four  successive
	    failures.

	    For  LDAP  tests  using URL's, use the option "badldapurl".  For the
	    other network tests, use "badftp", "badssh" etc.

CONNECTIVITY (PING) TEST
     These tags affect the behaviour of the xymonnet connectivity test.

     noping Disables the ping-test, but will keep the "conn" column on	the  web
	    display with a notice that it has been disabled.

     noconn Disables  the ping-test, and does not put a "conn" column on the web
	    display.

     conn   The "conn" test (which does a ping of the host) is enabled	for  all
	    hosts  by  default,  and  normally you just want to disable it using
	    "noconn" or "noping". However, on the rare occasion  where	you  may
	    want  to  check  that a host is NOT up, you can specify it as an ex-
	    plicit test, and use the normal test modifiers, e.g. "!conn" will be
	    green when the host is NOT up, and red if it does appear on the net-
	    work.

	    The actual name of the tag - "conn" by  default  -	depends  on  the
	    "--ping=TESTNAME"  option for xymonnet, as that decides the testname
	    for the connectivity test.

     conn={best,|worst,}IP1[,IP2...]
	    This adds additional IP-addresses that are pinged during the  normal
	    "conn" test. So the normal "conn" test must be enabled (the default)
	    before  this  tag  has  any effect. The IP-addresses listed here are
	    pinged in addition to the main IP-address.

	    When multiple IP's are pinged, you can choose if ALL IP's  must  re-
	    spond  (the  "worst"  method),  or AT LEAST one IP must respond (the
	    "best" setting). All of the IP's are reported  in  a  single  "conn"
	    status,  whose  color  is  determined from the result of pinging the
	    IP's and the best/worst setting.  The default method is "best" -  so
	    it will report green if just one of the IP's respond to ping.

     badconn[-weekdays-starttime-endtime]:x:y:z
	    This  is  taken  directly  from the "fping.sh" connectivity- testing
	    script, and is used by xymonnet when it runs with ping  testing  en-
	    abled (the default). See the description of the "badTEST" tag.

     route:router1,router2,....
	    This  tag is taken from the "fping.sh" script, and is used by xymon-
	    net when run with the "--ping" option to enable ping testing.

	    The router1,router2,... is a comma-separated list of hosts elsewhere
	    in the hosts.cfg file. You cannot have any spaces in the list - sep-
	    arate hosts with commas.

	    This tag changes the color reported for a  ping  check  that  fails,
	    when  one  or  more of the hosts in the "route" list is also down. A
	    "red" status becomes "yellow" - other colors are unchanged. The sta-
	    tus message will include information about the hosts in the  router-
	    list  that	are  down, to aid tracking down which router is the root
	    cause of the problem.

	    Note: Internally, the ping test will still be handled  as  "failed",
	    and therefore any other tests run for this host will report a status
	    of "clear".

     route_LOCATION:router1,router2,...
	    If	the  XYMONNETWORK  environment	variable  is  defined,	a tag of
	    "route_XYMONNETWORK:" is recognized by xymonnet with the same effect
	    as the normal "route:" tag (see above).  This  allows  you	to  have
	    different  route:  tags for each server running xymonnet. The actual
	    text for the tag then must match the value you have for  the  XYMON-
	    NETWORK  setting.	E.g.  with  XYMONNETWORK=dmz,  the  tag  becomes
	    "route_dmz:"

     trace  If the connectivity test fails, run a "traceroute" and  include  the
	    output  from this in the status message from the failed connectivity
	    test. Note: For this to work, you may have to define the  TRACEROUTE
	    environment variable, see xymonserver.cfg(5)

     notraceSimilar  to  the  "trace"  option,	this  disables	the running of a
	    traceroute for the host after a failed connectivity test. It is only
	    used if running traceroute is made the default via the  --trace  op-
	    tion.

SIMPLE NETWORK TESTS
     These tests perform a simple network test of a service by connecting to the
     port and possibly checking that a banner is shown by the server.

     How  these  tests operate are configured in the protocols.cfg(5) configura-
     tion file, which controls which port to use for  the  service,  whether  to
     send any data to the service, whether to check for a response from the ser-
     vice etc.

     You  can  modify the behaviour of these tests on a per-test basis by adding
     one or more modifiers to the test: :NUMBER changes the port number from the
     default to the one you specify for this test.  E.g. to test ssh running  on
     port 8022, specify the test as ssh:8022.

     :s  makes	the  test silent, i.e. it does not send any data to the service.
     E.g. to do a silent test of an smtp server, enter smtp:s.

     You can combine these two: ftp:8021:s is valid.

     If you must test a service from a multi-homed host (i.e. using  a	specific
     source  IP-address  instead of the one your operating system provides), you
     can use the modifier "@IPADDRESS" at the end of the test specification, af-
     ter any other modifiers or port number.  "IPADDRESS" must be a valid dotted
     IP-address (not hostname) which is assigned to the host running the network
     tests.

     The name of the test also determines the column name that the  test  result
     will appear with in the Xymon webpages.

     By  prefixing  a test with "!" it becomes a reverse test: Xymon will expect
     the service NOT to be available, and send a green status if it does NOT re-
     spond. If a connection to the service succeeds, the status will go red.

     By prefixing a test with "?" errors will be reported with a "clear"  status
     instead  of red. This is known as a test for a "dialup" service, and allows
     you to run tests of hosts that  are  not  always  online,	without  getting
     alarms while they are off-line.

     ftp ssh telnet smtp pop3 imap nntp rsync clamd oratns qmtp qmqp
	    These  tags  are for testing services offering the FTP, Secure Shell
	    (ssh),  SMTP,  POP3,  IMAP,  NNTP,	rsync,	CLAM  anti-virus  daemon
	    (clamd),  Oracle  TNS  listener (oratns), qmail QMTP and QMQP proto-
	    cols.

     ftps telnets smtps pop3s imaps nntps
	    These tags are for testing of the SSL-tunneled versions of the stan-
	    dard ftp, telnet, smtp, pop3, imap and nntp protocols.  If Xymon was
	    configured with support for SSL, you can test  these  services  like
	    any  other	network  service  - xymonnet will setup an SSL-encrypted
	    session while testing the service.	The server certificate is  vali-
	    dated  and	information  about it sent in the "sslcert" column. Note
	    that smtps does not have a standard port number assignment,  so  you
	    will  need	to  enter  this  into  the  protocols.cfg  file  or your
	    /etc/services file.

     bbd    Test that a Big Brother compatible daemon  is  running.  This  check
	    works  both  for  the  Xymon  xymond(8) daemon, and the original Big
	    Brother bbd daemon.

DNS SERVER TESTS
     These tags are used to setup monitoring of DNS servers.

     dns    Simple DNS test. It will attempt to lookup	the  A	record	for  the
	    hostname of the DNS server.

     dig    This  is  an  alias  for  the "dns" test. In xymonnet, the "dns" and
	    "dig" tests are handled identically, so all of  the  facilities  for
	    testing  described	for  the  "dns"  test are also available for the
	    "dig" test.

     dns=hostname

     dns=TYPE:lookup[,TYPE:lookup...]
	    The default DNS tests will attempt a DNS lookup of the DNS'  servers
	    own hostname. You can specify the hostname to lookup on a DNS server
	    by listing it on each test.

	    The  second  form of the test allows you to perform multiple queries
	    of the DNS server, requesting different types of  DNS  records.  The
	    TYPE  defines  the	type  of  DNS data: A (IP-address), MX (Mail eX-
	    changer), PTR (reverse), CNAME (alias), SOA (Start-Of-Authority), NS
	    (Name Server) are among the more common ones used. The  "lookup"  is
	    the  query.  E.g. to lookup the MX records for the "foo.com" domain,
	    you would use "dns=mx:foo.com". Or to lookup the nameservers for the
	    "bar.org" domain, "dns=ns:bar.org".  You can list multiple	lookups,
	    separated by commas. For the test to end up with a green status, all
	    lookups must succeed.

OTHER NETWORK TESTS
     ntp    Check for a running NTP (Network Time Protocol) server on this host.
	    This test uses the "ntpdate" utility to check for a NTP server - you
	    should  either have ntpdate in your PATH, or set the location of the
	    ntpdate program in $XYMONHOME/etc/xymonserver.cfg

     rpc[=rpcservice1,rpcservice2,...]
	    Check for one or more available RPC services. This check is indirect
	    in that it only queries the RPC Portmapper on the host, not the  ac-
	    tual service.

	    If	only "rpc" is given, the test only verifies that the port mapper
	    is available on the remote host. If you want to check  that  one  or
	    more  RPC  services  are  registered  with the port mapper, list the
	    names of the desired RPC services after the equals-sign. E.g. for  a
	    working  NFS  server the "mount", "nlockmgr" and "nfs" services must
	    be available; this can be checked with "rpc=mount,nlockmgr,nfs".

	    This test uses the rpcinfo tool for the actual test; if this tool is
	    not available in the PATH of xymonnet, you must define  the  RPCINFO
	    environment variable to point at this tool. See xymonserver.cfg(5)

HTTP TESTS
     Simple  testing  of  a  http URL is done simply by putting the URL into the
     hosts.cfg file. Note that this  only  applies  to	URL's  that  begin  with
     "http:" or "https:".

     The following items describe more advanced forms of http URL's.

     Basic Authentication with username/password
	    If	the  URL  requires  authentication in the form of a username and
	    password, it is most likely using the HTTP	"Basic"  authentication.
	    xymonnet support this, and you can provide the username and password
	    either by embedding them in the URL e.g.
		http://USERNAME:PASSWORD@www.sample.com/
	    or	by putting the username and password into the ~/.netrc file (see
	    ftp(1) for details).

     Authentication with SSL client certificates
	    An SSL client certificate can be used for  authentication.	 To  use
	    this,  the client certificate must be stored in a PEM-formatted file
	    together with the client certificate key, in  the  $XYMONHOME/certs/
	    directory. The URL is then given as
		http://CERT:FILENAME@www.sample.com/
	    The  "CERT:" part is literal - i.e. you write C-E-R-T-colon and then
	    the filename of the PEM-formatted certificate.
	    A PEM-formatted certificate file can be generated based on	certifi-
	    cates  stored in Microsoft Internet Explorer and OpenSSL. Do as fol-
	    lows:
	    From the MSIE Tools-Options menu, pick the	Content  tab,  click  on
	    Certificates,  choose  the	Personal tab, select the certificate and
	    click Export. Make sure you export the private key also. In the  Ex-
	    port File Format, choose PKCS 12 (.PFX), check the "Include all cer-
	    tificates"	checkbox  and  uncheck	the  "Enable strong protection".
	    Provide a temporary password for the exported  file,  and  select  a
	    filename for the PFX-file.
	    Now  run  "openssl pkcs12 -in file.pfx -out file.pem". When prompted
	    for the "Import Password", provide the temporary password  you  gave
	    when  exporting  the  certificate.	Then provide a "PEM pass phrase"
	    (twice) when prompted for one.
	    The file.pem file is the one you should use in the FILENAME field in
	    the URL - this file must be kept in $XYMONHOME/certs/.  The PEM pass
	    phrase must be put into a file named the same  as  the  certificate,
	    but with extension ".pass". E.g.  if you have the PEM certificate in
	    $XYMONHOME/certs/client.pem,  you  must put the pass phrase into the
	    $XYMONHOME/certs/client.pass file. Make sure to  protect  this  file
	    with  Unix permissions, so that only the user running Xymon can read
	    it.

     Forcing an HTTP or SSL version
	    Some SSL sites will only allow you to connect, if you  use	specific
	    "dialects" of HTTP or SSL. Normally this is auto-negotiated, but ex-
	    perience shows that this fails on some systems.

	    xymonnet can be told to use specific dialects, by adding one or more
	    "dialect names" to the URL scheme, i.e. the "http" or "https" in the
	    URL:

	    * "2",  e.g. https2://www.sample.com/ : use only SSLv2
	    * "3",  e.g. https3://www.sample.com/ : use only SSLv3
	    * "t",  e.g. httpst://www.sample.com/ : use only TLSv1.0
	    * "a",  e.g. httpsa://www.sample.com/ : use only TLSv1.0
	    * "b",  e.g. httpsb://www.sample.com/ : use only TLSv1.1
	    * "c",  e.g. httpsc://www.sample.com/ : use only TLSv1.2
	    * "m",  e.g. httpsm://www.sample.com/ : use only 128-bit ciphers
	    * "h",  e.g. httpsh://www.sample.com/ : use only >128-bit ciphers
	    * "10", e.g. http10://www.sample.com/ : use HTTP 1.0
	    * "11", e.g. http11://www.sample.com/ : use HTTP 1.1

	    These  can be combined where it makes sense, e.g to force TLS1.2 and
	    HTTP 1.0 you would use "httpsc10".

	    Note that SSLv2 support is disabled in all current OpenSSL releases.
	    TLS  version-specific  scheme  testing  requires  OpenSSL  1.0.1  or
	    higher.

     Testing sites by IP-address
	    xymonnet  ignores  the "testip" tag normally used to force a test to
	    use the IP-address from the hosts.cfg file instead of the  hostname,
	    when it performs http and https tests.

	    The  reason  for this is that it interacts badly with virtual hosts,
	    especially if these are IP-based as is common with https-websites.

	    Instead the IP-address to connect to can be overridden by specifying
	    it as:

		 http://www.sample.com=1.2.3.4/index.html

	    The "=1.2.3.4" will case xymonnet to run the test against the IP-ad-
	    dress "1.2.3.4", but still trying to access a virtual  website  with
	    the name "www.sample.com".

	    The  "=ip.address.of.host" must be the last part of the hostname, so
	    if you need to combine this with e.g. an explicit  port  number,  it
	    should be done as

		 http://www.sample.com:3128=1.2.3.4/index.html

     HTTP Testing via proxy
	    NOTE:   This   is	not   enabled  by  default.  You  must	add  the
	    "--bb-proxy-syntax" option when running xymonnet(1) if you	want  to
	    use this.

	    xymonnet  supports	the  Big  Brother  syntax for specifying an HTTP
	    proxy to use when performing http tests. This syntax just joins  the
	    proxy- and the target-URL into one, e.g.
		http://webproxy.sample.com:3128/http://www.foo.com/
	    would  be  the  syntax  for  testing the www.foo.com website via the
	    proxy running on "webproxy.sample.com" port 3128.

	    If the proxy port number is not specified,	the  default  HTTP  port
	    number (80) is used.

	    If	your proxy requires authentication, you can specify the username
	    and password inside the proxy-part of the URL, e.g.
		http://fred:Wilma1@webproxy.sample.com:3128/http://www.foo.com/
	    will authenticate to the proxy using a  username  of  "fred"  and  a
	    password  of  "Wilma1",  before  requesting  the  proxy to fetch the
	    www.foo.com homepage.

	    Note that it is not possible to test https-sites via a proxy, nor is
	    it possible to use https for connecting to the proxy itself.

     cont[=COLUMN];URL;[expected_data_regexp|#digesttype:digest]
	    This tag is used to specify a http/https check,  where  it	is  also
	    checked that specific content is present in the server response.

	    If	the  URL  itself  includes a semi-colon, this must be escaped as
	    '%3B' to avoid confusion over which semicolon is part  of  the  URL,
	    and which semicolon acts as a delimiter.

	    The  data that must be returned can be specified either as a regular
	    expression (except that <space> is not allowed) or as a message  di-
	    gest (typically using an MD5 sum or SHA-1 hash).

	    The  regex	is  pre-processed for backslash "\" escape sequences. So
	    you can really put any character  in  this	string	by  escaping  it
	    first:
	       \n     Newline (LF, ASCII 10 decimal)
	       \r     Carriage return (CR, ASCII 13 decimal)
	       \t     TAB (ASCII 8 decimal)
	       \\    Backslash (ASCII 92 decimal)
	       \XX    The character with ASCII hex-value XX

	    If	you  must have whitespace in the regex, use the [[:space:]] syn-
	    tax, e.g. if you want to test  for	the  string  "All  is  OK",  use
	    "All[[:space:]]is[[:space:]]OK".   Note that this may depend on your
	    particular implementation of the regex functions found in your C li-
	    brary. Thanks to Charles Goyard for this tip.

	    Note: If you are migrating from  the  "cont2.sh"  script,  you  must
	    change  the  '_' used as wildcards by cont2.sh into '.' which is the
	    regular-expression wildcard character.

	    Message digests can use whatever digest  algorithms  your  libcrypto
	    implementation  (usually  OpenSSL) supports.  Common message digests
	    are "md5", "sha1", "sha256" or "sha512".  The digest  is  calculated
	    on the data portion of the response from the server, i.e. HTTP head-
	    ers  are not included in the digest (as they change from one request
	    to the next).

	    The expected digest value can be computed  with  the  xymondigest(1)
	    utility.

	    "cont"  tags  in  hosts.cfg result in two status reports: One status
	    with the "http" check, and another with the "content" check.

	    As with normal URL's, the extended syntax  described  above  can  be
	    used  e.g.	when  testing SSL sites that require the use of SSLv2 or
	    strong ciphers.

	    The column name for the result of the content check  is  by  default
	    called  "content"  -  you  can  change  the default with the "--con-
	    tent=NAME" option to xymonnet. See xymonnet(1) for a description  of
	    this option.

	    If more than one content check is present for a host, the first con-
	    tent  check  is  reported in the column "content", the second is re-
	    ported in the column "content1", the third in "content2" etc.

	    You can also specify the column name directly in the test specifica-
	    tion, by writing it as "cont=COLUMN;http://...".  Column-names  can-
	    not include whitespace or semi-colon.

	    The  content-check	status by default includes the full URL that was
	    requested, and the HTML data returned by the server.  You  can  hide
	    the HTML data on a per-host (not per-test) basis by adding the HIDE-
	    HTTP tag to the host entry.

     content=URL
	    This  syntax  is  deprecated. You should use the "cont" tag instead,
	    see above.

     post[=COLUMN];URL;form-data;[expected_data_regexp|#digesttype:digest]
	    This tag can be used to test web pages, that use an input form. Data
	    can be posted to the form by specifying them in the form-data field,
	    and the result can be checked as if it was a  normal  content  check
	    (see above for a description of the cont-tag and the restrictions on
	    how the URL must be written).

	    The  form-data  field must be entered in "application/x-www-form-ur-
	    lencoded" format, which is the most commonly  used	format	for  web
	    forms.

	    E.g. if you have a web form defined like this:

	       <form action="/cgi-bin/form.cgi" method="post">
		 <p>Given name<input type="text" name="givenname"></p>
		 <p>Surname<input type="text" name="surname"></p>
		 <input type="submit" value="Send">
	       </form>

	    and  you  want  to post the value "John" to the first field and "Doe
	    Jr." to the second field, then the form data field would be

		givenname=John&surname=Doe+Jr.

	    Note that any spaces in the input value is replaced with '+'.

	    If your form-data requires a different content-type, you can specify
	    it by beginning the form-data with (content-type=TYPE), e.g.  "(con-
	    tent-type=text/xml)"  followed  by	the POST data. Note that as with
	    normal forms, the POST data should	be  specified  using  escape-se-
	    quences  for  reserved  characters:  "space"  should  be  entered as
	    "\x20", double quote as "\x22", newline as "\n", carriage-return  as
	    "\r", TAB as "\t", backslash as "\\".  Any byte value can be entered
	    using "\xNN" with NN being the hexadecimal value, e.g. "\x20" is the
	    space character.

	    The  [expected_data_regexp|#digesttype:digest]  is the expected data
	    returned from the server in response to the POST.  See  the  "cont;"
	    tag  above	for details. If you are only interested in knowing if it
	    is possible to submit the form (but don't care about the data), this
	    can be an empty string - but the ';' at the end is required.

     nocont[=COLUMN];URL;forbidden_data_regexp
	    This tag works just like "cont" tag, but reverses the test.   It  is
	    green when the "forbidden_data_regexp" is NOT found in the response,
	    and  red  when it IS found. So it can be used to watch for data that
	    should NOT be present in the response, e.g. a server error message.

     nopost[=COLUMN];URL;form-data;expected_data_regexp
	    This tag works just like "post" tag, but reverses the test.   It  is
	    green when the "forbidden_data_regexp" is NOT found in the response,
	    and  red  when it IS found. So it can be used to watch for data that
	    should NOT be present in the response, e.g. a server error message.

     type[=COLUMN];URL;expected_content_type
	    This is a variant of the content check -  instead  of  checking  the
	    content  data,  it	checks the type of the data as given by the HTTP
	    Content-Type: header. This can used to check if a URL returns e.g. a
	    PDF file, regardless of what is inside the PDF file.

     soap[=COLUMN];URL;SOAPMESSAGE;[expected_data_regexp|#digesttype:digest]
	    Send SOAP message over HTTP. This is identical to the  "cont"  test,
	    except  that  the  request sent to the server uses a Content-type of
	    "application/soap+xml", and it also sends a "SOAPAction" header with
	    the URL. SOAPMESSAGE is the SOAP message sent to the  server.  Since
	    SOAP  messages  are  usually  XML documents, you can store this in a
	    separate file by specifying "file:FILENAME" as the SOAPMESSAGE para-
	    meter.  E.g. a test specification of
		soap=echo;http://soap.foo.bar/baz?wsdl;file:/home/foo/msg.xml;.
	    will read the SOAP message from the file /home/foo/msg.xml and  post
	    it to the URL http://soap.foo.bar/bas?wsdl

	    Note that SOAP XML documents usually must begin with the XML version
	    line, <?xml version="1.0">

     nosoap[=COLUMN];URL;SOAPMESSAGE;[forbidden_data_regexp|#digesttype:digest]
	    This  tag  works just like "soap" tag, but reverses the test.  It is
	    green when the "forbidden_data_regexp" is NOT found in the response,
	    and red when it IS found. So it can be used to watch for  data  that
	    should NOT be present in the response, e.g. a server error message.

     httphead[=COLUMN];URL
	    This is used to perform an HTTP HEAD request instead of a GET.

     httpstatus[=COLUMN];URL;okstatusexpr;notokstatusexpr
	    This  is  used  to	explicitly test for certain HTTP statuscodes re-
	    turned when the URL is requested. The okstatusexpr and  nokokstatus-
	    expr  expressions  are  Perl-compatible  regular  expressions,  e.g.
	    "2..|302" will match all OK codes  and  the  redirect  (302)  status
	    code. If the URL cannot be retrieved, the status is "999".

     HIDEHTTP
	    The status display for HTTP checks usually includes the URL, and for
	    content checks also the actual data from the web page.  If you would
	    like  to  hide these from view, then the HIDEHTTP tag will keep this
	    information from showing up on the status webpages.

     headermatch
	    Content checks by default only search the HTML body returned by  the
	    webserver. This option causes it to also search the HTTP headers for
	    the string that must / must not be present.

     browser=BROWSERNAME
	    By default, Xymon sends an HTTP "User-Agent" header identifying it a
	    "Xymon". Some websites require that you use a specific browser, typ-
	    ically  Internet  Explorer. To cater for testing of such sites, this
	    tag can be used to modify the data sent in the User-Agent header.
	    E.g. to perform an HTTP test with Xymon masquerading as an	Internet
	    Explorer  6.0  browser,  use  browser="Mozilla/4.0 (compatible; MSIE
	    6.0; Windows NT 5.0)".  If you  do	not  know  what  the  User-Agent
	    header  should be, open up the browser that works with this particu-
	    lar site,  and  open  the  URL  "javascript:document.writeln(naviga-
	    tor.userAgent)" (just copy this into the "Open URL" dialog. The text
	    that shows up is what the browser sends as the User-Agent header.

     httphdr=STRING
	    Xymon can be send additional headers when performing HTTP checks, to
	    allow  for	validation  of any custom configurations needed for your
	    site. Note that this is a host-wide configuration. The  string  will
	    be added directly to the headers for all URLs on that host. There is
	    currently no way to have this occur only for specific URLs checked.
	    The  string  should be encased in quotes, like httphdr="X-Requested-
	    With: XMLHttpRequest".  Newlines can be included, however the string
	    MUST NOT end with a newline as that may cause  premature  ending  of
	    the headers sent.

LDAP (DIRECTORY SERVER) TESTS
     ldap

     ldaps  Simple  check  for	an LDAP service. This check merely looks for any
	    service running on the ldap/ldaps service port, but does not perform
	    any actual LDAP transaction.

     ldap://hostport/dn[?attrs[?scope[?filter[?exts]]]]
	    Check for an LDAP service by performing an LDAP request. This tag is
	    in the form of an LDAP URI (cf. RFC 2255). This type  of  LDAP  test
	    requires  that xymonnet(1) was built with support for LDAP, e.g. via
	    the OpenLDAP library.  The components of the LDAP URI are:
	      hostport is a host name with an optional ":portnumber"
	      dn is the search base
	      attrs is a comma separated list of attributes to request
	      scope is one of these three strings:
		base one sub (default=base)
	      filter is filter
	      exts are recognized set of LDAP and/or API extensions.

     ldaps://hostport/dn[?attrs[?scope[?filter[?exts]]]]
	    LDAP service check using LDAPv3 and STARTTLS for talking to an  LDAP
	    server  that  requires TLS encryption. See xymonnet(1) for a discus-
	    sion of the different ways of running LDAP servers with SSL/TLS, and
	    which of these are supported by xymonnet.

     ldaplogin=username:password
	    Define a username and password to  use  when  binding  to  the  LDAP
	    server  for  ldap URI tests. If not specified, xymonnet will attempt
	    an anonymous bind.

     ldapyellowfail
	    Used with an LDAP URL test. If  the  LDAP  query  fails  during  the
	    search  of	the  directory,  the ldap status is normally reported as
	    "red" (alarm). This tag reduces  a	search	failure  to  a	"yellow"
	    (warning) status.

PERFORMANCE MONITORING TESTS
     apache[=URL]
	    If	you  are running an Apache web server, adding this tag makes xy-
	    monnet(1) collect performance statistics from the Apache web  server
	    by	querying  the  URL http://IP.ADDRESS.OF.HOST/server-status?auto.
	    The response is sent as a data-report and processed by the Xymon xy-
	    mond_rrd module into an RRD file and an "apache" graph. If your  web
	    server  requires e.g. authentication, or runs on a different URL for
	    the server-status, you can provide the full URL needed to fetch  the
	    server-status	page,	    e.g.       apache=http://LOGIN:PASS-
	    WORD@10.0.0.1/server-status?auto   for    a    password    protected
	    server-status			 page,			      or
	    apache=http://10.0.0.1:8080/apache/server-status?auto for  a  server
	    listening  on port 8080 and with a different path to the server-sta-
	    tus page.

	    Note that you need to enable the server-status URL	in  your  Apache
	    configuration. The following configuration is needed:

		<Location /server-status>
		    SetHandler server-status
		    Order deny,allow
		    Deny from all
		    allow from 127.0.0.1
		</Location>
		ExtendedStatus On

	    Change  "127.0.0.1"  to  the IP-address of the server that runs your
	    network tests.

DEFAULT HOST
     If you have certain tags that you want to apply to all hosts, you	can  de-
     fine  a host name ".default." and put the tags on that host. Note that per-
     host definitions will override the default ones. To apply to all hosts this
     should be listed FIRST in your file.

     NOTE: The ".default." host entry will only accept the following tags - oth-
     ers are silently ignored: delayyellow, delayred, NOCOLUMNS, COMMENT, DESCR,
     CLASS, dialup, testip,  nonongreen,  nodisp,  noinfo,  notrends,  noclient,
     TRENDS, NOPROPRED, NOPROPYELLOW, NOPROPPURPLE, NOPROPACK, REPORTTIME, WARN-
     PCT,  NET,  noclear, nosslcert, ssldays, DOWNTIME, depends, noping, noconn,
     trace, notrace, HIDEHTTP, browser, pulldata. Specifically, note  that  net-
     work  tests,  "badTEST" settings, and alternate pageset relations cannot be
     listed on the ".default." host.

SENDING SUMMARIES TO REMOTE XYMON SERVERS
     summary ROW.COLUMN IP URL
	    If you have multiple Xymon servers, the "summary" directive lets you
	    form a hierarchy of servers by sending the overall	status	of  this
	    server  to a remote Xymon server, which then displays this in a spe-
	    cial summary section. E.g. if your offices are spread over three lo-
	    cations, you can have a Xymon server at each office.  These  branch-
	    office  Xymon  have  a  "summary" definition in their hosts.cfg file
	    that makes them report the overall status of their branch  Xymon  to
	    the central Xymon server you maintain at the corporate headquarters.

	    Multiple "summary" definitions are allowed.

	    The  ROW.COLUMN setting defines how this summary is presented on the
	    server that receives the summary. The ROW text will be used  as  the
	    heading  for  a summary line, and the COLUMN defines the name of the
	    column where this summary is shown - like the hostname and	testname
	    used  in the normal displays. The IP is the IP-address of the remote
	    (upstream) Xymon server, where this summary is sent). The URL is the
	    URL of your local Xymon server.

	    The URL need not be that of your Xymon server's main page - it could
	    be the URL of a sub-page on the local Xymon server. Xymon  will  re-
	    port  the  summary	using the color of the page found at the URL you
	    specify.  E.g. on your corporate Xymon server  you	want  a  summary
	    from the Las Vegas office - but you would like to know both what the
	    overall  status  is,  and  what  is the status of the servers on the
	    critical Sales department back-office servers in Las Vegas.  So  you
	    configure the Las Vegas Xymon server to send two summaries:

		summary Vegas.All 10.0.1.1 http://vegas.foo.com/xymon/
		summary Vegas.Sales 10.0.1.1 http://vegas.foo.com/xymon/sales/

	    This  gives you one summary line for Baltimore, with two columns: An
	    "All" column showing the overall status, and a "Sales" column  show-
	    ing the status of the "sales" page on the Baltimore Xymon server.

	    Note:  Pages  defined  using alternate pageset definitions cannot be
	    used, the URL must point to a web page from the default set of Xymon
	    webpages.

OTHER TAGS
     pulldata[=[IP][:port]]
	    This option is recognized by the xymonfetch(8) utility,  and  causes
	    it	to  poll  the  host for client data. The optional IP-address and
	    port-number can be used if the  client-side  msgcache(8)  daemon  is
	    listening on a non-standard IP-address or port-number.

FILES
     ~xymon/server/etc/hosts.cfg

SEE ALSO
     xymongen(1), xymonnet(1), xymondigest(1), xymonserver.cfg(5), xymon(7)

Xymon			   Version 4.3.30:  4 Sep 2019		    HOSTS.CFG(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=hosts.cfg&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help