XYMONQ(1)

NAME
xymonq - a frontend to query the Xymon network- and systems-monitor.

SYNOPSIS
xymonq [ -c conf-file] -q QUERYTYPE [-P PAGEPATH] [-H HOSTNAME] [-T TEST] [-C COLOR[,COLOR,...]] [-X CRITS] [-f FIELD[,FIELD,...]] [-s SECTION[,SECTION,...]] | -l ] [-S|-p] [-h | -V] [-d]
xymonq -q clientlog [-P PAGEPATH] [-H HOSTNAME] [-T TEST] [-C COLOR[,COLOR,...]] [-X CRITS] [-s SECTION[,SECTION,...]] | -l ]
xymonq -q xymondboard [-P PAGEPATH] [-H HOSTNAME] [-T TEST] [-C COLOR[,COLOR,...]] [-X CRITS] [-f FIELD,[FIELD,...]]
xymonq -q hostinfo [-P PAGEPATH] [-H HOSTNAME] [-T TEST] [-C COLOR[,COLOR,...]] [-X CRITS]
xymonq -q xymondlog [-P PAGEPATH] [-H HOSTNAME] {-T TEST | -l} [-C COLOR[,COLOR,...]] [-X CRITS]
xymonq -q ghostlist [-a [-]AGE] [-l]
xymonq -q config [-f file]
xymonq -q {ping|version}

DESCRIPTION
xymonq is a frontend to send various query-messages via xymon(1) to a Xymon server xymond(8). All test- (column) information for one or more hosts/tests and internal status information of Xymon can be retrieved.

xymonq - A frontend to query the Xymon network- and systems-monitor.

  OPTIONS TO SELECT DISPLAYED DATA FOR THE HOSTS:

-q QUERYTYPE
    Query to perform to Xymon [clientlog | xymondboard | hostinfo | xymondlog | ghost[list] | config | ping]

See section QUERYTYPES for details.

  OPTIONS TO SELECT HOSTS:

-P PAGEPATH
    A PAGEPATH specification from hosts.cfg(*).

-H HOSTNAME
    A hostname from hosts.cfg(*). To read the hosts from stdin use "-" (all other filters inactive).

-T TEST
    The name of a TEST, defaults to "info"(*).

(*) interpreted as a REGEX

-C COLOR
    only tests with COLOR, may be coma-separated list like "clear,green", default: empty=all colors

-X CRITS
    eXtra CRITERIA, like "ip=", "net=" or "tag=", CRITS are passed as-is to xymondboard

       This is to provide support for new or less often used filter CRITERIA. `-X` may be used multiple times (`-X ip=172.33 -X tag=test`) or have multiple quoted criteria (`-X "ip=172.33 tag=test`).
       Since Xymon v4.3.19 filtering on the whole message (`msg=PCRE`), various timestamps and XMH-values (`XMH_string=VALUE`, e.g. `XHM_CLASS=linux` -- see `xymon-xmh(5)`) is possible too.

An empty (or missing) option matches every item of that criterium.

-L  print evaluated hostlist to stdout and exit

-S  print "HOST=hostname" separator-lines above data (deprecated)

-p  prefix each line of output w/ "hostname: ", valid for queries: clientlog, xymondboard, xymondlog

  Options for clientlog:

-f FIELD
    fields to print, defaults to "hostname"

-s SECTION
    one or more section-names, coma separated If empty the whole clientlog is printed

-l  list available sections only (as they occur)

  Options for xymondboard:

-f FIELD
    fields to print, defaults to empty, thus using xymon-defaults

  Options for xymondlog:

-l  just list available tests for selected host(s)

  Options for ghostlist:

-a [-]AGE
    print only host with report AGE; AGE is a GNU-date "-s"-compatible string) The "-" prefix inverts the selection.

-l  only print the hostnames instead of the default full "ghostline"

  Options for client:

-f file
    The file to retrieve, e.g. "hosts.cfg", "analysis.cfg". Only files ending with ".cfg" can be fetched. Defaults to "hosts.cfg".

  Global options:

-c conf-file
    use specified config-file, this prevents searching default locations; default-values apply if not specified. Has to be 1st cmdline option in order to allow selectively override values from cmdline.

-v  verbose output, print the "xymon"-commandlines

-V  print version info

-d  enable debug output

-h  this help message

QUERYTYPES
This is only a short description of the query types possible. For more detailed information see xymon(1).

clientlog
  Get the raw-data transmitted to the xymon-server. This contains the data gathered by the `xymonclient*`-scripts.

xymondboard
  Obtain status for one or more hosts w/ extensive filtering on the host-selection side as well as the output-side (-f FIELDS).

hostinfo
  Retrieve the config from `hosts.cfg` about one or more hosts (host-selection like xymondboard).

xymondlog
  Print full of status-columns as dispayed on the web interface.

config
  Retrieve a config-file (only ".cfg"-files) from the `server/etc/`-dir of the xymon-server.

ghostlist
  Get information about hosts sending data without being present in the xymon-server configuration.

ping|version
  Get version of the xymon-server, this uses the `ping`-command.

CONFIG FILE
The default configuration and some query-settings can be adjusted with a configuration file. The file has to conform to bash(1) syntax as it is sourced as-is.

Possible settings (default values shown):

  XYMON_CMD="xymon" Path and command name for `xymon` binary.
  XYMON_SRV="127.0.0.1:1984" Where to find the Xymon server: IP:PORT (recommended) or HOSTNAME:PORT.
  QUERYTYPE="" The default query to execute.
  TEST="info" The test to use for selecting hosts or printing w/ xymondlog.
  FIELDS="..." The fields to print for xymondboard, defaults to xymon(1)-defaults.
  SECTION="" Section(s) to print for clientlog. Multiple sections are comma separated.

The config file can be specified via `-c conf-file`. If no config-file is specified `xymonq` searches the following locations in order, using the first one found:

  1. ./.xymonq.cfg
  2. ~/.xymonq.cfg
  3. /etc/xymon/xymonq.cfg
  4. if no file is found: use default values

EXAMPLES
Print a list of all hosts known to xymon (i.e. defined in hosts.cfg)
  xymonq -L

Examples for clientlog:

  Print the 'clientlog' for all hosts
    xymonq -q clientlog

  List all sections in 'clientlog' for all hosts on page 'dc1', print "HOST="-separator
    xymonq -q clientlog -P dc1 -lS

  Print the 'osversion' section for hosts whole hostname matches the regex "bb.*com"
    xymonq -q clientlog -H "bb.*com" -s osversion

Examples for xymondlog:

  List all tests for all hosts on page 'dc1' whose hostname contain 'mx'
    xymonq -q xymondlog -P dc1 -H mx -l

  Print the 'disk'-status of hosts whose hostname match the PCRE 'bb'
    xymonq -q xymondlog -H bb -T disk

Examples for xymondboard:

  Identical host-selection as above but show the first line of the 'cpu'-status
    xymonq -q xymondboard -H bb -T cpu -f line1

Examples for ghostlist:

  Get the "hosts.cfg"-file:
    xymonq -q config
    xymonq -q config -f hosts.cfg

  Get "analysis.cfg"-file:
    xymonq -q config -f analysis.cfg

Examples for ghostlist:

  Print the full ghostlist:
    xymonq -q ghostlist

  Print the hosts from ghostlist that reported within the last 5 minutes:
    xymonq -q ghostlist -a "5 minutes ago"

  Print the hostnames only from ghostlist that reported at least 24 hours ago:
    xymonq -q ghostlist -a "-yesterday" -l

Examples for config:

  Fetch `hosts.cfg`:
    xymonq -q config -f hosts.cfg

AUTHOR
Written by Thomas Eckert

COPYRIGHT
Copyright © 2015-2018 Thomas Eckert, http://www.it-eckert.com/

SEE ALSO
xymon(1), xymon-xmh(5), xymond(8)