From 53b2f145db551902ae9530a2d1e43e00ff107235 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Mon, 15 Jan 2007 11:46:25 +0000 Subject: [PATCH] Added support for Gentoo. --- bin/compile-nagios-plugins | 4 ++++ bin/compile-nrpe | 4 ++++ bin/install-local | 1 + bin/install-nrpe | 4 ++-- bin/utils/functions.sh | 18 ++++++++++++++++++ rules/gentoo/config-nrpe.sh | 4 ++++ rules/gentoo/nrpe-host-auto.sh | 16 ++++++++++++++++ site-rules/lysator/config-nrpe-posthook.sh | 4 ++++ .../gentoo/compile-nagios-plugins-prehook.sh | 1 + .../lysator/gentoo/compile-nrpe-prehook.sh | 1 + .../gentoo/install-nagios-plugins-prehook.sh | 1 + .../lysator/gentoo/install-nrpe-prehook.sh | 4 ++++ site-rules/lysator/gentoo/os | 1 + site-rules/lysator/gentoo/setup-env.sh | 1 + .../lysator/solaris10/config-nrpe-posthook.sh | 2 -- 15 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 rules/gentoo/config-nrpe.sh create mode 100644 rules/gentoo/nrpe-host-auto.sh create mode 100644 site-rules/lysator/config-nrpe-posthook.sh create mode 100644 site-rules/lysator/gentoo/compile-nagios-plugins-prehook.sh create mode 100644 site-rules/lysator/gentoo/compile-nrpe-prehook.sh create mode 100644 site-rules/lysator/gentoo/install-nagios-plugins-prehook.sh create mode 100644 site-rules/lysator/gentoo/install-nrpe-prehook.sh create mode 100644 site-rules/lysator/gentoo/os create mode 100644 site-rules/lysator/gentoo/setup-env.sh diff --git a/bin/compile-nagios-plugins b/bin/compile-nagios-plugins index 8173bd7..7488f64 100755 --- a/bin/compile-nagios-plugins +++ b/bin/compile-nagios-plugins @@ -7,6 +7,8 @@ source_fragment set-prefix.sh source_fragment setup-env.sh +run_hook compile-nagios-plugins-prehook.sh + if [ -f ../nagios-plugins-*/Makefile ] then echo ../nagios-plugins-*/Makefile exists. Not running configure. >&2 @@ -22,3 +24,5 @@ else echo Running make in ../nagios-plugins-* >&2 (cd ../nagios-plugins-* && make) fi + +run_hook compile-nagios-plugins-posthook.sh diff --git a/bin/compile-nrpe b/bin/compile-nrpe index ee49a3d..7e975aa 100755 --- a/bin/compile-nrpe +++ b/bin/compile-nrpe @@ -7,6 +7,8 @@ source_fragment set-prefix.sh source_fragment setup-env.sh +run_hook compile-nrpe-prehook.sh + if [ -f ../nrpe-*/Makefile ] then echo ../nrpe-*/Makefile exists. Not running configure. >&2 @@ -23,3 +25,5 @@ else echo Running make in ../nrpe-* >&2 (cd ../nrpe-* && make) fi + +run_hook compile-nrpe-posthook.sh diff --git a/bin/install-local b/bin/install-local index 1b1728f..965df9c 100755 --- a/bin/install-local +++ b/bin/install-local @@ -7,3 +7,4 @@ source_fragment set-prefix.sh source_fragment setup-env.sh make install PREFIX=$prefix || exit 1 +mkdir -p $prefix/etc diff --git a/bin/install-nrpe b/bin/install-nrpe index da580ab..c4ef2a3 100755 --- a/bin/install-nrpe +++ b/bin/install-nrpe @@ -7,6 +7,8 @@ source_fragment set-prefix.sh source_fragment setup-env.sh +run_hook install-nrpe-prehook.sh + if [ -f ../nrpe-*/src/nrpe ] then : else @@ -14,8 +16,6 @@ else exit 1 fi -run_hook install-nrpe-prehook.sh - mkdir -p $prefix/bin $prefix/etc cp ../nrpe-*/src/nrpe $prefix/bin diff --git a/bin/utils/functions.sh b/bin/utils/functions.sh index eb8ee6e..88b0ada 100644 --- a/bin/utils/functions.sh +++ b/bin/utils/functions.sh @@ -75,3 +75,21 @@ tempfile () { echo /tmp/$1.$$ && exit 0 exit 1 } + +gentoo_add_use () { + package="$1" + use="$2" + fn=/etc/portage/package.use + + if grep "^$package[ ]" $fn >/dev/null + then + if grep "^$package[ ].*$use\($\|[ ]\)" $fn >/dev/null + then : + else + echo Please add $use use flags to $package in $use. >&2 + exit 1 + fi + else + echo $package $use >> $fn + fi +} diff --git a/rules/gentoo/config-nrpe.sh b/rules/gentoo/config-nrpe.sh new file mode 100644 index 0000000..117fe15 --- /dev/null +++ b/rules/gentoo/config-nrpe.sh @@ -0,0 +1,4 @@ +rc-update -a nrpe default +rm /etc/nagios/nrpe.cfg +ln -s $prefix/etc/nrpe.cfg /etc/nagios/nrpe.cfg +/etc/init.d/nrpe restart diff --git a/rules/gentoo/nrpe-host-auto.sh b/rules/gentoo/nrpe-host-auto.sh new file mode 100644 index 0000000..584a779 --- /dev/null +++ b/rules/gentoo/nrpe-host-auto.sh @@ -0,0 +1,16 @@ +FILESYSTEMS=`tempfile nrpfs` +trap "rm -f $FILESYSTEMS" 0 + +> $prefix/etc/nrpe-host-auto.cfg +awk < /etc/fstab \ + '! ($1 ~ /\//) { next } + $3 == "swap" || $3 == "nfs" { next } + $4 ~ /noauto/ { next } + { print $1, $2 }' \ +| while read dev mp + do + mpdash=`echo $mp | sed -e 's%^/$%/root%' -e 's%/%-%g'` + echo "command[check-disk$mpdash]=/usr/nagios/libexec/check_disk $dev" \ + >> $prefix/etc/nrpe-host-auto.cfg + echo $mp + done > $FILESYSTEMS diff --git a/site-rules/lysator/config-nrpe-posthook.sh b/site-rules/lysator/config-nrpe-posthook.sh new file mode 100644 index 0000000..985e391 --- /dev/null +++ b/site-rules/lysator/config-nrpe-posthook.sh @@ -0,0 +1,4 @@ +echo +echo BEGIN `hostname | sed 's/\..*//'` nagiosadmin +sed 's/^/fs /' $FILESYSTEMS | sort +echo END diff --git a/site-rules/lysator/gentoo/compile-nagios-plugins-prehook.sh b/site-rules/lysator/gentoo/compile-nagios-plugins-prehook.sh new file mode 100644 index 0000000..ca916d0 --- /dev/null +++ b/site-rules/lysator/gentoo/compile-nagios-plugins-prehook.sh @@ -0,0 +1 @@ +exit 0 diff --git a/site-rules/lysator/gentoo/compile-nrpe-prehook.sh b/site-rules/lysator/gentoo/compile-nrpe-prehook.sh new file mode 100644 index 0000000..ca916d0 --- /dev/null +++ b/site-rules/lysator/gentoo/compile-nrpe-prehook.sh @@ -0,0 +1 @@ +exit 0 diff --git a/site-rules/lysator/gentoo/install-nagios-plugins-prehook.sh b/site-rules/lysator/gentoo/install-nagios-plugins-prehook.sh new file mode 100644 index 0000000..ca916d0 --- /dev/null +++ b/site-rules/lysator/gentoo/install-nagios-plugins-prehook.sh @@ -0,0 +1 @@ +exit 0 diff --git a/site-rules/lysator/gentoo/install-nrpe-prehook.sh b/site-rules/lysator/gentoo/install-nrpe-prehook.sh new file mode 100644 index 0000000..3016900 --- /dev/null +++ b/site-rules/lysator/gentoo/install-nrpe-prehook.sh @@ -0,0 +1,4 @@ +gentoo_add_use net-analyzer/nagios-nrpe -ssl + +emerge -uvakb nagios-nrpe || exit 1 +exit 0 diff --git a/site-rules/lysator/gentoo/os b/site-rules/lysator/gentoo/os new file mode 100644 index 0000000..23574f3 --- /dev/null +++ b/site-rules/lysator/gentoo/os @@ -0,0 +1 @@ +gentoo diff --git a/site-rules/lysator/gentoo/setup-env.sh b/site-rules/lysator/gentoo/setup-env.sh new file mode 100644 index 0000000..fd9b6b3 --- /dev/null +++ b/site-rules/lysator/gentoo/setup-env.sh @@ -0,0 +1 @@ +PATH=/sbin:/bin:/usr/sbin:/usr/bin diff --git a/site-rules/lysator/solaris10/config-nrpe-posthook.sh b/site-rules/lysator/solaris10/config-nrpe-posthook.sh index 45559be..05357da 100755 --- a/site-rules/lysator/solaris10/config-nrpe-posthook.sh +++ b/site-rules/lysator/solaris10/config-nrpe-posthook.sh @@ -1,5 +1,3 @@ -#!/bin/sh - echo echo BEGIN `hostname | sed 's/\..*//'` nagiosadmin sed 's/^/fs /' $FILESYSTEMS | sort -- GitLab