This is a short guide on how to install Munin (actually munin-node) on Sun Solaris 10.
I installed it on x86, but is should work on other architectures too...
Requirements: Solaris 10, perl, gnu make, perl Net::Server package
First create group + user
useradd munin
We need gmake (GNU Make). Mine is under /usr/sfw/bin. -- If you do not have it acquire on from: http://www.sunfreeware.com/
Get munin from http://sourceforge.net/project/showfiles.php?group_id=98117
Edit Makefile configuration:
The file should look something like this:
# This file specifies where Munin will look for things after you've
# run 'make' in the source directory. Modify it to suit your needs.
# DESTDIR is empty during building, and optionally set to point to
# a shadow tree during make install.
#
# the base of the Munin installation.
#
#PREFIX = $(DESTDIR)/opt/munin
PREFIX = /usr/local/munin
# Where Munin keeps its configurations (server.conf, client.conf, ++)
CONFDIR = /etc/munin
# Server only - where to put munin-cron
BINDIR = $(PREFIX)/bin
# Client only - where to put munin-node, munin-node-configure, and munin-run
SBINDIR = $(PREFIX)/sbin
# Where to put text and html documentation
DOCDIR = $(PREFIX)/doc
# Where to put man pages
MANDIR = $(PREFIX)/man
# Where to put internal binaries and plugin repository
LIBDIR = $(PREFIX)/lib
# Server only - Output directory
HTMLDIR = $(PREFIX)/var/www
CGIDIR = $(HTMLDIR)/cgi
# Client only - Where to put RRD files and other intenal data
DBDIR = /var/munin
# Client only - Where plugins should put their states. Must be writable by
# group "munin", and should be preserved between reboots
PLUGSTATE = $(DBDIR)/plugin-state
# Where Munin should place its logs.
LOGDIR = /var/log/munin
# Location of PID files and other statefiles. On the server, must be
# writable by the user "munin".
STATEDIR = /var/run/munin
# The perl interpreter to use
PERL = $(shell which perl)
# The python interpreter to use (used by some plugins)
PYTHON = /usr/bin/env python
# Server only - Where to install the perl libraries
PERLLIB = $(DESTDIR)$(shell $(PERL) -V:sitelib | cut -d= -f2 | sed "s/[';]//g")
# Client only - Install plugins for this architecture
OSTYPE = $(shell uname | tr '[A-Z]' '[a-z]')
# How to figure out the hostname. (Only used in default configuration
# files)
HOSTNAME = $(shell hostname)
# What is the safest way to create a tempfile.
# Default is to figure it out by testing various methods.
# Replace this with a known platform-specific method
MKTEMP = $(shell ./test-mktemp)
# Munin version number.
VERSION = $(shell cat RELEASE)
# User to run munin as
USER = munin
GROUP = munin
# Default user to run the plugins as
PLUGINUSER = nobody
# Which command to use to check if the USER and GROUP to run Munin as, exists.
GETENT = $(shell which getent || which true 2>/dev/null)
CHECKUSER = $(shell $(GETENT) passwd $(USER) >/dev/null 2>/dev/null || (echo "echo User $(USER) nonexistant. Create the user and retry; exit 2"))
CHECKGROUP = $(shell $(GETENT) group $(GROUP) >/dev/null 2>/dev/null || (echo "echo Group $(GROUP) nonexistant. Create the group and retry; exit 2"))
CHOWN = chown
CHMOD = chmod
CHGRP = chgrp
Install...
gmake install-node install-node-plugins
/usr/local/munin/sbin/munin-node-configure --shell | sh
Works?
./munin-node --help
Can't locate Net/Server/Fork.pm in @INC (@INC contains: /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl) at ./munin-node line 130.
BEGIN failed--compilation aborted at ./munin-node line 130.
Well we'll need Net::Server: http://search.cpan.org/~rhandom/Net-Server-0.97/lib/Net/Server/Fork.pm
gunzip Net-Server-0.97.tar.gz
tar xf Net-Server-0.97.tar
cd Net-Server-0.97
perl Makefile.PL
gmake
gmake install
cd /usr/local/munin/sbin/
/usr/local/munin/sbin/munin-node --help
Usage: /usr/local/munin/sbin/munin-node [options]
Options:
--help View this message.
--config Use as configuration file.
[/etc/munin/munin-node.conf]
--[no]paranoia Only run plugins owned by root. Check permissions.
[--noparanoia]
--debug View debug messages.
--version View version information.
Now that looks fine...
Lets start it:
/usr/local/munin/sbin/munin-node
|

