adding ganglia checks
This commit is contained in:
21
files/ganglia/puppetd_runtime.sh
Normal file
21
files/ganglia/puppetd_runtime.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
# $Id: puppetd_lastrun.sh 2810 2009-09-02 08:37:05Z uwaechte $
|
||||
|
||||
# plot puppetd last run
|
||||
|
||||
GMETRIC=$(which gmetric)
|
||||
[[ -x ${GMETRIC} ]] || exit 0
|
||||
|
||||
FILE="/var/lib/puppet/state/state.yaml"
|
||||
[[ -r $FILE ]] || exit 0
|
||||
## BSD and Linux have different stat commands
|
||||
if [ $(uname -s) == "Linux" ]; then
|
||||
STIME=$(stat --format="%Y" ${FILE})
|
||||
else
|
||||
STIME=$(stat -f "%m" -t "%s" ${FILE})
|
||||
fi
|
||||
|
||||
NOW=$(date +"%s")
|
||||
GMETRIC="${GMETRIC} --dmax=30000 --tmax=350 --units=lastrun --type=int32"
|
||||
VALUE=$[ ( ${NOW} - ${STIME} ) / 60 ]
|
||||
$GMETRIC --value=${VALUE} --name="Minutes since last Puppet run"
|
||||
@@ -7,7 +7,7 @@ class puppet (
|
||||
$run_hour = '*/1',
|
||||
$run_minute = '10',
|
||||
$run_if_ipmatch = '',
|
||||
$maxsleep = '640'
|
||||
$maxsleep = '640'
|
||||
) {
|
||||
$puppet_service = $::kernel ? {
|
||||
'Darwin' => 'org.macports.puppet',
|
||||
@@ -108,6 +108,17 @@ class puppet (
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if defined(Class['ganglia::monitor']) {
|
||||
Ganglia::Gmetric::Cron {
|
||||
source => 'puppet/ganglia',
|
||||
ensure => $ensure,
|
||||
}
|
||||
|
||||
ganglia::gmetric::cron { 'puppetd_lastrun.sh': runwhen => '5', }
|
||||
ganglia::gmetric::cron { 'puppetd_runtime.sh': runwhen => '15', }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
$puppet_user = $operatingsystem ? {
|
||||
|
||||
@@ -24,7 +24,7 @@ class puppet::puppetmaster ($ensure = 'present', $puppetqd = false) {
|
||||
}
|
||||
}
|
||||
|
||||
if defined(Class['ganglia']) {
|
||||
if defined(Class['ganglia::monitor']) {
|
||||
Ganglia::Gmetric::Cron {
|
||||
source => 'puppet/ganglia',
|
||||
ensure => $ensure,
|
||||
|
||||
Reference in New Issue
Block a user