Xymon/Hobbit Plugins -------------------- This set of client and server plugins (scripts, extensions) is moderately tailored for Debian, but should be pretty usable on any *nix platform. Some plugins require additional packages installed. Included client plugins: * apt - check for outstanding updates Optional configuration files: /etc/xymon/apt_no_repo_accept - Packages not from repositories but ok. /etc/xymon/apt_reject - Packages which must not be installed at all. Both configuration files should have one package names matching Perl regular expression per line. The regular expression is implicitly surrounded by "^" and "$" so a line just containing "gnome" doesn't match most gnome packages but only the "gnome" meta package. Use ".*" at the end of the line to match multiple packages with the same prefix. Please note that this also means that you have to escape plus-signs ("+") in package names with backslash ("\"). See the example below. Example file: conkeror dphys-swapfile unburden-home-dir virtualbox-ose-modules-.* xlockmore-gl xscreensaver.* g\+\+ * bkpc - check hosts backed up with BackupPC Needs: backuppc, sudo Based on the nagios backuppc check at http://n-backuppc.cvs.sf.net/viewvc/n-backuppc/check_backuppc/check_backuppc?revision=1.21 In comparison to other included checks this one uses no special configuration files but needs to be configured via commandline options in /etc/xymon/clientlaunch.d/backuppc.cfg Run "/usr/lib/xymon/client/ext/backuppc --help" for available options. * dirtyetc - check for conffiles which are modified compared to Debian's defaults but should not be. Needs: sudo (recommended), debsums Configuration file: /etc/xymon/dirty_etc_ok - Which files are ok to be modified. The file should contain one path match Perl regular expression per line, with ^ and $ implied. Example file: /etc/xymon/clientlaunch.d/dirtyetc.cfg /etc/dphys-config /etc/unburden_home_dir.* * dirtyvcs - check for not checked in modifications or files in VCS repositories Needs: libfile-which-perl Also checks the consistency of (non-bare) git repositories. Configuration files: /etc/xymon/dirty_vcs_dirs - Where to look for repositories. .dirtyvcs_no_fsck (per git repository) .git/dirtyvcs_no_fsck (local per git repository) The file dirty_vcs_dirs should contain one directory path per line, wildcards allowed. In each of the matching directories, it looks for the typical subdirectories of the supported version control systems (for now Git, Mercurial, Bzr and Subversion) and queries the state of the repository. Example file: /etc /etc/* /etc/amavis/conf.d /opt /opt/* /opt/*/bin /opt/*/sbin /usr/local/bin /usr/local/sbin !/opt/test/bin Paths listed with a leading exclamation mark ("!") will be skipped. This allows system administrators to check for their repos, but skip users' repos. No wildcards supported there currently. The existence of a file named .dirtyvcs_no_fsck (per git repository, to be committed into the repository) or .git/dirtyvcs_no_fsck (local per working copy) prevents that dirtyvcs runs "git fsck" on the repository. This may be needed on big repositories where "git fsck" runs quite some time or needs too much RAM or I/O. * ipmi - read IPMI sensors and event log Needs: ipmitool * misc - plugin which can aggregate the output and states of other plugins Needs: libsysadm-install-perl * misc.d/zombies - Warns about processes in zombie state. Configuration file: /etc/xymon/zombies_ignore Text up to the first whitespace is considered a perl regular expression (with implicit ^…$ around) to match the name in the "Name" line of /proc/*/status of the zombie's parent process. If the regular expression contains the string ":^" the text before this string is a regular expression matched against the user name of the owner of the process and the text behind is the actual regular expression matched against the zombie's parent program name. Use this to ignore e.g. ssh zombies only if they belong to a specific user. All text starting with the first non-whitespace after the first white space is considered the reason for whitelisting these zombie processes. Example file at /usr/share/doc/hobbit-plugins/examples/zombies_ignore * libs - check for running processes with upgraded libraries Needs: binutils, lsof, sudo, libsort-naturally-perl, and libyaml-tiny-perl It is possible to ignore some deleted files either in general or for specific processes identified by their executable path. See /usr/share/doc/hobbit-plugins/examples/libs.local.yaml or /etc/xymon/libs.yaml for examples. Use /etc/xymon/libs.local.yaml to specify local additions to the configurations. If needed you can edit /etc/xymon/libs.yaml but it is recommended to leave it alone as it contains the generic exceptions distributed by the Debian package. For each process you can list an array of regular expressions. A process path of '*' indicates regular expressions applied to any process. * mailman - check for the existence of Mailman qfiles. Needs: sudo * mdstat - check for failed or resyncing software RAID devices * mq - checks (Postfix's) mail queue Checks at least Postfix's mail queue by parsing the mailq command's output. Patches to support other MTAs are welcome. Recognizes too many mails in the mailq as well as possible RBL issues. * misc - meta plugin for running series of scripts Needs: libsysadm-install-perl * ntpq - check the ntpd daemon synchronization status (needs ntp) * postgres - statistics graphs for postgresql databases Needs: libdbd-pg-perl * sftbnc - check if the local Postfix MTA has soft_bounce enabled. Included server plugins: * aptdiff - monitor list of installed packages in host pools * conn6 - check IPv6 connectivity Needs: fping Enable this test in /etc/xymon/xymonlaunch.d/conn6.cfg and add conn6 to the services of a host in bb-hosts and this script will ping6 the AAAA record of the given host. Alternatively you can add a comma separated list of IPv6 addresses or hostnames that resolve to IPv6 addresses as a parameter to conn6, to ping6 all these addresses. Examples: 10.1.2.3 foo # ftp conn6:2001:db8:1::42 10.1.2.4 bar # smtp conn6 10.1.2.5 baz # conn6:baz.example.com dialup 10.1.2.6 router # conn6:2001:db8:1::1,2001:db8:2::1 * ircbot - relay status changes to IRC Needs: libpoe-component-irc-perl * tftp - check downloading files from TFTP servers Needs: libnet-tftp-perl Enable this test in /etc/xymon/xymonlaunch.d/tftp.cfg and add tftp to the services of a host and this script will try to download the file /pxelinux.0 via TFTP from the given host. Alternatively you can add colon separated a file or path which should be used to test the TFTP server. Currently only one file per server can be tested. Examples: 10.1.2.3 foo # ftp tftp 10.1.2.4 bar # smtp tftp:bootmgr.exe 10.1.2.5 baz # tftp:/sparc.img More plugins: * Xymonton (formerly "The Shire"): http://xymonton.org/ * Many Big Brother plugins also run with Xymon: http://www.deadcat.net/ * The Xymon monitor itself can be found at http://xymon.sourceforge.net/ Feedback welcome, especially suggestions for new plugins - use the Debian BTS, or e-mail us at hobbit-plugins@packages.debian.org. -- Axel Beckert , Wed, 14 May 2014 10:45:44 +0200