xymon-rnamedstats

Introduction

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.

Licence

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.

Installation

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.

Multi-hop Connections

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

    Other

    xymon-rnamedstats has been used on a Linux display server to monitor Solaris nodes.

    Comments, submissions welcome: jeremy+xymonrnamedstats@laidman.org