xymon-rnamedstats is an extension for Xymon
that fetches a BIND statistics log file, parses it for useful counters,
and injects it into Xymon for graphing in the Trends page.
It requires no additional software to be installed on the remote system. It was invented
to allow execution via remote shell type packages such as rsh, rexec, rlogin
and ssh. For security reasons, only ssh is recommended.
This provides a way to monitor servers that are not directly accessible by
the Xymon display server, or when software cannot be installed or user accounts
cannot be created. As long as you have a way to run a shell on the remote server,
you should be able to use xymon-rnamedstats to monitor that server.
xymon-rnamedstats is hererby released into the public domain. Use it however you need. It'd be nice if you let me know how well it works for you.
Download/view v0.3 or changelog.
Older versions: v0.1 and v0.2.
To install and use, follow the instructions in the comments at the
start of the script.
Sometimes the target server is not even remotely contactable by hosts that
the Xymon server can connect, and requires multiple connections to get to
a shell prompt the the server to be monitored. This can be overcome in most
cases, depending on the connectivity. Here are some examples that might work for you.
- via proxy:
- xymon server -[proxy]-> web proxy server -[ssh]-> target server
- .ssh/config: ProxyCommand /usr/bin/nc -X connect -x proxyserver:8080 %h %p
- via another server with ssh, target private key on intermediate server:
- xymon server -[ssh]-> intermediate server -[ssh]-> target server
- .ssh/config: ProxyCommand ssh -i .ssh/authkey intermediateservername
- via another server with ssh, target private key on Xymon server:
- xymon server ->[tunnel]->( -[ssh]-> intermediate server -[ssh]->)-[ssh]-> target server
- .ssh/config: ProxyCommand ssh -i .ssh/authkey intermediateservername 'exec 3<>/dev/tcp/%h/%p; cat <&3 & cat >&3; kill $!' (requires bash)
It's useful, and sometimes important to specify the following parameters to ssh connections, either in the cmd() command-line specification, or in the .ssh/config file:
-T = disable pseudo-terminal allocation
BatchMode=yes - prevent ssh from hanging if user input is required (eg key fails and password required)
-i ~xymon/.ssh/keyfile (or IdentityFile) - specify authentication key
xymon-rnamedstats has been used on a Linux display server to monitor Solaris nodes.
Comments, submissions welcome: firstname.lastname@example.org