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

FreeBSD Manual Pages


home | help
XYMONGREP(1)		    General Commands Manual		  XYMONGREP(1)

       xymongrep - pick	out lines in hosts.cfg

       xymongrep --help
       xymongrep --version
       xymongrep  [--noextras] [--test-untagged] [--web] [--net] [--loadhosts-
       fromxymond] TAG [TAG...]

       xymongrep(1) is for use by extension scripts that need to pick out  the
       entries in a hosts.cfg file that	are relevant to	the script.

       The  utility  accepts test names	as parameters, and will	then parse the
       hosts.cfg file and print	out the	host entries that have at least	one of
       the  wanted tests specified. Tags may be	given with a trailing asterisk
       '*', e.g. "xymongrep http*" is needed to	find all http and https	tags.

       The xymongrep utility supports the use of "include"  directives	inside
       the hosts.cfg file, and will find matching tags in all included files.

       If  the	DOWNTIME  or SLA tags are used in the hosts.cfg(5) file, these
       are interpreted relative	to the current time.  xymongrep	then outputs a
       "INSIDESLA"  or "OUTSIDESLA" tag	for easier use by scripts that want to
       check if	the current time is inside or outside the expected uptime win-

	      Remove the "testip", "dialup", "INSIDESLA" and "OUTSIDESLA" tags
	      from the output.

	      When using the XYMONNETWORK environment variable	to  test  only
	      hosts  on	 a  particular	network	 segment, xymonnet will	ignore
	      hosts that do not	have any "NET:x" tag.  So only hosts that have
	      a	NET:$XYMONNETWORK tag will be tested.
	      With  this  option,  hosts  with no NET: tag are included	in the
	      test, so that all	hosts that either have a matching NET: tag, or
	      no NET: tag at all are tested.

	      xymongrep	 will query the	Xymon server for the current status of
	      the "conn" test, and if TESTNAME is specified also for the  cur-
	      rent  state  of  the specified test. If the status of the	"conn"
	      test for a host is non-green, or the status of the TESTNAME test
	      is  disabled, then this host is ignored and will not be included
	      in the output.  This can be used to ignore hosts that are	 down,
	      or hosts where the custom	test is	disabled.

       --web  Search  the hosts.cfg file following include statements as a Xy-
	      mon web-server would.

       --net  Search the hosts.cfg file	following include statements  as  when
	      running xymonnet.

	      xymongrep	will normally attempt to load the HOSTSCFG file	by it-
	      self when	searching for lines to transmit. If the	 file  is  un-
	      readable,	 it will exit out. With	this option, it	will query the
	      xymond server (set via  the  XYMONSERVER	environment)  for  the
	      hosts  file. This	can be used if you're running this on a	client
	      or remote	system and can't or don't want to have	the  hosts.cfg
	      file synchronized	across your servers.

       If your hosts.cfg file looks like this  #	ftp telnet !oracle  #	oracle #	smtp

       and you have a custom Xymon extension script that performs the "oracle"
       test, then running "xymongrep oracle" would yield  #	!oracle  #	oracle

       so the script can quickly find the hosts	that are of interest.

       Note that the reverse-test modifier - "!oracle" - is  included  in  the
       output;	this also applies to the other test modifiers defined by Xymon
       (the dial-up and	always-true modifiers).

       If your extension scripts use more than one tag,	just list all  of  the
       interesting tags	on the command line.

       xymongrep  also supports	the "NET:location" tag used by xymonnet, so if
       your script performs network checks then	it will	 see  only  the	 hosts
       that  are relevant for the test location	that the script	currently exe-
       cutes on.

       To integrate xymongrep into an existing script, look for	 the  line  in
       the  script  that grep's	in the $HOSTSCFG file.	Typically it will look
       somewhat	like this:

	  $GREP	-i "^[0-9].*#.*TESTNAME" $HOSTSCFG | ... code to handle	test

       Instead of the grep, we will use	xymongrep. It then becomes

	  $XYMONHOME/bin/xymongrep TESTNAME | ... code to handle test

       which is	simpler, less error-prone and more efficient.

	      If set, xymongrep	outputs	only lines from	hosts.cfg that have  a
	      matching NET:$XYMONNETWORK setting.

	      Filename for the Xymon hosts.cfg(5) file.

	      The Xymon	hosts.cfg file

       hosts.cfg(5), xymonserver.cfg(5)

Xymon			  Version 4.3.30:  4 Sep 2019		  XYMONGREP(1)


Want to link to this manual page? Use this URL:

home | help