• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build/H03-May-2022-4,0343,105

client/H04-Sep-2019-4,5553,305

common/H04-Sep-2019-6,1184,918

debian/H04-Sep-2019-2,0111,534

demotool/H04-Sep-2019-1,070936

docs/H03-May-2022-596507

include/H04-Sep-2019-13191

lib/H03-May-2022-25,21918,392

rpm/H04-Sep-2019-366300

web/H04-Sep-2019-14,10010,870

xymond/H03-May-2022-45,06034,875

xymongen/H04-Sep-2019-6,3424,749

xymonnet/H03-May-2022-11,0448,236

xymonproxy/H04-Sep-2019-1,5111,167

COPYINGH A D13-Jul-201217.7 KiB340281

CREDITSH A D29-Apr-20191.7 KiB9382

ChangesH A D04-Sep-2019168.7 KiB3,7923,246

READMEH A D18-Jan-20173 KiB9068

README.CLIENTH A D08-Mar-20114.9 KiB151116

README.backfeedH A D26-Jul-20133.4 KiB9773

RELEASENOTESH A D04-Sep-201923.6 KiB614446

configureH A D28-Sep-2014683 3521

configure.clientH A D22-Apr-20196.7 KiB261230

configure.serverH A D22-Apr-201915.6 KiB591537

README

1README file for Xymon
2=====================
3
4What is it ?
5------------
6Xymon is a system for monitoring your network servers and
7applications. It is heavily inspired by the Big Brother
8tool, but is a complete re-implementation with a lot of added
9functionality and performance improvements. A slightly more
10detailed rationale for Xymon is in the docs/about.html file.
11
12NOTE: On Nov 10 2008, Hobbit was officially renamed to
13"Xymon". The name "Hobbit" is trademarked, and therefore
14cannot be used without permission from the trademark
15holders.
16
17
18How to install
19--------------
20Detailed installation instructions are in the
21docs/install.html file. Essentially, it boils down
22to running
23	./configure
24	make
25	make install
26but do have a look at the install.html file for more
27detailed instructions.
28
29
30Documentation
31-------------
32The docs/ directory holds information about the basic
33installation and configuration of Xymon. All of the
34tools and configuration files in Xymon have man-pages
35that are installed automatically when installing Xymon.
36The xymon(7) man page provides an introduction to
37Xymon and has pointers to the other man-pages of the
38package.
39
40
41License
42-------
43Xymon is copyrighted (C) 2002-2017 by Henrik Storner.
44
45Xymon is Open Source software, made available under the
46GNU General Public License (GPL) version 2, with the explicit
47exemption that linking with the OpenSSL libraries is permitted.
48See the file COPYING for details.
49
50Xymon is released under the GPL, and therefore available
51free of charge. However, if you find it useful and want
52to encourage further development, I do have an Amazon
53wishlist at http://www.amazon.co.uk/ - just search for
54my mail-address (henrik@hswn.dk). A contribution in the
55form of a book, CD or DVD is appreciated.
56
57The following files are distributed with Xymon and used
58by Xymon, but written by others and are NOT licensed under the GPL:
59
60* The lib/rmd160c.c, lib/rmdconst.h, lib/rmdlocl.h and lib/ripemd.h
61  files are Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com).
62  The license is BSD-like, but see these files for the exact license.
63  The version in Xymon was taken from the FreeBSD CVS archive.
64
65* The lib/md5.c and lib/md5.h files are (C) L. Peter Deutsch,
66  available under a BSD-like license from
67  http://sourceforge.net/projects/libmd5-rfc/
68
69* The lib/sha1.c file is originally written by by Steve Reid
70  <steve@edmweb.com> and placed in the public domain. The version
71  in Xymon was taken from the "mutt" mail client sources, so
72  some changes were done by Thomas Roessler <roessler@does-not-exist.org>.
73
74
75Support
76-------
77There is an open mailing list for discussing Xymon, asking
78questions about how to use Xymon, reporting bugs etc. You
79can subscribe to the list by sending an e-mail to
80
81   xymon-subscribe@xymon.com
82
83or on the web http://lists.xymon.com/mailman/listinfo/xymon
84
85Please note that mail sent from addresses that are not subscribed
86to the list need to go through a moderator approval, and therefore
87may not show up on the list for some time.
88
89
90

README.CLIENT

1Unix client for Xymon
2======================
3As of version 4.1, Xymon ships with a native client for
4most Unix-based systems.
5
6The Xymon client will generate status columns for:
7* cpu    : CPU utilisation
8* disk   : Filesystem (disk) utilisation
9* files  : File- and directory attributes and sizes
10* memory : Memory and Swap utilisation
11* msgs   : Log file messages
12* ports  : TCP/IP Network connections
13* procs  : Processes
14
15It will also feed data to generate some graphs:
16* ifstat : Raw traffic data for network interfaces
17* netstat: TCP/IP statistics
18* vmstat : Various performance counters (OS-specific)
19
20In the default setup, all configuration of disk thresholds,
21load limits, which processes to monitor etc. is done on the
22Xymon server, NOT on the client. This is to allow centralized
23configuration of the monitored systems.
24
25If you prefer to have the client configuration done locally
26on each of the systems you monitor, this is an option when
27building the client. It is possible to have a mix of systems,
28with some systems configured locally, and others that use
29the central configuration. Note: The locally-configured
30client requires the PCRE libraries to be installed on the
31client host.
32
33The Xymon client is released under the GNU GPL, version 2
34or later. See the file COPYING for details.
35
36
37Installation
38============
39Building the client package requires a working C compiler
40and GNU make on the target platform. None of the extra libraries
41needed for building Xymon are used by the client - so a
42plain C compiler installation with GNU make is all that is
43needed.
44
45To build the client:
46
47	- create a "xymon" userid on the system
48	  (not required, but recommended).
49	- extract the Xymon source archive
50	- cd to the xymon-X.X directory
51	- run "./configure --client; make"
52	- as root, run "make install"
53
54The client installation is kept entirely within
55the "xymon" users' home-directory. All client-related
56files are in the ~xymon/client/ directory. If convenient,
57this directory can be copied directly to other systems
58of the same type, so you need not build the client from
59source on all systems.
60
61
62Running it
63==========
64To start the client, su to the "xymon" user, then run
65   $HOME/client/runclient.sh start
66
67You should arrange for your boot-time scripts to run this
68command at startup.
69
70
71Client configuration
72====================
73All of the normal configuration is done on the Xymon SERVER.
74See the analysis.cfg(5) and client-local.cfg(5) man-
75pages on the Xymon server.
76
77
78Hostname detection
79------------------
80The client reports to Xymon using the hostname taken from
81the "uname -n" command output. Whether this provides a fully
82qualified DNS name (myserver.foo.com) or a simple hostname
83(myserver) varies a lot. If your client gets it wrong, you
84can override the default with the "--hostname=CLIENT.HOST.NAME"
85option to the runclient.sh startup command.
86
87
88OS detection on Linux systems
89-----------------------------
90The client normally determines the operating system auto-
91matically from the "uname -s" output. This results in all
92Linux systems reporting as "Linux" - which causes the
93vmstat graphs to fail for certain types of systems:
94
95	- Systems running Linux kernels 2.2.x (e.g. Debian Woody)
96	  Must report "linux22" instead.
97	- Red Hat Enterprise Linux 2.1
98	  Must report "linux22" instead.
99	- Red Hat Enterprise Linux 3 update 1
100	  The default is adequate
101	- Red Hat Enterprise Linux 3 update 2 or later
102	  Must report "rhel3" instead.
103	- Red Hat Enterprise Linux 4 update 2 and later
104	  The default is adequate
105
106To override the default, start the client using the
107"--os=OSNAME" option to the runclient.sh startup command.
108
109(Thanks to Thomas Seglard Enata for providing the about the
110 various Red Hat versions).
111
112
113Extension scripts
114-----------------
115The file client/etc/clientlaunch.cfg configures the "xymonlaunch"
116used to run the client scripts. If you need to run extension
117scripts for your client, you can add them to this file. The
118environment variables commonly used by Big Brother-based extensions
119are made available by xymonlaunch for the scripts, so in most
120cases extensions written for the Big Brother client will work
121without modifications on Xymon.
122
123Each script should have a separate section in the file, like the
124default one that runs the core client:
125
126[myextension]
127	ENVFILE /usr/lib/xymon/client/etc/xymonclient.cfg
128	CMD /usr/lib/xymon/client/ext/myscript.sh
129	INTERVAL 5m
130	LOGFILE /usr/lib/xymon/client/logs/myscript.log
131
132See the tasks.cfg(5) man-page for a full description
133of this file.
134
135
136Installing on multiple systems
137==============================
138After building and installing the client on one system, you can
139copy the client installation to other systems. You need only copy
140the directory structure with the "client" directory.
141
142The client does not have any hardcoded file- or directory-paths
143embedded in it, so you can put the client files anywhere you
144like, as long as you preserve the directory structure below the
145"client" directory.
146
147
148
149Henrik Stoerner, 2006-Apr-23
150
151

README.backfeed

1Enabling the "backfeed" channel on the Xymon server
2===================================================
3
4Background
5----------
6Traditionally, all communication between modules on the
7Xymon server uses a TCP connection to xymond. This is a
8simple standardized way of talking to the daemon, e.g. to
9send status updates from xymond_client or xymonnet into
10the xymond daemon.
11
12However, a TCP connection also carries quite a bit of overhead.
13On a server with a very high load of messages this can be a
14problem - empirical evidence shows that the limit appears to
15be around 3300 messages/second.
16
17
18Solution
19--------
20To solve this, an alternative interface has been implemented
21using the standard SysV IPC "message queue" interface. This
22is a POSIX standard, and other parts of SysV IPC is already
23used by Xymon.
24
25
26Operating system configuration
27------------------------------
28Unfortunately, most systems have default settings for the
29message queue parameters MSGMNB (total # of bytes allowed in
30the queue) and MSGMAX (maximum size of a single mssage) settings.
31E.g. on Linux, defaults for these are 16 kB and 8 Kb, respectively.
32Since Xymon by default permits status messages of up to 256 kB
33in size, these settings are inadequate.
34
35On Linux, you change the settings via the "sysctl" utility. Most
36Linux systems have these settings defined in /etc/sysctl.conf, so
37you add these parameters:
38	kernel.msgmax=262144
39	kernel.msgmnb=1048576
40The "msgmax" setting should match your MAXMSG_STATUS setting in
41xymonserver.cfg, converted to bytes (MAXMSG_STATUS is in kB, so
42you must multiply it by 1024 for the kernel.msgmax value).
43"msgmnb" should be 4 times the msgmax setting. After setting these,
44either run "sysctl -f /etc/sysctl.conf" or reboot the server
45to enable the new settings.
46
47For other systems, please refer to your OS documentation.
48
49
50Enabling the backfeed queue
51---------------------------
52The backfeed queue is disabled by default. To enable it, add the
53"--bfq" option to xymond (in your tasks.cfg) and restart Xymon.
54You can verify that this has been enabled by checking the output
55from "ipcs -q" - you should see a line with a message queue owned
56by the Xymon userid:
57
58   ------ Message Queues --------
59   key        msqid      owner      perms      used-bytes   messages
60   0x0a01205e 98305      xymon      666        0            0
61
62
63Using the backfeed queue
64------------------------
65xymond_client and xymonnet will automatically use the backfeed queue,
66if available.
67
68If you have custom scripts or tools running on the Xymon server, then
69you can send messages into the queue using the standard "xymon" utility.
70To do so, set the recipient to "0". E.g.
71
72   xymon 0 "status localhost.test green"
73
74will send a status update via the backfeed queue.
75
76NOTE: The backfeed queue is "one-way", so it can only be used for "status",
77"data", "drop" and "rename" messages - i.e., any message where xymond does
78not return a response.
79
80
81Checking if the queue is used
82-----------------------------
83The "xymond" status page includes statistics on the kinds of messages
84received by xymond. If the backfeed queue is used, you should see
85the number reported in the "backfeed messages" line increase.
86
87You can also query xymond for "senderstats": This lists the number of
88connections to xymond from each IP-address. The backfeed queue shows up
89as IP "0.0.0.0":
90
91$ xymon 127.0.0.1 "senderstats"
920.0.0.0 1360796
93127.0.0.1 1648
9410.0.31.155 1397281
95
96
97