diff --git a/Makefile.config b/Makefile.config index b8ad0b6..9a29348 100644 --- a/Makefile.config +++ b/Makefile.config @@ -46,7 +46,7 @@ CGIDIR = $(DESTDIR)/srv/www/cgi-bin # scale better. On many versions of Linux as well as on Solaris # /tmp will be a ramdisk. -SSPOOLDIR = $(DESTDIR)/var/lib/spool/munin +SPOOLDIR = $(DESTDIR)/var/lib/spool/munin # Suggested directory name for a pulic ramdisk based tmp directory. # SSPOOLDIR := /tmp/muninspool diff --git a/munin-1.4.7.tar.gz b/munin-1.4.7.tar.gz deleted file mode 100644 index 2af976a..0000000 --- a/munin-1.4.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9a87356b1f8662f444a7a2a86ff36809124ffe787c442de0ea35850194d602af -size 1236273 diff --git a/munin-2.0.11.1.tar.gz b/munin-2.0.11.1.tar.gz new file mode 100644 index 0000000..8b7abeb --- /dev/null +++ b/munin-2.0.11.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89ac6a46e82471206c37ed11a9fe2023cbf4c7482517f70a67d5aa5f32366c18 +size 1331839 diff --git a/munin-CVE-2012-2147.patch b/munin-CVE-2012-2147.patch deleted file mode 100644 index 29a0508..0000000 --- a/munin-CVE-2012-2147.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/common/lib/Munin/Common/Config.pm b/common/lib/Munin/Common/Config.pm -index 81b1dc8..76ff088 100644 ---- a/common/lib/Munin/Common/Config.pm -+++ b/common/lib/Munin/Common/Config.pm -@@ -37,6 +37,7 @@ my %legal = map { $_ => 1 } ( - "cdef_name", "graphable", "process", "realname", - "onlynullcdef", "group_order", "pipe", "pipe_command", - "unknown_limit", "num_unknowns", "dropdownlimit", -+ "max_size_x", "max_size_y", - "max_graph_jobs", "max_cgi_graph_jobs", "munin_cgi_graph_jobs", - "max_html_jobs", "num_messages"); - -diff --git a/master/_bin/munin-cgi-graph.in b/master/_bin/munin-cgi-graph.in -index 72a13ba..f09ca17 100755 ---- a/master/_bin/munin-cgi-graph.in -+++ b/master/_bin/munin-cgi-graph.in -@@ -265,6 +265,22 @@ sub verify_parameters - exit 1; - } - } -+ -+ # Checks the image size requested. -+ if (( CGI::param("size_x") || "") =~ m/^(\d+)/) { -+ my $max_size_x = ( $config->{max_size_x} || 4000); -+ if ($1 > $max_size_x) { -+ print STDERR "Warning: Asked image size x too large : $1 > $max_size_x. Bailing out.\n"; -+ exit 1; -+ } -+ } -+ if (( CGI::param("size_y") || "") =~ m/^(\d+)/) { -+ my $max_size_y = ($config->{max_size_y} || 4000); -+ if ($1 > $max_size_y) { -+ print STDERR "Warning: Asked image size y too large : $1 > $max_size_y. Bailing out.\n"; -+ exit 1; -+ } -+ } - } - - diff --git a/munin-node.cron.d b/munin-node.cron.d deleted file mode 100644 index ca9f9ec..0000000 --- a/munin-node.cron.d +++ /dev/null @@ -1,6 +0,0 @@ -# -# cron-jobs for munin-node -# - -MAILTO=root - diff --git a/munin-node.logrotate b/munin-node.logrotate index 69d3822..d34abcf 100644 --- a/munin-node.logrotate +++ b/munin-node.logrotate @@ -5,5 +5,5 @@ compress copytruncate notifempty - create 640 munin munin + create 640 root root } diff --git a/munin-node.rc b/munin-node.rc index fab0041..3309ac5 100644 --- a/munin-node.rc +++ b/munin-node.rc @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # # munin-node Control the Munin Node Server (formerly Linpro RRD client) # @@ -91,3 +91,4 @@ case "$1" in exit 1 esac rc_exit + diff --git a/munin-node.service b/munin-node.service new file mode 100644 index 0000000..1d02d18 --- /dev/null +++ b/munin-node.service @@ -0,0 +1,8 @@ +[Unit] +Description=Munin Node +Requires=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/munin-node + diff --git a/munin-node.tmpfiles b/munin-node.tmpfiles new file mode 100644 index 0000000..9d5dfe1 --- /dev/null +++ b/munin-node.tmpfiles @@ -0,0 +1 @@ +d /run/munin 0755 munin munin - - diff --git a/munin.changes b/munin.changes index e4b0680..bbbf451 100644 --- a/munin.changes +++ b/munin.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Mar 7 11:06:49 UTC 2013 - vjt@openssl.it + +- Add nginx plugins from http://github.com/ifad/nginx-munin + +------------------------------------------------------------------- +Tue Mar 5 19:42:45 UTC 2013 - vjt@openssl.it + +- BuildRequire perl-IO-Socket-INET6 + ------------------------------------------------------------------- Thu May 3 15:09:14 UTC 2012 - wr@rosenauer.org diff --git a/munin.logrotate b/munin.logrotate index 41bedcc..096a297 100644 --- a/munin.logrotate +++ b/munin.logrotate @@ -10,4 +10,5 @@ copytruncate notifempty create 640 munin munin + su munin munin } diff --git a/munin.spec b/munin.spec index 78ec1ff..a2e0bdb 100644 --- a/munin.spec +++ b/munin.spec @@ -4,38 +4,50 @@ %define cgidir /srv/www/cgi-bin %define dbdir /var/lib/munin %define logdir /var/log/munin -%define statedir /var/run/munin +%define plugindir /usr/lib/munin/plugins Name: munin -Version: 1.4.7 +Version: 2.0.11.1 Release: 1 +License: GPL-2.0 Summary: Network-wide graphing framework (grapher/gatherer) -License: GPL +Url: http://munin-monitoring.org/ Group: System/Monitoring -URL: http://munin.sourceforge.net Source0: http://heanet.dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar.gz Source1: Makefile.config +%if 0%{?suse_version} < 1220 Source2: munin-node.rc +%endif Source3: munin.cron.d Source4: munin.logrotate Source5: munin-node.logrotate -Source6: munin-node.cron.d Source7: plugins.conf -Patch0: munin-CVE-2012-2147.patch +%if 0%{?suse_version} >= 1220 +Source8: munin-node.tmpfiles +Source9: munin-node.service +%endif +# https://github.com/ifad/nginx-munin/archive/master.zip +Source10: nginx-munin.zip +BuildRequires: perl-HTML-Template perl-Log-Log4perl perl-Net-Server perl-Net-SNMP +BuildRequires: perl-Net-SSLeay +BuildRequires: html2text +BuildRequires: pwdutils +BuildRequires: unzip +%if 0%{?suse_version} >= 1220 +%{?systemd_requires} +BuildRequires: systemd +BuildRequires: htmldoc +%else +BuildRequires: sysvinit +%endif Requires: perl-base = %{perl_version} Requires: perl-HTML-Template perl-Log-Log4perl perl-Net-Server perl-Net-SNMP -%if %suse_version >= 1110 -Requires: perl-Net-SSLeay -%endif -Requires: pwdutils rrdtool +Requires: perl-Net-SSLeay perl-File-Copy-Recursive perl-Date-Manip +Requires: perl-IO-Socket-INET6 pwdutils rrdtool +Recommends: logrotate cron +BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: html2text htmldoc perl-HTML-Template perl-Log-Log4perl perl-Net-Server -BuildRequires: perl-Net-SNMP pwdutils sysvinit -%if %suse_version >= 1110 -BuildRequires: perl-Net-SSLeay -%endif %description @@ -53,15 +65,14 @@ RRDtool. %package node -Group: System/Monitoring Summary: Network-wide graphing framework (node) -BuildArch: noarch +Group: System/Monitoring Requires: perl-base = %{perl_version} Requires: perl-HTML-Template perl-Log-Log4perl perl-Net-Server perl-Net-SNMP -%if %suse_version >= 1110 Requires: perl-Net-SSLeay -%endif -Requires: pwdutils ps sysstat +Requires: pwdutils ps sysstat logdigest +Recommends: logrotate +BuildArch: noarch %description node Munin is a highly flexible and powerful solution used to create graphs of @@ -89,7 +100,7 @@ RRDtool. To see a real example of Munin in action, take a peek at %prep %setup -q cp %{SOURCE1} . -%patch0 -p1 +unzip %{SOURCE10} %build @@ -101,12 +112,8 @@ cp %{SOURCE1} . %__mkdir_p %{buildroot}/%{_sysconfdir}/munin/plugins %__mkdir_p %{buildroot}/%{_sysconfdir}/munin/munin-conf.d -%__mkdir_p %{buildroot}/%{_sysconfdir}/init.d -%__install -m0755 %{SOURCE2} %{buildroot}/%{_sysconfdir}/init.d/munin-node - %__mkdir_p %{buildroot}/%{_sysconfdir}/cron.d %__install -m0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/cron.d/munin -%__install -m0644 %{SOURCE6} %{buildroot}/%{_sysconfdir}/cron.d/munin-node %__mkdir_p %{buildroot}/etc/logrotate.d %__install -m0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/logrotate.d/munin @@ -114,88 +121,132 @@ cp %{SOURCE1} . %__install -m0644 %{SOURCE7} %{buildroot}/%{_sysconfdir}/munin/plugin-conf.d/munin-node -mkdir -p %{buildroot}/sbin -%__ln_s ../etc/init.d/munin-node $RPM_BUILD_ROOT/sbin/rcmunin-node +%__mkdir_p %{buildroot}/sbin +%if 0%{?suse_version} < 1220 +%__mkdir_p %{buildroot}/%{_sysconfdir}/init.d +%__install -m0755 %{SOURCE2} %{buildroot}/%{_sysconfdir}/init.d/munin-node +%__ln_s %{_sysconfdir}/init.d/munin-node $RPM_BUILD_ROOT/sbin/rcmunin-node +%else +%__ln_s /sbin/service $RPM_BUILD_ROOT/sbin/rcmunin-node +%endif + +%if 0%{?suse_version} >= 1220 +%__mkdir_p %{buildroot}/%{_prefix}/lib/tmpfiles.d +%__install -m0644 %{SOURCE8} %{buildroot}/%{_prefix}/lib/tmpfiles.d/munin-node.conf +%__mkdir_p %{buildroot}/%{_unitdir} +%__install -m0644 %{SOURCE9} %{buildroot}/%{_unitdir}/munin-node.service +%endif + +%__mkdir_p %{buildroot}/%{logdir} +%__mkdir_p %{buildroot}/%{htmldir} +%__mkdir_p %{buildroot}/%{dbdir} +%__mkdir_p %{buildroot}/%{dbdir}/plugin-state + +%__install -m0755 nginx-munin-master/nginx_* %{buildroot}/%{plugindir} +ln nginx-munin-master/README.org README.nginx %clean %{__rm} -rf %{buildroot} %pre -/usr/sbin/groupadd -r munin &>/dev/null || : -/usr/sbin/useradd -o -g munin -s /bin/false -r -c "munin monitoring" -d /var/lib/munin munin &>/dev/null || : +getent group munin >/dev/null || /usr/sbin/groupadd -r munin +getent passwd munin > /dev/null || /usr/sbin/useradd -r -c "munin monitoring" -d %{dbdir} -g munin munin %post -mkdir -p %{htmldir} -mkdir -p %{logdir} -mkdir -p %{dbdir} chown -R munin:munin %{htmldir} -chown -R munin:munin %{logdir} -chown -R munin:munin %{statedir} chown -R munin:munin %{dbdir} +chmod 755 %{dbdir} +touch %{logdir}/munin-graph.log %{logdir}/munin-html.log %{logdir}/munin-nagios.log %{logdir}/munin-limits.log %{logdir}/munin-update.log +chown munin:munin %{logdir}/* +chown root:root %{logdir}/munin-node.log* >/dev/null 2>&1 || true ## Node %pre node getent group munin >/dev/null || /usr/sbin/groupadd -r munin -getent passwd munin > /dev/null || /usr/sbin/useradd -r -d %{dbdir} -g munin munin +getent passwd munin > /dev/null || /usr/sbin/useradd -r -c "munin monitoring" -d %{dbdir} -g munin munin +%if 0%{?suse_version} >= 1220 +%service_add_pre munin-node.service +%endif %post node if [ $1 = 1 ] then +%if 0%{?suse_version} < 1220 /sbin/chkconfig --add munin-node +%endif /usr/sbin/munin-node-configure --shell | sh fi -mkdir -p %{logdir} -mkdir -p %{dbdir}/plugin-state -chown -R munin:munin %{logdir} chown -R munin:munin %{dbdir} -chmod g+w %{dbdir}/plugin-state +chmod 755 %{dbdir} +touch %{logdir}/munin-node.log +chown munin:munin %{logdir}/* +chown root:root %{logdir}/munin-node.log* +chown -R nobody:nobody %{dbdir}/plugin-state/* >/dev/null 2>&1 +%if 0%{?suse_version} >= 1220 +systemd-tmpfiles --create /usr/lib/tmpfiles.d/munin-node.conf +%service_add_post munin-node.service +%else /etc/init.d/munin-node status >/dev/null 2>&1 || /etc/init.d/munin-node start +%endif %preun node -if [ $1 = 0 ] -then - /sbin/service munin-node stop > /dev/null 2>&1 - /sbin/chkconfig --del munin-node - rmdir %{logdir} 2>/dev/null || true +if [ $1 = 1 ] ; then +%if 0%{?suse_version} < 1220 + /sbin/service munin-node stop >/dev/null 2>&1 + /sbin/chkconfig --del munin-node +%endif + rmdir %{logdir} 2>/dev/null || true fi +%if 0%{?suse_version} >= 1220 +%service_del_preun munin-node.service +%else %stop_on_removal munin-node +%endif %postun node +%if 0%{?suse_version} >= 1220 +%service_del_postun munin-node.service +%else %restart_on_update munin-node %{insserv_cleanup} +%endif %files %defattr(-, root, root) -%doc ChangeLog COPYING README UPGRADING +%doc ChangeLog COPYING README UPGRADING README.nginx %{_bindir}/munin-check %{_bindir}/munin-cron %{_bindir}/munindoc %dir %{_prefix}/lib/munin %{_prefix}/lib/munin/munin-graph %{_prefix}/lib/munin/munin-html +%{_prefix}/lib/munin/munin-datafile2storable +%{_prefix}/lib/munin/munin-storable2datafile %{_prefix}/lib/munin/munin-limits %{_prefix}/lib/munin/munin-update %{_prefix}/lib/munin/DejaVuSans.ttf %{_prefix}/lib/munin/DejaVuSansMono.ttf %{cgidir}/munin-cgi-graph -%{cgidir}/munin-fastcgi-graph -%dir %{htmldir} -%{htmldir}/.htaccess +%{cgidir}/munin-cgi-html +%attr(0755, munin, munin) %dir %{htmldir} +%attr(0444, munin, munin) %{htmldir}/.htaccess %dir %{_sysconfdir}/munin %dir %{_sysconfdir}/munin/munin-conf.d %dir %{_sysconfdir}/munin/templates +%dir %{_sysconfdir}/munin/static %config %{_sysconfdir}/munin/templates/* +%config %{_sysconfdir}/munin/static/* %config %{_sysconfdir}/cron.d/munin %config(noreplace) %{_sysconfdir}/munin/munin.conf %config %{_sysconfdir}/logrotate.d/munin -%dir %{statedir} %dir %{perl_vendorlib}/Munin %dir %{perl_vendorlib}/Munin/Master %{perl_vendorlib}/Munin/Master/Config.pm %{perl_vendorlib}/Munin/Master/GraphOld.pm %{perl_vendorlib}/Munin/Master/Group.pm %{perl_vendorlib}/Munin/Master/GroupRepository.pm +%{perl_vendorlib}/Munin/Master/HTMLConfig.pm %{perl_vendorlib}/Munin/Master/HTMLOld.pm %{perl_vendorlib}/Munin/Master/Host.pm %{perl_vendorlib}/Munin/Master/LimitsOld.pm @@ -211,6 +262,7 @@ fi %{_mandir}/man3/Munin::Master::GroupRepository.3pm.gz %{_mandir}/man3/Munin::Master::HTMLOld.3pm.gz %{_mandir}/man3/Munin::Master::Host.3pm.gz +%{_mandir}/man3/Munin::Master::LimitsOld.3pm.gz %{_mandir}/man3/Munin::Master::Logger.3pm.gz %{_mandir}/man3/Munin::Master::Node.3pm.gz %{_mandir}/man3/Munin::Master::ProcessManager.3pm.gz @@ -227,23 +279,32 @@ fi %{_mandir}/man8/munin-limits.8.gz %{_mandir}/man8/munin-update.8.gz %{_mandir}/man8/munin.8.gz +%attr(0750, munin, munin) %dir %{logdir} +%attr(0755, munin, munin) %dir %{dbdir} %files node %defattr(-, root, root) %{_sbindir}/munin-run +%{_sbindir}/munin-sched %{_sbindir}/munin-node %{_sbindir}/munin-node-configure +%if 0%{?suse_version} >= 1220 +%{_prefix}/lib/tmpfiles.d/munin-node.conf +%{_unitdir}/munin-node.service +%endif %dir %{_prefix}/lib/munin -%dir %{_prefix}/lib/munin/plugins -%{_prefix}/lib/munin/plugins/* +%{_prefix}/lib/munin/munin-async +%{_prefix}/lib/munin/munin-asyncd +%{_prefix}/lib/munin/plugins/ /sbin/rcmunin-node +%if 0%{?suse_version} < 1220 +%config %{_sysconfdir}/init.d/munin-node +%endif %dir %{_sysconfdir}/munin/plugin-conf.d %dir %{_sysconfdir}/munin/plugins %config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/munin-node %config(noreplace) %{_sysconfdir}/munin/munin-node.conf -%config %{_sysconfdir}/init.d/munin-node -%config %{_sysconfdir}/cron.d/munin-node %config %{_sysconfdir}/logrotate.d/munin-node %dir %{perl_vendorlib}/Munin/Common %{perl_vendorlib}/Munin/Common/Config.pm @@ -252,6 +313,8 @@ fi %{perl_vendorlib}/Munin/Common/TLSClient.pm %{perl_vendorlib}/Munin/Common/TLSServer.pm %{perl_vendorlib}/Munin/Common/Timeout.pm +%{perl_vendorlib}/Munin/Common/DictFile.pm +%{perl_vendorlib}/Munin/Common/SyncDictFile.pm %dir %{perl_vendorlib}/Munin/Node %{perl_vendorlib}/Munin/Node/Config.pm %dir %{perl_vendorlib}/Munin/Node/Configure @@ -267,6 +330,9 @@ fi %{perl_vendorlib}/Munin/Node/Service.pm %{perl_vendorlib}/Munin/Node/Session.pm %{perl_vendorlib}/Munin/Node/Utils.pm +%{perl_vendorlib}/Munin/Node/ProxySpooler.pm +%{perl_vendorlib}/Munin/Node/SpoolReader.pm +%{perl_vendorlib}/Munin/Node/SpoolWriter.pm %{perl_vendorlib}/Munin/Plugin.pm %dir %{perl_vendorlib}/Munin/Plugin %{perl_vendorlib}/Munin/Plugin/Pgsql.pm @@ -274,6 +340,7 @@ fi %{_mandir}/man1/munin-node-configure.1.gz %{_mandir}/man1/munin-node.1.gz %{_mandir}/man1/munin-run.1.gz +%{_mandir}/man1/munin-sched.1.gz %{_mandir}/man1/munindoc.1.gz %{_mandir}/man3/Munin::Common::Config.3pm.gz %{_mandir}/man3/Munin::Common::Defaults.3pm.gz @@ -288,7 +355,10 @@ fi %{_mandir}/man3/Munin::Node::Configure::Plugin.3pm.gz %{_mandir}/man3/Munin::Node::Configure::PluginList.3pm.gz %{_mandir}/man3/Munin::Node::Logger.3pm.gz +%{_mandir}/man3/Munin::Node::ProxySpooler.3pm.gz %{_mandir}/man3/Munin::Node::OS.3pm.gz +%{_mandir}/man3/Munin::Node::SpoolReader.3pm.gz +%{_mandir}/man3/Munin::Node::SpoolWriter.3pm.gz %{_mandir}/man3/Munin::Node::SNMPConfig.3pm.gz %{_mandir}/man3/Munin::Node::Server.3pm.gz %{_mandir}/man3/Munin::Node::Service.3pm.gz @@ -297,6 +367,9 @@ fi %{_mandir}/man3/Munin::Plugin.3pm.gz %{_mandir}/man3/Munin::Plugin::Pgsql.3pm.gz %{_mandir}/man3/Munin::Plugin::SNMP.3pm.gz +%attr(0750, munin, munin) %dir %{logdir} +%attr(0755, munin, munin) %dir %{dbdir} +%attr(0775, nobody, nobody) %dir %{dbdir}/plugin-state %changelog diff --git a/nginx-munin.zip b/nginx-munin.zip new file mode 100644 index 0000000..3be8790 --- /dev/null +++ b/nginx-munin.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ae0ef1144621c2507634adc20afc90c94ae90fa601284556d2168d10f2bb65d +size 9786 diff --git a/plugins.conf b/plugins.conf index db28e7b..03035f4 100644 --- a/plugins.conf +++ b/plugins.conf @@ -13,7 +13,10 @@ # [mysql*] -#env.mysqlopts -u someuser +#env.mysqladmin /usr/bin/mysqladmin +#env.mysqluser +#env.mysqlpassword +#env.mysqlopts -u -p [exim*] group mail @@ -33,3 +36,20 @@ env.logfile mail [dhcpd] env.leasefile /var/lib/dhcp/db/dhcpd.leases + +[fail2ban] +user root + +[amavis] +user root +env.amavislog /var/log/mail + +[courier*] +env.logtail /usr/bin/logtail + +[perdition] +env.logtail /usr/bin/logtail + +[mailscanner] +env.logtail /usr/bin/logtail +