============================================================================ Terabithia RPM package for Xymon Monitor ============================================================================ This is a set of RPM packages for the Xymon server and client. * xymon -- Install this on your main box * xymon-client -- Install this on all boxes you want to monitor, including (as of 4.3.18), your main xymon server itself * xymon-client-local -- Install this on any client you plan to operate in "local configuration mode" (similar to how the old Big Brother system worked) On RHEL6/7 systems, the Xymon server requires the 'rrdtool' package, which is in the Optional or Supplemental channels via RHN. (CentOS users should have it already available to them in the standard repo.) On RHEL/CentOS 5, rrdtool is available via EPEL. The LZ4 package (a compression option) is available via EPEL for all three versions. General documentation about the Xymon Systems and Network Monitor is at http://xymon.sourceforge.net/ ==================== CLIENT CONFIGURATION ==================== Edit XYMONSERVERS in /etc/sysconfig/xymon-client and run /sbin/service xymon-client start ========================= DIRECTORY LAYOUT - CLIENT ========================= /etc/sysconfig/xymon-client <-- xymon server to send reports to /etc/xymon-client <-- configuration files /etc/xymon-client/client.d <-- clientlaunch.cfg (tasks.cfg) includes /dev/shm <-- tmpdir Optional: Create this directory and add small executables/scripts to have their output included as custom "local:" sections in the client report. /usr/local/share/xymon-client ========================= DIRECTORY LAYOUT - SERVER ========================= /etc/xymon <-- configuragion files /etc/xymon/web <-- web template files /var/lib/xymon <-- state data (reports, etc) /var/lib/xymon/tmp <-- longer-term temporary data /var/www/xymon <-- pages generated by xymongen (web interface) /var/run/xymon <-- pid/sockets (systemd systems use /run/xymon) /var/cache/xymon <-- www-generated data (reports and snapshots) /var/lib/xymon/notes <-- optional "notes" channel destination /var/lib/xymon/periodic <-- daily/weekly/monthly reports /usr/share/xymon <-- XYMONHOME /usr/share/xymon/cgi-bin <-- viewing CGI utilities /usr/share/xymon/cgi-secure <-- administration CGI utilities /usr/share/xymon/static <-- web-accessible static files (gifs/CSS/js) Note: These files cannot be marked as config files and will be replaced on upgrade. To customize, copy add a new directory and modify the Apache alias snippet to point to your directory instead. Users of packages prior to 4.3.17 should fully stop their xymon server and manually compare xymonserver.cfg and xymonserver.cfg.rpmnew for important differences. Among other things, the location of XYMONHOME has recently changed. See CHANGES-terabithia for more details on additional features in this RPM, a change log, and other technical notes. Although based off the upstream source distribution it contains a number of additional optimizations and features for a high volume environment, some of which should be considered experimental. If you find these packages helpful or have any questions, let me know! Feedback is greatly appreciated... -Japheth "J.C." Cleaver cleaver@terabithia.org TERABITHIA NOTES AND GOTCHAS ============================================================================ ========================== xymon-client-local Package ========================== The default 'xymon-client' package CANNOT be used in --local mode (where the red/yellow/green threshold alerting is configured locally and only the status messages are sent to your xymon server). To use this feature, you'll need to install 'xymon-client-local' also. (This package requires the pcre package, which is why it's broken out like this.) 1) All server and client files have been moved to standard LSB/FHS locations, and most uses of $XYMONHOME and $XYMONCLIENTHOME variables have been replaced with hard-coded paths. Symlinks have been provided, so scripts written to use a home directory should still "just work". 2) The standard client distinguishes between a single recipient (XYMSRV) and multiple recipients (XYMONSERVERS). In this package, XYMSRV is *always* set to 0.0.0.0 and you should use XYMONSERVERS to configure your report destination(s). 3) The 'clientupdate' functionality has been removed from the automation since it overwrites local binaries (logfetch and the use of client-local.cfg works like normal) and doesn't apply SELinux context, causing execution to fail. To update the binaries on the various client systems, simply use yum and rpm. 4) On a Xymon server, running `xymoncmd` will load the SERVER'S environment files instead of the local client's. Thus, custom client scripts written for reporting should always specify "--env=/etc/xymon-client/xymonclient.cfg" so that they'll go to the right place, even on the main server itself. 5) xymonping is no longer built in the package. On install, your xymonserver.cfg file will be automatically munged to use fping instead. 6) /var/www/xymon can be mounted on a tmpfs easily, and provides a large xymongen performance boost. Use something like: mount -t tmpfs -o uid=xymon,gid=xymon,mode=755 tmpfs /var/www/xymon/ 7) systemd support is available for Fedora 18+. Both the server and client packages use a single "xymonlaunch.service" unit file under the hood, but alias names for "xymon" and "xymon-client" are provided. 8) The xymon-client package should also be installed on the server, as they no longer contain file conflicts. On systemd systems, uninstalling one package might leave the service file for the xymonlaunch.service in an uninstalled state. This can be fixed by running this afterwards: /usr/bin/systemctl preset xymonlaunch.service ================== PACKAGE REBUILDING ================== Those interested in experimental versions of this package can obtain them at http://terabithia.org/rpms/xymon/testing/ . Rebuilders of this package can enable a number of different flags, including building packages using "libxymon" shared libraries. The lz4-devel package is available for RHEL5, 6, and 7 via EPEL. The rrdtool-devel package is in EPEL for RHEL5, and the supplemental channel on RHEL6. On RHEL7 and RHEL8, even more of the devel packages are in the optional channel. Use something like yum --enablerepo=rhel-7-server-optional-rpms install c-ares-devel rrdtool-devel lzo-devel selinux-policy-doc