Name: munin Version: @@VERSION@@ Release: 4 Summary: Network-wide graphing framework (grapher/gatherer) Copyright: GPL Group: System Environment/Daemons URL: http://www.linpro.no/ Packager: Ingvar Hagelund Vendor: Linpro AS Distribution: Linpro AS RHEL Software Archives BuildRoot: %{_tmppath}/%{name}-%{version}-root Source: %{name}-%{version}.tar.gz BuildArchitectures: noarch Provides: perl(RRDs) Requires: perl-HTML-Template Requires: perl-Net-Server Requires: rrdtool Requires: logrotate Obsoletes: lrrd-server %description Munin is a highly flexible and powerful solution used to create graphs of virtually everything imaginable throughout your network, while still maintaining a rattling ease of installation and configuration. This package contains the grapher/gatherer. You will only need one instance of it in your network. It will periodically poll all the nodes in your network it's aware of for data, which it in turn will use to create graphs and HTML pages, suitable for viewing with your graphical web browser of choice. Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent RRDtool. To see a real example of Munin in action, take a peek at . %package node Group: System Environment/Daemons Summary: Network-wide graphing framework (node) BuildArchitectures: noarch Requires: perl-Net-Server #Requires: perl-Config-General Requires: procps >= 2.0.7 Requires: sysstat Obsoletes: lrrd-client %description node Munin is a highly flexible and powerful solution used to create graphs of virtually everything imaginable throughout your network, while still maintaining a rattling ease of installation and configuration. This package contains node software. You should install it on all the nodes in your network. It will know how to extract all sorts of data from the node it runs on, and will wait for the gatherer to request this data for further processing. It includes a range of plugins capable of extracting common values such as cpu usage, network usage, load average, and so on. Creating your own plugins which are capable of extracting other system-specific values is very easy, and is often done in a matter of minutes. You can also create plugins which relay information from other devices in your network that can't run Munin, such as a switch or a server running another operating system, by using SNMP or similar technology. Munin is written in Perl, and relies heavily on Tobi Oetiker's excellent RRDtool. To see a real example of Munin in action, take a peek at . %prep %setup -q rm -rf %{buildroot} mkdir -p %{buildroot} %build # htmldoc and html2text are not available for Red Hat. Quick hack with perl: # Skip the PDFs. perl -pi -e 's,htmldoc munin,cat munin, or s,html(2text|doc),# $&,' Makefile perl -pi -e 's,\$\(INSTALL.+\.(pdf|txt) \$\(DOCDIR,# $&,' Makefile make clean make CONFIG=dists/redhat/Makefile.config \ build %install ## Node make CONFIG=dists/redhat/Makefile.config \ DOCDIR=%{buildroot}%{_docdir}/munin \ MANDIR=%{buildroot}%{_mandir} \ DESTDIR=%{buildroot} \ install-main install-node install-node-plugins install-doc install-man mkdir -p %{buildroot}/etc/rc.d/init.d mkdir -p %{buildroot}/etc/munin/plugins mkdir -p %{buildroot}/etc/munin/plugin-conf.d mkdir -p %{buildroot}/etc/logrotate.d mkdir -p %{buildroot}/var/lib/munin mkdir -p %{buildroot}/var/log/munin install -m0755 dists/redhat/munin-node.rc %{buildroot}/etc/rc.d/init.d/munin-node install -m0644 dists/tarball/plugins.conf %{buildroot}/etc/munin/ install -m0644 dists/tarball/plugins.conf %{buildroot}/etc/munin/plugin-conf.d/munin-node install -m0644 dists/debian/munin.logrotate %{buildroot}/etc/logrotate.d/munin install -m0644 dists/debian/munin-node.logrotate %{buildroot}/etc/logrotate.d/munin-node # Prevent rpmbuild from adding a lot of perl dependencies chmod -x %{buildroot}%{_datadir}/munin/plugins/* chmod -x %{buildroot}%{_sbindir}/munin-node-configure-snmp chmod -x %{buildroot}%{_sbindir}/munin-node-configure chmod -x %{buildroot}%{_sbindir}/munin-run ## Server make CONFIG=dists/redhat/Makefile.config \ DESTDIR=%{buildroot} \ install-main # cf=%{buildroot}/etc/munin/munin.conf; sed 's,/var/www/munin,/var/www/html/munin,g' < $cf > $cf.patched && mv $cf.patched $cf mkdir -p %{buildroot}/var/www/html/munin mkdir -p %{buildroot}/var/log/munin mkdir -p %{buildroot}/etc/cron.d # silly RPM triggers want to make debug enabled libraries. let it try. mkdir -p %{buildroot}/usr/lib/debug install -m 0755 dists/redhat/munin.cron.d %{buildroot}/etc/cron.d/munin install -m 0644 server/munin-htaccess %{buildroot}/var/www/html/munin/.htaccess install -m 0755 server/style.css %{buildroot}/var/www/html/munin install -m 0644 ChangeLog %{buildroot}%{_docdir}/munin/ChangeLog %clean [ -n "%{buildroot}" -a "%{buildroot}" != / ] && rm -rf %{buildroot} %pre node getent group munin >/dev/null || groupadd -r munin getent passwd munin > /dev/null || useradd -r -d /var/lib/munin -g munin munin %post node chmod -R g+w /var/lib/munin/ chmod +x %{_datadir}/munin/plugins/* chmod +x %{_sbindir}/munin* if [ $1 = 1 ] then /sbin/chkconfig --add munin-node /usr/sbin/munin-node-configure --shell | sh fi chown -R munin /var/lib/munin %preun node if [ $1 = 0 ] then /sbin/chkconfig --del munin-node rmdir /var/log/munin 2>/dev/null || echo " " fi %pre getent group munin >/dev/null || groupadd -r munin getent passwd munin > /dev/null || useradd -r -d /var/lib/munin -g munin munin %post mkdir -p /var/run/munin chown -R munin /var/run/munin chown -R munin /var/www/html/munin chown -R munin /var/log/munin chown -R munin /var/lib/munin %postun if [ $1 = 0 ] then userdel munin fi %files %defattr(-, root, root) %doc %{_docdir}/munin/README.api #%doc %{_docdir}/munin/README.config %doc %{_docdir}/munin/README.plugins %doc %{_docdir}/munin/COPYING %doc %{_docdir}/munin/ChangeLog %doc %{_docdir}/munin/README-apache-cgi %{_bindir}/munin-cron %{_datadir}/munin/munin-graph %{_datadir}/munin/munin-html %{_datadir}/munin/munin-limits %{_datadir}/munin/munin-update %{_libdir}/perl5/*perl/5.*/Munin.pm /var/www/html/munin/cgi/munin-cgi-graph %dir /etc/munin/templates %dir /etc/munin /etc/munin/templates/* /etc/cron.d/munin %config(noreplace) /etc/munin/munin.conf %config(noreplace) /etc/logrotate.d/munin %attr(-, munin, root) %dir /var/lib/munin %attr(-, munin, root) %dir /var/log/munin %attr(-, munin, root) %dir /var/www/html/munin %attr(-, munin, root) %dir /var/www/html/munin/cgi %attr(-, munin, root) /var/www/html/munin/style.css %config /var/www/html/munin/.htaccess %doc %{_mandir}/man8/munin-graph* %doc %{_mandir}/man8/munin-update* %doc %{_mandir}/man8/munin-limits* %doc %{_mandir}/man8/munin-html* %doc %{_mandir}/man8/munin-cron* %doc %{_mandir}/man5/munin.conf* %files node %defattr(-, root, root) %config(noreplace) /etc/munin/munin-node.conf %config(noreplace) /etc/munin/plugin-conf.d/munin-node %config(noreplace) /etc/logrotate.d/munin-node %config /etc/rc.d/init.d/munin-node %config(noreplace) /etc/munin/plugins.conf %{_sbindir}/munin-run %{_sbindir}/munin-node %{_sbindir}/munin-node-configure %{_sbindir}/munin-node-configure-snmp %dir /var/log/munin %dir %{_datadir}/munin %dir /etc/munin/plugins %dir /etc/munin %dir /var/lib/munin %dir %attr(-, root, munin) /var/lib/munin/plugin-state %{_datadir}/munin/plugins/* %doc %{_docdir}/munin/COPYING %doc %{_docdir}/munin/munin-doc.html %doc %{_docdir}/munin/munin-faq.html %doc %{_mandir}/man8/munin-run* %doc %{_mandir}/man8/munin-node* %doc %{_mandir}/man5/munin-node* %changelog * Thu Apr 21 2005 Ingvar Hagelund 1.2.3-4 - Fixed a bug in the iostat plugin * Wed Apr 20 2005 Ingvar Hagelund 1.2.3-3 - Added the missing /var/run/munin * Tue Apr 19 2005 Ingvar Hagelund 1.2.3-2 - Removed a lot of unecessary perl dependencies * Mon Apr 18 2005 Ingvar Hagelund 1.2.3-1 - Sync with svn * Tue Mar 22 2005 Ingvar Hagelund 1.2.2-5 - Sync with release of 1.2.2 - Add some nice text from the suse specfile - Minimal changes in the header - Some cosmetic changes - Added logrotate scripts (stolen from debian package) * Sun Feb 01 2004 Ingvar Hagelund - Sync with CVS. Version 1.0.0pre2 * Sun Jan 18 2004 Ingvar Hagelund - Sync with CVS. Change names to munin. * Fri Oct 31 2003 Ingvar Hagelund - Lot of small fixes. Now builds on more RPM distros * Wed May 21 2003 Ingvar Hagelund - Sync with CVS - 0.9.5-1 * Tue Apr 1 2003 Ingvar Hagelund - Sync with CVS - Makefile-based install of core files - Build doc (only pod2man) * Thu Jan 9 2003 Ingvar Hagelund - Sync with CVS, auto rpmbuild * Thu Jan 2 2003 Ingvar Hagelund - Fix spec file for RedHat 8.0 and new version of lrrd * Wed Sep 4 2002 Ingvar Hagelund - Small bugfixes in the rpm package * Tue Jun 18 2002 Kjetil Torgrim Homme - new package