[collectd] [PATCH 2/2] Add config file for init script Separate mackages for rrdtool/rrdcached Run as non-privileged user
cpan at faxm0dem.org
cpan at faxm0dem.org
Tue Sep 6 14:10:42 CEST 2011
I realize now there need to be further changes, sorry for that.
please ignore that patch I will resubmit ASAP
On Tue, Sep 06, 2011 at 12:21:47PM +0200, Fabien Wernli wrote:
>
> Signed-off-by: Fabien Wernli <cpan at faxm0dem.org>
> ---
> contrib/redhat/collectd.conf | 6 -----
> contrib/redhat/collectd.spec | 41 ++++++++++++++++++++++++++++++++++--
> contrib/redhat/init.d-collectd | 15 ++++++++++---
> contrib/redhat/rrdcached.conf | 9 ++++++++
> contrib/redhat/rrdtool.conf | 8 +++++++
> contrib/redhat/sysconfig-collectd | 6 +++++
> 6 files changed, 72 insertions(+), 13 deletions(-)
> create mode 100644 contrib/redhat/rrdcached.conf
> create mode 100644 contrib/redhat/rrdtool.conf
> create mode 100644 contrib/redhat/sysconfig-collectd
>
> diff --git a/contrib/redhat/collectd.conf b/contrib/redhat/collectd.conf
> index f8352ff..458fa4c 100644
> --- a/contrib/redhat/collectd.conf
> +++ b/contrib/redhat/collectd.conf
> @@ -180,12 +180,6 @@ LoadPlugin wireless
> # Process "name"
> #</Plugin>
>
> -#<Plugin rrdtool>
> -# DataDir "/usr/var/lib/collectd/rrd"
> -# CacheTimeout 120
> -# CacheFlush 900
> -#</Plugin>
> -
> #<Plugin syslog>
> # LogLevel info
> #</Plugin>
> diff --git a/contrib/redhat/collectd.spec b/contrib/redhat/collectd.spec
> index 5f31655..e928e0c 100644
> --- a/contrib/redhat/collectd.spec
> +++ b/contrib/redhat/collectd.spec
> @@ -12,7 +12,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root
> BuildPrereq: lm_sensors-devel, rrdtool-devel, libpcap-devel, net-snmp-devel, libstatgrab-devel, libxml2-devel, libiptcdata-devel
> # libcurl deps
> BuildPrereq: curl-devel,libidn-devel,openssl-devel
> -Requires: rrdtool, perl-Regexp-Common, libstatgrab
> +Requires: perl-Regexp-Common, libstatgrab
> Packager: RightScale <support at rightscale.com>
> Vendor: collectd development team <collectd at verplant.org>
>
> @@ -54,6 +54,20 @@ Requires: collectd = %{version}, curl
> %description nginx
> This plugin gets data provided by nginx.
>
> +%package rrdcached
> +Summary: rrdcached-plugin for collectd.
> +Group: System Environment/Daemons
> +Requires: collectd = %{version}, rrdtool >= 1.4
> +%description rrdcached
> +This plugin for collectd provides write plugin for rrdcached.
> +
> +%package rrdtool
> +Summary: rrdtool-plugin for collectd.
> +Group: System Environment/Daemons
> +Requires: collectd = %{version}, rrdtool
> +%description rrdtool
> +This plugin for collectd provides write plugin for rrd files.
> +
> %package sensors
> Summary: libsensors-module for collectd.
> Group: System Environment/Daemons
> @@ -92,8 +106,10 @@ make
> %install
> make install DESTDIR=$RPM_BUILD_ROOT
> mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
> +mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
> mkdir -p $RPM_BUILD_ROOT/var/www/cgi-bin
> cp contrib/redhat/init.d-collectd $RPM_BUILD_ROOT/etc/rc.d/init.d/collectd
> +cp contrib/redhat/sysconfig-collectd $RPM_BUILD_ROOT/etc/sysconfig/collectd
> cp contrib/collection.cgi $RPM_BUILD_ROOT/var/www/cgi-bin
> mkdir -p $RPM_BUILD_ROOT/etc/collectd.d
> mkdir -p $RPM_BUILD_ROOT/var/lib/collectd
> @@ -116,11 +132,16 @@ cp contrib/redhat/email.conf $RPM_BUILD_ROOT/etc/collectd.d/email.conf
> cp contrib/redhat/sensors.conf $RPM_BUILD_ROOT/etc/collectd.d/sensors.conf
> cp contrib/redhat/mysql.conf $RPM_BUILD_ROOT/etc/collectd.d/mysql.conf
> cp contrib/redhat/nginx.conf $RPM_BUILD_ROOT/etc/collectd.d/nginx.conf
> +cp contrib/redhat/rrdcached.conf $RPM_BUILD_ROOT/etc/collectd.d/rrdcached.conf
> +cp contrib/redhat/rrdtool.conf $RPM_BUILD_ROOT/etc/collectd.d/rrdtool.conf
> cp contrib/redhat/snmp.conf $RPM_BUILD_ROOT/etc/collectd.d/snmp.conf
>
> %clean
> rm -rf $RPM_BUILD_ROOT
>
> +%pre
> +/usr/sbin/useradd -d /dev/null -r -s /sbin/nologin collectd >/dev/null 2>&1 || :
> +
> %post
> /sbin/chkconfig --add collectd
> /sbin/chkconfig collectd on
> @@ -143,6 +164,7 @@ exit 0
> %defattr(-,root,root)
> %doc AUTHORS COPYING ChangeLog INSTALL NEWS README contrib/
> %config %attr(0644,root,root) /etc/collectd.conf
> +%config %attr(0644,root,root) /etc/sysconfig/collectd
> %attr(0755,root,root) /etc/rc.d/init.d/collectd
> %attr(0755,root,root) /var/www/cgi-bin/collection.cgi
> %attr(0755,root,root) %{_sbindir}/collectd
> @@ -175,6 +197,7 @@ exit 0
> %plugin_macro cpu
> %plugin_macro csv
> %plugin_macro curl
> +%plugin_macro curl_json
> %plugin_macro curl_xml
> %plugin_macro dbi
> %plugin_macro df
> @@ -217,8 +240,6 @@ exit 0
> %plugin_macro processes
> %plugin_macro protocols
> %plugin_macro python
> -%plugin_macro rrdtool
> -%plugin_macro rrdcached
> %plugin_macro serial
> %plugin_macro sensors
> %plugin_macro swap
> @@ -284,6 +305,14 @@ exit 0
> %config %attr(0644,root,root) /etc/collectd.d/nginx.conf
> %plugin_macro nginx
>
> +%files rrdcached
> +%config %attr(0644,root,root) /etc/collectd.d/rrdcached.conf
> +%plugin_macro rrdcached
> +
> +%files rrdtool
> +%config %attr(0644,root,root) /etc/collectd.d/rrdtool.conf
> +%plugin_macro rrdtool
> +
> %files sensors
> %attr(0644,root,root) %{_libdir}/%{name}/sensors.so*
> %attr(0644,root,root) %{_libdir}/%{name}/sensors.la
> @@ -294,6 +323,12 @@ exit 0
> %plugin_macro snmp
>
> %changelog
> +* Mon Sep 05 2011 faxm0dem <faxm0dem at cpan.org> 5.0.0
> +- New upstream version
> +- Added /etc/sysconfig/collectd
> +- Added collectd user the daemon shall start as
> +- Moved rrdtool/rrdcached plugins to separate package
> +
> * Tue Jan 04 2010 Rackspace <stu.hood at rackspace.com> 4.9.0
> - New upstream version
> - Changes to support 4.9.0
> diff --git a/contrib/redhat/init.d-collectd b/contrib/redhat/init.d-collectd
> index a60acb3..d18b794 100644
> --- a/contrib/redhat/init.d-collectd
> +++ b/contrib/redhat/init.d-collectd
> @@ -18,17 +18,24 @@ prog="collectdmon"
> service="collectd"
> CONFIG=/etc/collectd.conf
> COLLECTD=/usr/sbin/collectd
> -COLLECTDMONPID=/var/run/collectdmon.pid
> +COLLECTDMONPIDIR="/var/run"
> +COLLECTDMONPID="$COLLECTDMONPIDIR/collectdmon.pid"
> +RUNAS=collectd
>
> -if [ -r /etc/default/$prog ]; then
> - . /etc/default/$prog
> +if [ -r /etc/sysconfig/$service ]; then
> + . /etc/sysconfig/$service
> fi
>
> +if [ ! -d $COLLECTDMONPIDIR ]; then
> + mkdir $COLLECTDMONPIDIR
> +fi
> +chown $RUNAS: $COLLECTDMONPIDIR
> +
> start () {
> echo -n $"Starting collectd: "
> if [ -r "$CONFIG" ]
> then
> - daemon $prog -P $COLLECTDMONPID -c $COLLECTD -- -C "$CONFIG"
> + daemon --user "${RUNAS-root}" $prog -P $COLLECTDMONPID -c $COLLECTD -- -C "$CONFIG"
> RETVAL=$?
> echo
> [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$service
> diff --git a/contrib/redhat/rrdcached.conf b/contrib/redhat/rrdcached.conf
> new file mode 100644
> index 0000000..4e51931
> --- /dev/null
> +++ b/contrib/redhat/rrdcached.conf
> @@ -0,0 +1,9 @@
> +LoadPlugin rrdcached
> +
> +#<Plugin rrdcached>
> +# DaemonAddress "unix:/tmp/rrdcached.sock"
> +# DataDir "/usr/var/lib/collectd/rrd"
> +# CreateFiles true
> +# CollectStatistics true
> +#</Plugin>
> +
> diff --git a/contrib/redhat/rrdtool.conf b/contrib/redhat/rrdtool.conf
> new file mode 100644
> index 0000000..2f65c1f
> --- /dev/null
> +++ b/contrib/redhat/rrdtool.conf
> @@ -0,0 +1,8 @@
> +LoadPlugin rrdtool
> +
> +#<Plugin rrdtool>
> +# DataDir "/usr/var/lib/collectd/rrd"
> +# CacheTimeout 120
> +# CacheFlush 900
> +#</Plugin>
> +
> diff --git a/contrib/redhat/sysconfig-collectd b/contrib/redhat/sysconfig-collectd
> new file mode 100644
> index 0000000..209cd08
> --- /dev/null
> +++ b/contrib/redhat/sysconfig-collectd
> @@ -0,0 +1,6 @@
> +# These values override defaults in collectd startup script
> +# CONFIG=/etc/collectd.conf
> +# COLLECTD=/usr/sbin/collectd
> +# COLLECTDMONPID=/var/run/collectdmon.pid
> +# RUNAS=collectd
> +
> --
> 1.7.5.4
>
More information about the collectd
mailing list