From 59ca382de61cbb2a7cbff034aaf6842996ed2fc0 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sat, 24 May 2008 16:24:27 +0000 Subject: [PATCH] updated utils/collectd to 4.4.0 created sub-packages for collectd-modules thanks to Jo-Philipp Wich (#3456) SVN-Revision: 11257 --- utils/collectd/Makefile | 508 ++++++++++++++++-- utils/collectd/files/collectd.conf | 1 + .../100-rrdtool-add-rrasingle-option.patch | 27 + 3 files changed, 499 insertions(+), 37 deletions(-) create mode 100644 utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 5ed3beaba..571eb96a7 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -9,22 +9,21 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd -PKG_VERSION:=4.2.0 -PKG_RELEASE:=2 +PKG_VERSION:=4.4.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://collectd.org/files/ -PKG_MD5SUM:=ed1f41f86ad61bd7096ee5386ab33fd0 +PKG_MD5SUM:=76ec42bf1976c1d4110443d845decca3 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install include $(INCLUDE_DIR)/package.mk -define Package/collectd +define Package/collectd/common_info SECTION:=utils CATEGORY:=Utilities - DEPENDS=+libgcc +libpthread TITLE:=Lightweight system statistics collection daemon URL:=http://verplant.org/collectd/ endef @@ -34,44 +33,280 @@ define Package/collectd/description and provides mechanismns to store the values in a variety of ways. endef +define Package/collectd + $(call Package/collectd/common_info) + DEPENDS:=+libgcc +libpthread + MENU:=1 +endef + + +# +# output plugins +# +define Package/collectd-mod-csv + $(call Package/collectd/common_info) + TITLE:=collectd - csv output plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-email + $(call Package/collectd/common_info) + TITLE:=collectd - email output plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-logfile + $(call Package/collectd/common_info) + TITLE:=collectd - logfile output plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-network + $(call Package/collectd/common_info) + TITLE:=collectd - network input/output plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-syslog + $(call Package/collectd/common_info) + TITLE:=collectd - syslog output plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-unixsock + $(call Package/collectd/common_info) + TITLE:=collectd - unix socket output plugin + DEPENDS:=collectd +endef + + +# +# input plugins +# +define Package/collectd-mod-apache + $(call Package/collectd/common_info) + TITLE:=collectd - apache status input plugin + DEPENDS:=collectd +libcurl +endef + +define Package/collectd-mod-apcups + $(call Package/collectd/common_info) + TITLE:=collectd - apcups status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-ascent + $(call Package/collectd/common_info) + TITLE:=collectd - ascent status input plugin + DEPENDS:=collectd +libcurl +libxml2 +endef + +define Package/collectd-mod-cpu + $(call Package/collectd/common_info) + TITLE:=collectd - cpu input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-df + $(call Package/collectd/common_info) + TITLE:=collectd - disk space input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-disk + $(call Package/collectd/common_info) + TITLE:=collectd - disk usage/timing input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-dns + $(call Package/collectd/common_info) + TITLE:=collectd - dns traffic input plugin + DEPENDS:=collectd +libpcap +endef + +define Package/collectd-mod-exec + $(call Package/collectd/common_info) + TITLE:=collectd - process exec input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-interface + $(call Package/collectd/common_info) + TITLE:=collectd - network interfaces input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-iptables + $(call Package/collectd/common_info) + TITLE:=collectd - iptables status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-irq + $(call Package/collectd/common_info) + TITLE:=collectd - interrupt usage input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-load + $(call Package/collectd/common_info) + TITLE:=collectd - system load input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-netlink + $(call Package/collectd/common_info) + TITLE:=collectd - netlink input plugin (uses iproute2) + DEPENDS:=collectd +ip +endef + +define Package/collectd-mod-nginx + $(call Package/collectd/common_info) + TITLE:=collectd - nginx status input plugin + DEPENDS:=collectd +libcurl +endef + +define Package/collectd-mod-ntpd + $(call Package/collectd/common_info) + TITLE:=collectd - ntp daemon status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-ping + $(call Package/collectd/common_info) + TITLE:=collectd - ping status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-powerdns + $(call Package/collectd/common_info) + TITLE:=collectd - powerdns server status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-processes + $(call Package/collectd/common_info) + TITLE:=collectd - process status plugin + DEPENDS:=collectd +endef + + +define Package/collectd-mod-rrdtool1 + $(call Package/collectd/common_info) + TITLE:=collectd - rrdtool 1.0.x output plugin + DEPENDS:=collectd +librrd1 +endef + +define Package/collectd-mod-rrdtool + $(call Package/collectd/common_info) + TITLE:=collectd - rrdtool 1.2.x output plugin + DEPENDS:=collectd +librrd +endef + +define Package/collectd-mod-snmp + $(call Package/collectd/common_info) + TITLE:=collectd - snmp input plugin + DEPENDS:=collectd +libnetsnmp +endef + +define Package/collectd-mod-tail + $(call Package/collectd/common_info) + TITLE:=collectd - tail input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-teamspeak2 + $(call Package/collectd/common_info) + TITLE:=collectd - teamspeak2 input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-tcpconns + $(call Package/collectd/common_info) + TITLE:=collectd - tcp connection tracking input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-users + $(call Package/collectd/common_info) + TITLE:=collectd - user login status input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-vmem + $(call Package/collectd/common_info) + TITLE:=collectd - virtual memory usage input plugin + DEPENDS:=collectd +endef + +define Package/collectd-mod-wireless + $(call Package/collectd/common_info) + TITLE:=collectd - wireless status input plugin + DEPENDS:=collectd +endef + + define Package/collectd/conffiles /etc/collectd.conf endef -CONFIGURE_ARGS += \ +define Build/Configure +endef + +define Build/Compile + -$(MAKE) -C $(PKG_BUILD_DIR) clean + $(call Build/Configure/Default, $(PKG_CONFIGURE_OPTS)) + $(call Build/Compile/Default) +endef + + +# +# Build PKG_CONFIGURE_OPTS +# + +# common configure args +PKG_CONFIGURE_OPTS:= \ --disable-debug \ --enable-daemon \ --enable-getifaddrs \ - --disable-apache \ - --disable-apcups \ - --disable-apple_sensors \ - --disable-battery \ - --enable-cpu \ - --disable-cpufreq \ - --enable-disk \ - --enable-df \ - --disable-dns \ - --disable-email \ - --disable-quota \ - --disable-hddtemp \ - --enable-load \ - --disable-mbmon \ - --enable-memory \ - --disable-multimeter \ - --disable-mysql \ - --disable-nfs \ - --disable-ntpd \ - --enable-ping \ - --enable-processes \ - --disable-sensors \ - --enable-serial \ - --disable-swap \ - --disable-tape \ - --enable-traffic \ - --disable-users \ - --disable-vserver \ - --enable-wireless \ - --with-nan-emulation + --with-nan-emulation \ + --with-fp-layout=nothing + +# list of permanently disabled plugins +disabled_plugins := apple_sensors battery cpufreq entropy hddtemp ipmi ipvs libvirt mbmon memcached \ + multimeter mysql nfs nut perl sensors serial swap tape uuid vserver xmms + +# list of selectable plugins +selectable_plugins := apache apcups ascent cpu csv df disk dns email exec interface iptables irq load \ + logfile memory netlink network nginx ntpd ping powerdns processes snmp \ + syslog tail tcpconns teamspeak2 unixsock users vmem wireless + +# makro to enable / disable plugin +define enable_plugin + ifneq ($$(CONFIG_PACKAGE_collectd-mod-$(1)),) + PKG_CONFIGURE_OPTS += --enable-$(1) + else + PKG_CONFIGURE_OPTS += --disable-$(1) + endif +endef + +# build args for permanently disabled plugins +PKG_CONFIGURE_OPTS += $(foreach plugin,$(disabled_plugins),--disable-$(plugin)) + +# build args for selectable plugins +$(foreach plugin,$(selectable_plugins),$(eval $(call enable_plugin,$(plugin)))) + +# exception: mod-netlink needs iproute2 +ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink),) + PKG_CONFIGURE_OPTS += --with-libnetlink=$(wildcard $(BUILD_DIR)/iproute2-*) +endif + +# exception: mod-rrdtool(1) needs rrdtool +ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool1)$(CONFIG_PACKAGE_collectd-mod-rrdtool),) + PKG_CONFIGURE_OPTS += --enable-rrdtool +endif + MAKE_FLAGS += \ DESTDIR="$(PKG_INSTALL_DIR)" \ @@ -81,11 +316,210 @@ define Package/collectd/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/usr/lib/collectd - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/*.so $(1)/usr/lib/collectd/ + $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/collectd/types.db $(1)/usr/lib/collectd/ $(INSTALL_DIR) $(1)/etc $(INSTALL_CONF) ./files/collectd.conf $(1)/etc/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/collectd.init $(1)/etc/init.d/collectd endef +define Package/collectd-mod-apache/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apache.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-apcups/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apcups.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-ascent/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ascent.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-cpu/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/cpu.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-csv/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/csv.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-df/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/df.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-disk/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/disk.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-dns/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/dns.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-email/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/email.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-exec/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/exec.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-interface/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/interface.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-iptables/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/iptables.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-irq/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/irq.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-load/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/load.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-logfile/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/logfile.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-netlink/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/netlink.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-network/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/network.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-nginx/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nginx.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-ntpd/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ntpd.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-ping/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ping.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-powerdns/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/powerdns.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-processes/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/processes.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-rrdtool1/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-rrdtool/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-snmp/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/snmp.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-syslog/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/syslog.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-tail/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tail.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-teamspeak2/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/teamspeak2.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-tcpconns/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tcpconns.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-unixsock/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/unixsock.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-users/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/users.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-vmem/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/vmem.so $(1)/usr/lib/collectd/ +endef + +define Package/collectd-mod-wireless/install + $(INSTALL_DIR) $(1)/usr/lib/collectd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/wireless.so $(1)/usr/lib/collectd/ +endef + + $(eval $(call BuildPackage,collectd)) +$(eval $(call BuildPackage,collectd-mod-apache)) +$(eval $(call BuildPackage,collectd-mod-apcups)) +$(eval $(call BuildPackage,collectd-mod-ascent)) +$(eval $(call BuildPackage,collectd-mod-cpu)) +$(eval $(call BuildPackage,collectd-mod-csv)) +$(eval $(call BuildPackage,collectd-mod-df)) +$(eval $(call BuildPackage,collectd-mod-disk)) +$(eval $(call BuildPackage,collectd-mod-dns)) +$(eval $(call BuildPackage,collectd-mod-email)) +$(eval $(call BuildPackage,collectd-mod-exec)) +$(eval $(call BuildPackage,collectd-mod-interface)) +$(eval $(call BuildPackage,collectd-mod-iptables)) +$(eval $(call BuildPackage,collectd-mod-irq)) +$(eval $(call BuildPackage,collectd-mod-load)) +$(eval $(call BuildPackage,collectd-mod-logfile)) +$(eval $(call BuildPackage,collectd-mod-netlink)) +$(eval $(call BuildPackage,collectd-mod-network)) +$(eval $(call BuildPackage,collectd-mod-nginx)) +$(eval $(call BuildPackage,collectd-mod-ntpd)) +$(eval $(call BuildPackage,collectd-mod-ping)) +$(eval $(call BuildPackage,collectd-mod-powerdns)) +$(eval $(call BuildPackage,collectd-mod-processes)) +$(eval $(call BuildPackage,collectd-mod-rrdtool1)) +$(eval $(call BuildPackage,collectd-mod-rrdtool)) +$(eval $(call BuildPackage,collectd-mod-snmp)) +$(eval $(call BuildPackage,collectd-mod-syslog)) +$(eval $(call BuildPackage,collectd-mod-tail)) +$(eval $(call BuildPackage,collectd-mod-teamspeak2)) +$(eval $(call BuildPackage,collectd-mod-tcpconns)) +$(eval $(call BuildPackage,collectd-mod-unixsock)) +$(eval $(call BuildPackage,collectd-mod-users)) +$(eval $(call BuildPackage,collectd-mod-vmem)) +$(eval $(call BuildPackage,collectd-mod-wireless)) diff --git a/utils/collectd/files/collectd.conf b/utils/collectd/files/collectd.conf index bfd9db289..63ceb2203 100644 --- a/utils/collectd/files/collectd.conf +++ b/utils/collectd/files/collectd.conf @@ -21,6 +21,7 @@ Mode Client DataDir "/var/lib/collectd" PIDFile "/var/run/collectd.pid" PluginDir "/usr/lib/collectd" +TypesDB "/usr/lib/collectd/types.db" LoadPlugin cpu LoadPlugin disk diff --git a/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch b/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch new file mode 100644 index 000000000..dcab4a687 --- /dev/null +++ b/utils/collectd/patches/100-rrdtool-add-rrasingle-option.patch @@ -0,0 +1,27 @@ +diff -ur collectd-4.4.0.orig/src/rrdtool.c collectd-4.4.0/src/rrdtool.c +--- collectd-4.4.0.orig/src/rrdtool.c 2008-05-22 21:05:58.000000000 +0200 ++++ collectd-4.4.0/src/rrdtool.c 2008-05-22 21:08:11.000000000 +0200 +@@ -87,6 +87,7 @@ + "HeartBeat", + "RRARows", + "RRATimespan", ++ "RRASingle", + "XFF" + }; + static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); +@@ -1077,6 +1078,14 @@ + } + xff = tmp; + } ++ else if (strcasecmp ("RRASingle", key) == 0) ++ { ++ if (strcasecmp("true", value) == 0) ++ { ++ rra_types_num = 1; ++ NOTICE ("rrdtool plugin: RRASingle = true: creating only AVERAGE RRAs"); ++ } ++ } + else + { + return (-1); +Nur in collectd-4.4.0/src: rrdtool.c~. -- 2.30.2