summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/Makefile2
-rw-r--r--package/rrdcollect/Config.in14
-rw-r--r--package/rrdcollect/Makefile76
-rw-r--r--package/rrdcollect/files/rrdcollect.conf33
-rw-r--r--package/rrdcollect/files/rrdcollect.init24
-rw-r--r--package/rrdcollect/ipkg/rrdcollect.conffiles1
-rw-r--r--package/rrdcollect/ipkg/rrdcollect.control12
8 files changed, 163 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 5482c23f3..b0e7cd3e5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -24,6 +24,7 @@ source "package/sablevm/Config.in"
source "package/sablevm-classpath/Config.in"
source "package/libffi-sable/Config.in"
endmenu
+source "package/rrdcollect/Config.in"
source "package/rrdtool/Config.in"
source "package/screen/Config.in"
diff --git a/package/Makefile b/package/Makefile
index def03c4ac..86d110319 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -117,6 +117,7 @@ package-$(BR2_PACKAGE_RADVD) += radvd
package-$(BR2_PACKAGE_READLINE) += readline
package-$(BR2_PACKAGE_ROBOCFG) += robocfg
package-$(BR2_PACKAGE_RP_PPPOE) += rp-pppoe
+package-$(BR2_COMPILE_RRDCOLLECT) += rrdcollect
package-$(BR2_COMPILE_RRDTOOL) += rrdtool
package-$(BR2_PACKAGE_RSYNC) += rsync
package-$(BR2_PACKAGE_SABLEVM) += sablevm
@@ -201,6 +202,7 @@ osiris-compile: openssl-compile
portmap-compile: tcp_wrappers-compile
postgresql-compile: zlib-compile
quagga-compile: readline-compile ncurses-compile
+rrdcollect-compile: rrdtool-compile
rrdtool-compile: cgilib-compile freetype-compile libart-compile libpng-compile
rsync-compile: popt-compile
screen-compile: ncurses-compile
diff --git a/package/rrdcollect/Config.in b/package/rrdcollect/Config.in
new file mode 100644
index 000000000..39369914c
--- /dev/null
+++ b/package/rrdcollect/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_RRDCOLLECT
+ tristate "rrdcollect - Round-Robin Database Collecting Daemon"
+ default m if CONFIG_DEVEL
+ select BR2_PACKAGE_LIBRRD
+ help
+ RRDcollect is a daemon which polls ceratin files in /proc/
+ directory, gathering data and storing it inside RRDtool's
+ database files. Being written in C should be both fast
+ and resources-friendly. Supports both scanf(3)-style
+ pattern matches and perl compatible regular expressions.
+
+ http://rrdcollect.sourceforge.net/
+
+
diff --git a/package/rrdcollect/Makefile b/package/rrdcollect/Makefile
new file mode 100644
index 000000000..4bf899b51
--- /dev/null
+++ b/package/rrdcollect/Makefile
@@ -0,0 +1,76 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=rrdcollect
+PKG_VERSION:=0.2.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=5e4305c612bc3cccbaf802c275c81a11
+
+PKG_SOURCE_URL:=@SF/rrdcollect
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,RRDCOLLECT,rrdcollect,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+ (cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS) -DSOCKET_COMM" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
+ LIBS="-lart_lgpl_2 -lfreetype -lpng -lz" \
+ PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
+ ac_cv_func_malloc_0_nonnull=yes \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ $(DISABLE_NLS) \
+ $(DISABLE_LARGEFILE) \
+ --enable-shared \
+ --disable-static \
+ --enable-exec \
+ --without-rrdtool \
+ --with-librrd \
+ --without-libpcre \
+ --without-libpcap \
+ );
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ rm -rf $(PKG_INSTALL_DIR)
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all install
+ touch $@
+
+$(IPKG_RRDCOLLECT):
+ install -d -m0755 $(IDIR_RRDCOLLECT)/etc
+ install -m0644 ./files/rrdcollect.conf $(IDIR_RRDCOLLECT)/etc
+ install -d -m0755 $(IDIR_RRDCOLLECT)/etc/init.d
+ install -m0755 ./files/rrdcollect.init $(IDIR_RRDCOLLECT)/etc/init.d/rrdcollect
+ ln -sf rrdcollect $(IDIR_RRDCOLLECT)/etc/init.d/S98rrdcollect
+ install -d -m0755 $(IDIR_RRDCOLLECT)/usr/sbin
+ cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/rrdcollect $(IDIR_RRDCOLLECT)/usr/sbin/
+ $(RSTRIP) $(IDIR_RRDCOLLECT)
+ $(IPKG_BUILD) $(IDIR_RRDCOLLECT) $(PACKAGE_DIR)
+
diff --git a/package/rrdcollect/files/rrdcollect.conf b/package/rrdcollect/files/rrdcollect.conf
new file mode 100644
index 000000000..dfeb7b3bf
--- /dev/null
+++ b/package/rrdcollect/files/rrdcollect.conf
@@ -0,0 +1,33 @@
+step = 360
+directory = /var/lib/rra
+
+file:///proc/stat
+"cpu0 %d %d %d %d" SYS.rrd:cu,cn,cs,ci
+"ctxt %u" SYS.rrd:ct
+"processes %u" SYS.rrd:fk
+"intr %u" SYS.rrd:ira
+
+file:///proc/meminfo
+#"Mem: %*d %d %d %d %d %d" SYS.rrd:mu,mf,ms,mb,mc
+"Mem: %*d %d %d %*d %d %d" SYS.rrd:mu,mf,mb,mc
+
+file:///proc/loadavg
+"%f %f %f %d/%d %*d" SYS.rrd:l1,l2,l3,pr,pt
+
+exec:///bin/df
+"/dev/mtdblock/4 %*d %d %d" SYS.rrd:us,av
+
+# LAN: vlan0, WAN: vlan1, WIFI: eth1
+file:///proc/net/dev
+" vlan0: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Labi,Lapi,Labo,Lapo
+" vlan1: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wabi,Wapi,Wabo,Wapo
+" eth1: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:Wibi,Wipi,Wibo,Wipo
+#" tun0: %d %d %*d %*d %*d %*d %*d %*d %d %d" IF.rrd:tbi,tpi,tbo,tpo
+
+file:///proc/slabinfo
+"ip_conntrack %d %*d %*d %*d %*d %*d" SYS.rrd:con
+"arp_cache %d %*d %*d %*d %*d %*d" SYS.rrd:arp
+
+file:///proc/interrupts
+" 4: %d MIPS eth1" SYS.rrd:irw
+" 5: %d MIPS eth0" SYS.rrd:ire
diff --git a/package/rrdcollect/files/rrdcollect.init b/package/rrdcollect/files/rrdcollect.init
new file mode 100644
index 000000000..dafb4624e
--- /dev/null
+++ b/package/rrdcollect/files/rrdcollect.init
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+BIN=rrdcollect
+DEFAULT=/etc/default/$BIN
+RUN_D=/var/run
+RRA_D=/var/lib/rra
+PID_F=$RUN_D/$BIN.pid
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+ mkdir -p $RUN_D
+ mkdir -p $RRA_D
+ $BIN $OPTIONS
+ ;;
+ stop)
+ [ -f $PID_F ] && kill $(cat $PID_F)
+ ;;
+ *)
+ echo "usage: $0 (start|stop)"
+ exit 1
+esac
+
+exit $?
diff --git a/package/rrdcollect/ipkg/rrdcollect.conffiles b/package/rrdcollect/ipkg/rrdcollect.conffiles
new file mode 100644
index 000000000..991cfd27d
--- /dev/null
+++ b/package/rrdcollect/ipkg/rrdcollect.conffiles
@@ -0,0 +1 @@
+/etc/rrdcollect.conf
diff --git a/package/rrdcollect/ipkg/rrdcollect.control b/package/rrdcollect/ipkg/rrdcollect.control
new file mode 100644
index 000000000..75eb97705
--- /dev/null
+++ b/package/rrdcollect/ipkg/rrdcollect.control
@@ -0,0 +1,12 @@
+Package: rrdcollect
+Priority: optional
+Section: admin
+Maintainer: Oliver Ertl <oliver@ertl-net.net>, OpenWrt Developers <bugs@openwrt.org>
+Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/rrdcollect/
+Depends: librrd
+Description: Round-Robin Database Collecting Daemon
+ RRDcollect is a daemon which polls ceratin files in /proc/
+ directory, gathering data and storing it inside RRDtool's
+ database files. Being written in C should be both fast
+ and resources-friendly. Supports both scanf(3)-style
+ pattern matches and perl compatible regular expressions.