diff options
-rw-r--r-- | sysutils/Makefile | 1 | ||||
-rw-r--r-- | sysutils/symon/Makefile | 40 | ||||
-rw-r--r-- | sysutils/symon/files/patch-conf.sh | 59 | ||||
-rw-r--r-- | sysutils/symon/files/patch-sm_proc.c | 18 | ||||
-rw-r--r-- | sysutils/symon/files/patch-symon-Makefile | 14 | ||||
-rw-r--r-- | sysutils/symon/files/patch-symux-Makefile | 14 | ||||
-rw-r--r-- | sysutils/symon/pkg-descr | 16 | ||||
-rw-r--r-- | sysutils/symon/pkg-install | 24 | ||||
-rw-r--r-- | sysutils/symon/pkg-message | 15 | ||||
-rw-r--r-- | sysutils/symon/pkg-plist | 13 |
10 files changed, 214 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile index 1824253..5fa4dd6 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -442,6 +442,7 @@ SUBDIR += stress SUBDIR += su2 SUBDIR += symlinks + SUBDIR += symon SUBDIR += synergy SUBDIR += syslog-ng SUBDIR += system-tools-backends diff --git a/sysutils/symon/Makefile b/sysutils/symon/Makefile new file mode 100644 index 0000000..e4e2805 --- /dev/null +++ b/sysutils/symon/Makefile @@ -0,0 +1,40 @@ +# New ports collection makefile for: sysutils/symon +# Date created: 17.02.2005 +# Whom: Ulrich Spoerlein <q@uni.de> +# +# $FreeBSD$ +# + +PORTNAME= symon +PORTVERSION= 2.70 +CATEGORIES= sysutils +MASTER_SITES= http://www.xs4all.nl/~wpd/symon/philes/ + +MAINTAINER= q@uni.de +COMMENT= Performance and information monitoring tool + +LIB_DEPENDS= rrd.0:${PORTSDIR}/net/rrdtool + +WRKSRC= ${WRKDIR}/${PORTNAME} +MAKE_ARGS+= SYSCONFDIR=${LOCALBASE}/etc BINDIR=bin +PKGMESSAGE= ${WRKDIR}/.pkg-message + +MAN8= symon.8 symux.8 + +.include <bsd.port.pre.mk> + +.if ${OSVERSION} < 500000 +post-patch: + @${ECHO} "" > ${WRKSRC}/platform/FreeBSD/Makefile.inc +.endif + +post-build: + @${SED} 's,%%LOCALBASE%%,${LOCALBASE},g' pkg-message > ${PKGMESSAGE} + +pre-install: + @${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL + +post-install: + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.post.mk> diff --git a/sysutils/symon/files/patch-conf.sh b/sysutils/symon/files/patch-conf.sh new file mode 100644 index 0000000..0ead1aa --- /dev/null +++ b/sysutils/symon/files/patch-conf.sh @@ -0,0 +1,59 @@ +--- platform/FreeBSD/conf.sh.orig Thu Mar 10 09:34:37 2005 ++++ platform/FreeBSD/conf.sh Thu Mar 10 09:35:24 2005 +@@ -1,25 +1,34 @@ +-case `grep -cq "m_drops" /usr/include/sys/mbuf.h` in +-1) echo "#define HAS_MBUF_MDROPS 1" ;; +-0) echo "#undef HAS_MBUF_MDROPS" ;; +-esac; +-case `grep -cq "sf_allocfail" /usr/include/sys/mbuf.h` in +-1) echo "#define HAS_MBUF_SFALLOCFAIL 1" ;; +-0) echo "#undef HAS_MBUF_SFALLOCFAIL" ;; +-esac; +-case `grep -cq "VM_TOTAL" /usr/include/vm/vm_param.h` in +-0) echo "#define VM_TOTAL VM_METER" ;; +-esac; +-sysctl -N vm.nswapdev 1>/dev/null 2>&1 +-case $? in +-1) echo "#undef HAS_VM_NSWAPDEV" ;; +-0) echo "#define HAS_VM_NSWAPDEV 1" ;; +-esac; ++#!/bin/sh ++if grep -q "m_drops" /usr/include/sys/mbuf.h; then ++ echo "#define HAS_MBUF_MDROPS 1" ++else ++ echo "#undef HAS_MBUF_MDROPS" ++fi ++if grep -q "sf_allocfail" /usr/include/sys/mbuf.h; then ++ echo "#define HAS_MBUF_SFALLOCFAIL 1" ++else ++ echo "#undef HAS_MBUF_SFALLOCFAIL" ++fi ++if ! grep -q "VM_TOTAL" /usr/include/vm/vm_param.h; then ++ echo "#define VM_TOTAL VM_METER" ++fi ++if grep -q "struct xswdev" /usr/include/vm/vm_param.h; then ++ echo "#define HAS_VM_NSWAPDEV 1" ++else ++ echo "#undef HAS_VM_NSWAPDEV" ++fi + if [ -f /usr/include/net/pfvar.h ]; then + echo "#define HAS_PFVAR_H 1" + else + echo "#undef HAS_PFVAR_H" +-fi; +-case `grep -cq "ki_paddr" /usr/include/sys/user.h` in +-1) echo "#define HAS_KI_PADDR 1" ;; +-0) echo "#undef HAS_KI_PADDR" ;; +-esac; +\ No newline at end of file ++fi ++if grep -q "ki_paddr" /usr/include/sys/user.h; then ++ echo "#define HAS_KI_PADDR 1" ++else ++ echo "#undef HAS_KI_PADDR" ++fi ++if grep -q "struct rusage_ext" /usr/include/sys/proc.h; then ++ echo "#define HAS_RUSAGE_EXT 1" ++else ++ echo "#undef HAS_RUSAGE_EXT" ++fi diff --git a/sysutils/symon/files/patch-sm_proc.c b/sysutils/symon/files/patch-sm_proc.c new file mode 100644 index 0000000..83d12e8 --- /dev/null +++ b/sysutils/symon/files/patch-sm_proc.c @@ -0,0 +1,18 @@ +--- platform/FreeBSD/sm_proc.c.orig Thu Mar 10 09:29:00 2005 ++++ platform/FreeBSD/sm_proc.c Thu Mar 10 09:27:52 2005 +@@ -181,9 +181,15 @@ + if (proc_kd) { + if (kvm_read(proc_kd, (unsigned long)pp->ki_paddr, &pproc, + sizeof(pproc)) == sizeof(pproc)) { ++#ifdef HAS_RUSAGE_EXT ++ cpu_uticks += pproc.p_rux.p_uticks; /* user */ ++ cpu_sticks += pproc.p_rux.p_sticks; /* sys */ ++ cpu_iticks += pproc.p_rux.p_iticks; /* int */ ++#else + cpu_uticks += pproc.p_uticks; /* user */ + cpu_sticks += pproc.p_sticks; /* sys */ + cpu_iticks += pproc.p_iticks; /* int */ ++#endif + } else { + warning("while reading kvm: %s", kvm_geterr(proc_kd)); + } diff --git a/sysutils/symon/files/patch-symon-Makefile b/sysutils/symon/files/patch-symon-Makefile new file mode 100644 index 0000000..07904dc --- /dev/null +++ b/sysutils/symon/files/patch-symon-Makefile @@ -0,0 +1,14 @@ +--- symon/Makefile.orig Fri Mar 4 10:39:20 2005 ++++ symon/Makefile Fri Mar 4 10:43:13 2005 +@@ -26,9 +26,9 @@ + clean: + rm -f conf.h symon symon.cat8 symon.core ${OBJS} + +-install: symon symon.cat8 symon.conf ++install: symon symon.8 symon.conf + ${INSTALL} -c -m 555 -g wheel -o root symon ${PREFIX}/${BINDIR} +- ${INSTALL} -c -m 444 -g wheel -o root symon.cat8 ${PREFIX}/${MANDIR}/cat8/symon.0 ++ ${INSTALL} -c -m 444 -g wheel -o root symon.8 ${PREFIX}/${MANDIR}/man8/symon.8 + ${INSTALL} -d -m 555 -g bin -o root ${PREFIX}/${SHRDIR} + ${INSTALL} -c -m 555 -g wheel -o root c_config.sh ${PREFIX}/${SHRDIR} + ${INSTALL} -d -m 555 -g bin -o root ${PREFIX}/${EXADIR} diff --git a/sysutils/symon/files/patch-symux-Makefile b/sysutils/symon/files/patch-symux-Makefile new file mode 100644 index 0000000..34b06a3 --- /dev/null +++ b/sysutils/symon/files/patch-symux-Makefile @@ -0,0 +1,14 @@ +--- symux/Makefile.orig Fri Mar 4 10:43:43 2005 ++++ symux/Makefile Fri Mar 4 10:44:01 2005 +@@ -17,9 +17,9 @@ + clean: + rm -f conf.h symux symux.cat8 symux.core ${OBJS} + +-install: symux symux.cat8 c_smrrds.sh symux.conf ++install: symux symux.8 c_smrrds.sh symux.conf + ${INSTALL} -c -m 555 -g bin -o root symux ${PREFIX}/${BINDIR} +- ${INSTALL} -c -m 444 -g wheel -o root symux.cat8 ${PREFIX}/${MANDIR}/cat8/symux.0 ++ ${INSTALL} -c -m 444 -g wheel -o root symux.8 ${PREFIX}/${MANDIR}/man8/symux.8 + ${INSTALL} -d -m 555 -g bin -o root ${PREFIX}/${SHRDIR} + ${INSTALL} -c -m 544 -g bin -o root c_smrrds.sh ${PREFIX}/${SHRDIR} + ${INSTALL} -d -m 555 -g bin -o root ${PREFIX}/${EXADIR} diff --git a/sysutils/symon/pkg-descr b/sysutils/symon/pkg-descr new file mode 100644 index 0000000..7ab6849 --- /dev/null +++ b/sysutils/symon/pkg-descr @@ -0,0 +1,16 @@ +The symon project consists of three parts; a data monitor, a data consolidator +and a data displayer. + +symon is a is a lightweight system monitor that measures cpu, memory, pf, +interface and disk statistics every 5 seconds. It sends this data on to symux +for further processing. symon has been designed to inflict minimal performance +and security impact -- it can be run as nobody on the system it monitors. + +symux is a non-priviledged daemon that listens to incoming symon traffic. symux +can write the incoming symon streams into rrd files. Clients interested in +monitoring machine state can also log into symux and receive data as ascii as +it arrives. + +symon2web is a php script that can show the data stored in the rrd files. + +WWW: http://www.xs4all.nl/~wpd/symon diff --git a/sysutils/symon/pkg-install b/sysutils/symon/pkg-install new file mode 100644 index 0000000..411bce8 --- /dev/null +++ b/sysutils/symon/pkg-install @@ -0,0 +1,24 @@ +#!/bin/sh + +PATH=/bin:/usr/sbin + +USER=_symon +GROUP=daemon +UID=115 + +case $2 in + PRE-INSTALL) + if pw user show "${USER}" 2>/dev/null; then + echo "You already have a user \"${USER}\", so I will use it." + else + if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \ + -s /usr/sbin/nologin -L daemon -d /var/empty -c "Symon Account" + then + echo "Added user \"${USER}\"." + else + echo "Adding user \"${USER}\" failed..." + exit 1 + fi + fi + ;; +esac diff --git a/sysutils/symon/pkg-message b/sysutils/symon/pkg-message new file mode 100644 index 0000000..b4501d4 --- /dev/null +++ b/sysutils/symon/pkg-message @@ -0,0 +1,15 @@ +For the system monitor symon, use the following steps + + 1. Copy %%LOCALBASE%%/share/examples/symon/symon.conf + to %%LOCALBASE%%/etc and edit. + 2. Run symon + +For the data collector symux, use the following steps + + 1. Copy %%LOCALBASE%%/share/examples/symon/symux.conf + to %%LOCALBASE%%/etc and edit. + 2. Enter the directory, where symux should store its data + (e.g. /var/db/symux) and run + %%LOCALBASE%%/share/symon/c_smrrds.sh all + to create the RR database. + 3. Run symux diff --git a/sysutils/symon/pkg-plist b/sysutils/symon/pkg-plist new file mode 100644 index 0000000..14d0b3a --- /dev/null +++ b/sysutils/symon/pkg-plist @@ -0,0 +1,13 @@ +bin/symon +bin/symux +%%EXAMPLESDIR%%/symon.conf +%%EXAMPLESDIR%%/symux.conf +%%DATADIR%%/c_config.sh +%%DATADIR%%/c_smrrds.sh +%%DATADIR%%/client/SymuxClient.0 +%%DATADIR%%/client/SymuxClient.pm +%%DATADIR%%/client/getsymonitem.pl +@dirrm share/symon/client +@dirrm %%DATADIR%% +@dirrm %%EXAMPLESDIR%% +@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the _symon user manually." |