include $(TOPDIR)/rules.mk
PKG_NAME:=collectd
-PKG_VERSION:=4.4.4
-PKG_RELEASE:=3
+PKG_VERSION:=4.9.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://collectd.org/files/
-PKG_MD5SUM:=9e0e89150b1ff28fc0fdd8a198c9ac5e
+PKG_MD5SUM:=5b2e5f57716f2485a3b4eb57774a3818
PKG_FIXUP:=libtool
apple_sensors \
battery \
cpufreq \
+ curl_json \
entropy \
+ genericjmx \
+ gmond \
hddtemp \
ipmi \
ipvs \
+ java \
libvirt \
mbmon \
+ memcachec \
memcached \
+ monitorus \
multimeter \
+ netapp \
nfs \
+ notify_desktop \
+ notify_email \
+ openvz \
+ oracle \
perl \
+ python \
+ routeros \
+ rrdcached \
serial \
swap \
tape \
+ tokyotyrant \
uuid \
vserver \
xmms \
+ zfs_arc \
COLLECTD_PLUGINS_SELECTED:= \
apache \
apcups \
ascent \
+ bind \
+ conntrack \
+ contextswitch \
cpu \
csv \
+ curl \
+ dbi \
df \
disk \
dns \
email \
exec \
+ filecount \
+ fscache \
interface \
iptables \
irq \
load \
logfile \
+ madwifi \
memory \
mysql \
netlink \
nginx \
ntpd \
nut \
+ olsrd \
+ onewire \
+ openvpn \
ping \
+ postgresql \
powerdns \
processes \
+ protocols \
rrdtool \
sensors \
snmp \
syslog \
tail \
+ table \
+ ted \
tcpconns \
teamspeak2 \
+ thermal \
unixsock \
+ uptime \
users \
vmem \
wireless \
+ write_http \
PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_PACKAGE_collectd-mod-%,$(COLLECTD_PLUGINS_SELECTED)) \
CONFIGURE_ARGS+= --with-libnetlink="$(STAGING_DIR)/usr"
endif
+# exception: mod-onewire needs libow-capi
+ifneq ($(CONFIG_PACKAGE_collectd-mod-onewire),)
+ CONFIGURE_ARGS+= --with-libowcapi="$(STAGING_DIR)/usr"
+endif
+
# exception: mod-rrdtool needs rrdtool-1.0.x
ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool),)
- CONFIGURE_ARGS+= --with-rrdtool="$(STAGING_DIR)/usr/lib/rrdtool-1.0"
+ CONFIGURE_ARGS+= --with-librrd="$(STAGING_DIR)/usr/lib/rrdtool-1.0"
endif
MAKE_FLAGS += \
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_CONF) $(PKG_INSTALL_DIR)/usr/lib/collectd/types.db $(1)/usr/lib/collectd/
+ $(INSTALL_DIR) $(1)/usr/share/collectd
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/collectd/types.db $(1)/usr/share/collectd/
$(INSTALL_DIR) $(1)/etc
$(INSTALL_CONF) ./files/collectd.conf $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d
$(eval $(call BuildPlugin,apache,apache status input,apache,+libcurl))
$(eval $(call BuildPlugin,apcups,apcups status input,apcups,))
$(eval $(call BuildPlugin,ascent,ascent status input,ascent,+libcurl +libxml2))
+$(eval $(call BuildPlugin,bind,BIND server/zone input,bind,+libcurl +libxml2))
+$(eval $(call BuildPlugin,conntrack,connection tracking table size input,conntrack,))
+$(eval $(call BuildPlugin,contextswitch,context switch input,contextswitch,))
$(eval $(call BuildPlugin,cpu,CPU input,cpu,))
$(eval $(call BuildPlugin,csv,CSV output,csv,))
+$(eval $(call BuildPlugin,curl,cURL input,curl,+libcurl))
+$(eval $(call BuildPlugin,dbi,relational database input,dbi,+libdbi))
$(eval $(call BuildPlugin,df,disk space input,df,))
$(eval $(call BuildPlugin,disk,disk usage/timing input,disk,))
$(eval $(call BuildPlugin,dns,DNS traffic input,dns,+libpcap))
$(eval $(call BuildPlugin,email,email output,email,))
$(eval $(call BuildPlugin,exec,process exec input,exec,))
+$(eval $(call BuildPlugin,filecount,file count input,filecount,))
+$(eval $(call BuildPlugin,fscache,file-system based caching framework input,fscache,))
$(eval $(call BuildPlugin,interface,network interfaces input,interface,))
$(eval $(call BuildPlugin,iptables,iptables status input,iptables,+iptables))
$(eval $(call BuildPlugin,irq,interrupt usage input,irq,))
$(eval $(call BuildPlugin,load,system load input,load,))
$(eval $(call BuildPlugin,logfile,log files output,logfile,))
+$(eval $(call BuildPlugin,madwifi,MadWifi status input,madwifi,))
$(eval $(call BuildPlugin,mysql,MySQL status input,mysql,+libmysqlclient))
$(eval $(call BuildPlugin,memory,physical memory usage input,memory,))
$(eval $(call BuildPlugin,netlink,netlink input,netlink,+ip))
$(eval $(call BuildPlugin,nginx,nginx status input,nginx,+libcurl))
$(eval $(call BuildPlugin,ntpd,NTP daemon status input,ntpd,))
$(eval $(call BuildPlugin,nut,UPS monitoring input,nut,@BROKEN))
+$(eval $(call BuildPlugin,olsrd,OLSRd status input,olsrd,))
+$(eval $(call BuildPlugin,onewire,onewire sensor input,onewire,+libow-capi @BROKEN))
+$(eval $(call BuildPlugin,openvpn,OpenVPN traffic/compression input,openvpn,))
$(eval $(call BuildPlugin,ping,ping status input,ping,+liboping))
+$(eval $(call BuildPlugin,postgresql,PostgreSQL status input,postgresql,+libpq))
$(eval $(call BuildPlugin,powerdns,PowerDNS server status input,powerdns,))
$(eval $(call BuildPlugin,processes,process status input,processes,))
+$(eval $(call BuildPlugin,protocols,network protocols input,protocols,))
$(eval $(call BuildPlugin,rrdtool,RRDtool output,rrdtool,+librrd1))
$(eval $(call BuildPlugin,sensors,lm_sensors input,sensors,+libsensors @BROKEN))
$(eval $(call BuildPlugin,snmp,SNMP input,snmp,+libnetsnmp))
$(eval $(call BuildPlugin,syslog,syslog output,syslog,))
$(eval $(call BuildPlugin,tail,tail input,tail,))
+$(eval $(call BuildPlugin,table,table-like structured file input,table,))
$(eval $(call BuildPlugin,teamspeak2,TeamSpeak2 input,teamspeak2,))
+$(eval $(call BuildPlugin,ted,The Energy Detective input,ted,))
$(eval $(call BuildPlugin,tcpconns,TCP connection tracking input,tcpconns,))
+$(eval $(call BuildPlugin,thermal,system temperatures input,thermal,))
$(eval $(call BuildPlugin,unixsock,unix socket output,unixsock,))
+$(eval $(call BuildPlugin,uptime,uptime status input,uptime,))
$(eval $(call BuildPlugin,users,user logged in status input,users,))
$(eval $(call BuildPlugin,vmem,virtual memory usage input,vmem,))
$(eval $(call BuildPlugin,wireless,wireless status input,wireless,))
+$(eval $(call BuildPlugin,write_http,HTTP POST output,write_http,+libcurl))
--- a/src/rrdtool.c
+++ b/src/rrdtool.c
-@@ -87,6 +87,7 @@ static const char *config_keys[] =
+@@ -80,6 +80,7 @@ static const char *config_keys[] =
"HeartBeat",
"RRARows",
"RRATimespan",
+ "RRASingle",
- "XFF"
+ "XFF",
+ "WritesPerSecond",
+ "RandomTimeout"
+@@ -101,6 +102,8 @@ static rrdcreate_config_t rrdcreate_conf
+ /* timespans = */ NULL,
+ /* timespans_num = */ 0,
+
++ /* rrasingle = */ 0,
++
+ /* consolidation_functions = */ NULL,
+ /* consolidation_functions_num = */ 0
};
- static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
-@@ -1077,6 +1078,14 @@ static int rrd_config (const char *key,
- }
- xff = tmp;
+@@ -975,6 +978,14 @@ static int rrd_config (const char *key,
+
+ free (value_copy);
}
+ else if (strcasecmp ("RRASingle", key) == 0)
+ {
-+ if (strcasecmp("true", value) == 0)
++ if (IS_TRUE (value))
+ {
-+ rra_types_num = 1;
++ rrdcreate_config.rrasingle = 1;
+ NOTICE ("rrdtool plugin: RRASingle = true: creating only AVERAGE RRAs");
+ }
+ }
- else
+ else if (strcasecmp ("XFF", key) == 0)
{
- return (-1);
+ double tmp = atof (value);
+--- a/src/utils_rrdcreate.c
++++ b/src/utils_rrdcreate.c
+@@ -122,6 +122,9 @@ static int rra_get (char ***ret, const v
+ rts_num = rra_timespans_num;
+ }
+
++ if (cfg->rrasingle)
++ rra_types_num = 1;
++
+ rra_max = rts_num * rra_types_num;
+
+ if ((rra_def = (char **) malloc ((rra_max + 1) * sizeof (char *))) == NULL)
+--- a/src/utils_rrdcreate.h
++++ b/src/utils_rrdcreate.h
+@@ -36,6 +36,8 @@ struct rrdcreate_config_s
+ int *timespans;
+ size_t timespans_num;
+
++ int rrasingle;
++
+ char **consolidation_functions;
+ size_t consolidation_functions_num;
+ };