xymonq(1)

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

Section 1 xymonq bookworm source

Description

XYMONQ

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)

See Also