On Thu, Feb 05, 2015 at 02:18:15PM +0100, Robert Schwebel wrote:
> This adds collectd, without any further plugin support so far.
> 
> The systemd unit file was derived from the example delivered with the
> packet; some default options have been removed, and we don't depend
> on networking.
> 
> Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>

Thanks, all applied.

Michael

> ---
> Changes since v3:
> * use $(GLOBAL_LARGE_FILE_OPTION)
> * add --without-perl-bindings
> * relative link for systemd service files
> * install config files
> 
> Changes since v2:
> * adapted systemd unit according to review feedback
> 
> Changes since v1:
> * use modern enable/disable method, similar to gstreamer
> 
>  generic/etc/collectd.conf                   |  46 ++++++
>  generic/lib/systemd/system/collectd.service |   9 ++
>  rules/collectd.in                           |  10 ++
>  rules/collectd.make                         | 219 
> ++++++++++++++++++++++++++++
>  4 files changed, 284 insertions(+)
>  create mode 100644 generic/etc/collectd.conf
>  create mode 100644 generic/lib/systemd/system/collectd.service
>  create mode 100644 rules/collectd.in
>  create mode 100644 rules/collectd.make
> 
> diff --git a/generic/etc/collectd.conf b/generic/etc/collectd.conf
> new file mode 100644
> index 0000000..400ff6d
> --- /dev/null
> +++ b/generic/etc/collectd.conf
> @@ -0,0 +1,46 @@
> +#
> +# Config file for collectd(1).
> +# Please read collectd.conf(5) for a list of options.
> +# http://collectd.org/
> +#
> +
> +##############################################################################
> +# Global                                                                     
> #
> +#----------------------------------------------------------------------------#
> +# Global settings for the daemon.                                            
> #
> +##############################################################################
> +
> +Hostname    "localhost"
> +FQDNLookup  true
> +BaseDir     "/var/lib/collectd"
> +PIDFile     "/var/run/collectd.pid"
> +PluginDir   "/usr/lib/collectd"
> +TypesDB     "/usr/share/collectd/types.db"
> +
> +#----------------------------------------------------------------------------#
> +# When enabled, plugins are loaded automatically with the default options    
> #
> +# when an appropriate <Plugin ...> block is encountered.                     
> #
> +# Disabled by default.                                                       
> #
> +#----------------------------------------------------------------------------#
> +AutoLoadPlugin false
> +
> +#----------------------------------------------------------------------------#
> +# Interval at which to query values. This may be overwritten on a per-plugin 
> #
> +# base by using the 'Interval' option of the LoadPlugin block:               
> #
> +#   <LoadPlugin foo>                                                         
> #
> +#       Interval 60                                                          
> #
> +#   </LoadPlugin>                                                            
> #
> +#----------------------------------------------------------------------------#
> +Interval     10
> +
> +Timeout      2
> +ReadThreads  2
> +WriteThreads 2
> +
> +# Limit the size of the write queue. Default is no limit. Setting up a limit 
> is
> +# recommended for servers handling a high volume of traffic.
> +#WriteQueueLimitHigh 1000000
> +#WriteQueueLimitLow   800000
> +
> +Include "/etc/collectd.d/*.conf"
> +
> diff --git a/generic/lib/systemd/system/collectd.service 
> b/generic/lib/systemd/system/collectd.service
> new file mode 100644
> index 0000000..752245c
> --- /dev/null
> +++ b/generic/lib/systemd/system/collectd.service
> @@ -0,0 +1,9 @@
> +[Unit]
> +Description=statistics collection daemon
> +
> +[Service]
> +ExecStart=/usr/sbin/collectd -f
> +Restart=always
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/rules/collectd.in b/rules/collectd.in
> new file mode 100644
> index 0000000..c5a29d0
> --- /dev/null
> +++ b/rules/collectd.in
> @@ -0,0 +1,10 @@
> +## SECTION=shell_and_console
> +
> +menuconfig COLLECTD
> +     tristate
> +     prompt "collectd                      "
> +     help
> +       collectd is a daemon which collects system performance statistics
> +       periodically and provides mechanisms to store the values in a
> +       variety of ways, for example in RRD files.
> +
> diff --git a/rules/collectd.make b/rules/collectd.make
> new file mode 100644
> index 0000000..ec20230
> --- /dev/null
> +++ b/rules/collectd.make
> @@ -0,0 +1,219 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2014 by Markus Pargmann <m...@pengutronix.de>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_COLLECTD) += collectd
> +
> +#
> +# Paths and names
> +#
> +COLLECTD_VERSION     := 5.4.1
> +COLLECTD             := collectd-$(COLLECTD_VERSION)
> +COLLECTD_SUFFIX              := tar.bz2
> +COLLECTD_URL         := 
> http://collectd.org/files/${COLLECTD}.${COLLECTD_SUFFIX}
> +COLLECTD_MD5         := 6f56c71c96573a7f4f7fb3bfab185974
> +COLLECTD_DIR         := $(BUILDDIR)/$(COLLECTD)
> +COLLECTD_SOURCE              := $(SRCDIR)/$(COLLECTD).$(COLLECTD_SUFFIX)
> +COLLECTD_LICENSE     := GPL2
> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +#
> +# autoconf
> +#
> +COLLECTD_CONF_TOOL   := autoconf
> +COLLECTD_CONF_OPT    := $(CROSS_AUTOCONF_USR) \
> +     $(GLOBAL_LARGE_FILE_OPTION) \
> +     --disable-standards \
> +     --disable-glibtest \
> +     --disable-debug \
> +     --enable-daemon \
> +     --disable-getifaddrs \
> +     --disable-all-plugins \
> +     --with-included-ltdl \
> +     --with-nan-emulation \
> +     --with-fp-layout=nothing \
> +     \
> +     --disable-aggregation \
> +     --disable-amqp \
> +     --disable-apache \
> +     --disable-apcups \
> +     --disable-apple_sensors \
> +     --disable-aquaero \
> +     --disable-ascent \
> +     --disable-battery \
> +     --disable-bind \
> +     --disable-conntrack \
> +     --disable-contextswitch \
> +     --disable-cpufreq \
> +     --disable-cpu \
> +     --disable-csv \
> +     --disable-curl \
> +     --disable-curl_json \
> +     --disable-curl_xml \
> +     --disable-cgroups \
> +     --disable-dbi \
> +     --disable-df \
> +     --disable-disk \
> +     --disable-dns \
> +     --disable-email \
> +     --disable-entropy \
> +     --disable-ethstat \
> +     --disable-exec \
> +     --disable-filecount \
> +     --disable-fscache \
> +     --disable-gmond \
> +     --disable-hddtemp \
> +     --disable-interface \
> +     --disable-ipmi \
> +     --disable-iptables \
> +     --disable-ipvs \
> +     --disable-irq \
> +     --disable-java \
> +     --disable-libvirt \
> +     --disable-load \
> +     --disable-logfile \
> +     --disable-lpar \
> +     --disable-lvm \
> +     --disable-madwifi \
> +     --disable-match_empty_counter \
> +     --disable-match_hashed \
> +     --disable-match_regex \
> +     --disable-match_timediff \
> +     --disable-match_value \
> +     --disable-mbmon \
> +     --disable-md \
> +     --disable-memcachec \
> +     --disable-memcached \
> +     --disable-memory \
> +     --disable-mic \
> +     --disable-modbus \
> +     --disable-multimeter \
> +     --disable-mysql \
> +     --disable-netapp \
> +     --disable-netlink \
> +     --disable-network \
> +     --disable-nfs \
> +     --disable-nginx \
> +     --disable-notify_desktop \
> +     --disable-notify_email \
> +     --disable-ntpd \
> +     --disable-numa \
> +     --disable-nut \
> +     --disable-olsrd \
> +     --disable-onewire \
> +     --disable-openvpn \
> +     --disable-oracle \
> +     --disable-perl \
> +     --disable-pf \
> +     --disable-pinba \
> +     --disable-ping \
> +     --disable-postgresql \
> +     --disable-powerdns \
> +     --disable-processes \
> +     --disable-protocols \
> +     --disable-python \
> +     --disable-redis \
> +     --disable-routeros \
> +     --disable-rrdcached \
> +     --disable-rrdtool \
> +     --disable-sensors \
> +     --disable-serial \
> +     --disable-sigrok \
> +     --disable-snmp \
> +     --disable-statsd \
> +     --disable-swap \
> +     --disable-syslog \
> +     --disable-table \
> +     --disable-tail \
> +     --disable-tail_csv \
> +     --disable-tape \
> +     --disable-target_notification \
> +     --disable-target_replace \
> +     --disable-target_scale \
> +     --disable-target_set \
> +     --disable-target_v5upgrade \
> +     --disable-tcpconns \
> +     --disable-teamspeak2 \
> +     --disable-ted \
> +     --disable-thermal \
> +     --disable-threshold \
> +     --disable-tokyotyrant \
> +     --disable-unixsock \
> +     --disable-uptime \
> +     --disable-users \
> +     --disable-uuid \
> +     --disable-varnish \
> +     --disable-vmem \
> +     --disable-vserver \
> +     --disable-wireless \
> +     --disable-write_graphite \
> +     --disable-write_http \
> +     --disable-write_mongodb \
> +     --disable-write_redis \
> +     --disable-write_riemann \
> +     --disable-xmms \
> +     --disable-zfs_arc \
> +     --without-perl-bindings
> +
> +ifneq ($(call remove_quotes,$(COLLECTD_ENABLE-y)),)
> +COLLECTD_CONF_OPT += --enable-$(subst $(space),$(space)--enable-,$(strip 
> $(COLLECTD_ENABLE-y)))
> +endif
> +
> +ifneq ($(call remove_quotes,$(COLLECTD_ENABLE-)),)
> +COLLECTD_CONF_OPT += --disable-$(subst $(space),$(space)--disable-,$(strip 
> $(COLLECTD_ENABLE-)))
> +endif
> +
> +# 
> ----------------------------------------------------------------------------
> +# Target-Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/collectd.targetinstall:
> +     @$(call targetinfo)
> +
> +     @$(call install_init, collectd)
> +     @$(call install_fixup, collectd, PRIORITY, optional)
> +     @$(call install_fixup, collectd, SECTION, base)
> +     @$(call install_fixup, collectd, AUTHOR, "Markus Pargmann 
> <m...@pengutronix.de>")
> +     @$(call install_fixup, collectd, DESCRIPTION, missing)
> +
> +#    # base files + directories
> +     @$(call install_lib, collectd, 0, 0, 0644, libcollectdclient)
> +     @$(call install_copy, collectd, 0, 0, 0755, -, /usr/sbin/collectd)
> +     @$(call install_alternative, collectd, 0, 0, 0644, /etc/collectd.conf)
> +     @$(call install_copy, collectd, 0, 0, 0644, /etc/collectd)
> +     @$(call install_copy, collectd, 0, 0, 0644, -, 
> /usr/share/collectd/types.db)
> +     @$(call install_copy, collectd, 0, 0, 0755, /usr/lib/collectd)
> +
> +
> +ifdef PTXCONF_INITMETHOD_SYSTEMD
> +     @$(call install_alternative, collectd, 0, 0, 0644, 
> /lib/systemd/system/collectd.service)
> +     @$(call install_link, collectd, \
> +             ../../../../lib/systemd/system/collectd.service, \
> +             /etc/systemd/system/multi-user.target.wants/collectd.service \
> +     )
> +endif
> +     # Plugins
> +     @for plugin in $(COLLECTD_ENABLE-y); do \
> +             $(call install_copy, collectd, 0, 0, 0644, -, \
> +                     /usr/lib/collectd/$${plugin}.so); \
> +             $(call install_alternative, collectd, 0, 0, 0644, \
> +                     /etc/collectd.d/$${plugin}.conf); \
> +     done
> +
> +     @$(call install_finish, collectd)
> +
> +     @$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.1.4
> 
> 
> -- 
> ptxdist mailing list
> ptxdist@pengutronix.de
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to