I’d like to run
munin-node
on my SmartOS Global Zone, to remotely monitor hardware and software status.I’ve tried
pkgin in munin-node-1.4.5
, but installation fails because it can’t create themunin
user account (which makes sense since/etc/passwd
is part of the root ramdisk).What’s the right way to do this?
Answer
I was able to get it working by installing from source. Here’s the recipe I used:
pkgin in gmake perl
cpan HTML::Template Log::Log4perl Net::Server Net::Server::Fork
mkdir -p /opt/local/src
cd /opt/local/src
wget http://sourceforge.net/projects/munin/files/stable/2.0.9/munin-2.0.9.tar.gz/download
tar zxvf munin-2.0.9.tar.gz
cd munin-2.0.9
vi Makefile.config
# change PREFIX to `/opt/local`
# change CONFDIR to `/opt/local/etc/munin`
# change LIBDIR to `$(PREFIX)/lib/munin`
# change STATEDIR to `$(DESTDIR)/var/run`
# change USER and GROUP to `nobody`
make
make install-common-prime install-node-prime install-plugins-prime
vi /opt/local/etc/munin/munin-node.conf
# set access controls
munin-node-configure --shell | sh -x
mkdir -p /opt/custom/smf
And create /opt/custom/smf/munin-node.xml
with the following content:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
<service name='network/munin-node' type='service' version='0'>
<create_default_instance enabled='true'/>
<single_instance/>
<exec_method name='start' type='method' exec='/opt/local/sbin/munin-node' timeout_seconds='0'>
<method_context/>
</exec_method>
<exec_method name='stop' type='method' exec=':kill' timeout_seconds='0'>
<method_context/>
</exec_method>
</service>
</service_bundle>
Attribution
Source : Link , Question Author : smokris , Answer Author : smokris