123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- Installation notes
- ==================
- Privileges
- ==========
- symux needs read and write access to its rrdfiles.
- symon needs to interface with your kernel. Depending on your host system this
- leads to different privilege requirements:
- OpenBSD: - no privs: cpu, debug, df, if, io, mbuf, mem, proc, sensor
- - rw on /dev/pf for pf
- NetBSD: - no privs: cpu, debug, df, if, io, mbuf, proc
- - r on /dev/sysmon for sensor
- FreeBSD: - no privs: all
- - non-chroot on FreeBSD 5.x for CPU ticks in proc
- - rw on /dev/pf for pf and pfq
- Linux: - r on /proc/net/dev: if
- - r on /proc/stat: cpu, cpuiow
- - r on /proc/meminfo: mem
- all:
- - r on chroot/etc/localtime for proper timezone logging
- Real quick on OpenBSD
- =====================
- (cd /usr/ports/net/rrdtool && make install) &&
- make &&
- make install &&
- vi /etc/symux.conf /etc/symon.conf &&
- ~symon/symux/c_smrrds.sh all &&
- /usr/local/libexec/symux &&
- useradd -d /var/empty -L daemon -c 'symon Account' -s /sbin/nologin _symon
- /usr/local/libexec/symon
- or grab the port and do
- make package
- pkg_add symon-mon-version.tgz on all monitored hosts
- pkg_add symon-mux-version.tgz on the loghost
- Install the seperate syweb package to show the data stored in the rrd files.
- Less quick, but all OSes
- ========================
- - Install rrdtool on the host that will also run your symux gatherer.
- BSDs: cd /usr/ports/net/rrdtool && make install
- - Check Makefile.inc for settings. Things to watch out for are:
- + PREFIX = Where does the installation tree start. Defaults to
- '/usr/local'.
- + BINDIR = Where should the daemons be put, relative to $PREFIX. Defaults
- to 'libexec'.
- + MANDIR = Where should the manuals be installed, relative to
- $PREFIX. Defaults to 'man'.
- + SHRDIR = Where are the example configurations to be installed. Defaults
- to 'share/symon'.
- + RRDDIR = $RRDDIR/include should yield rrd.h. Define SYMON_ONLY in the
- environment or on the make command line to render this mute.
- + INSTALLUSER / GROUPDIR / GROUPFILE = user and groups that install should
- use.
- Note that:
- + you can define SYMON_ONLY if you do not want to compile symux / do not
- have rrdtool installed.
- + symon/platform/os/Makefile.inc is read before Makefile.inc; define
- your vars in the environment, or in Makefile.inc with != to force
- overwriting the defaults.
- BSDs: Run make && make install
- Linux: Run pmake && pmake install || bmake && bmake install
- - Create an '/etc/symon.conf' for each monitored host and one symux.conf for
- the gatherer host. See the manual pages on how to specify alternative
- configuration file locations, if necessary. Note that there are example
- configurations for both in $PREFIX/$SHRDIR.
- - Create the rrd files where the incoming symon data is to be
- stored. $PREFIX/$SHRDIR/c_smrrds.sh and symux -l are your friends. Note that
- syweb expects an '.../machine/*.rrd' style directory structure somewhere
- under /var/www.
- - Ensure that /etc/localtime is accessible by symon/symux. Failing this you
- will get log messages in GMT. Note that etc is chroot/etc when symon
- chroots.
- - Both symon and symux will daemonize if started normally. Start them with
- debugging on initially to iron out any configuration problems:
- $PREFIX/$BINDIR/symux -d &
- $PREFIX/$BINDIR/symon -d
- - Remove -d flags and check system logs for any failures.
- - Only if you need the webinterface: download and install syweb.
- Getting measurements without the web
- ====================================
- The client directory contains a perl module 'SymuxClient.pm' that can be used
- to read measurements as they come in at the symux host. A sample Perl program
- called 'getsymonitem.pl' shows how to use the module.
- Example:
- nexus$ getsymonitem.pl 127.0.0.1 2100 127.0.0.1 "cpu(0)" "idle"
- 93.40
- Historical data can be gathered using rrdfetch(1) from symux's rrd files.
- Portability
- ===========
- This package was originally built as an OpenBSD application. It now has support
- for FreeBSD, NetBSD and Linux.
- Willem Dijkstra - wpd@xs4all.nl
|