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_hour = '*/1',
|
||||||
$run_minute = '10',
|
$run_minute = '10',
|
||||||
$run_if_ipmatch = '',
|
$run_if_ipmatch = '',
|
||||||
$maxsleep = '640'
|
$maxsleep = '640'
|
||||||
) {
|
) {
|
||||||
$puppet_service = $::kernel ? {
|
$puppet_service = $::kernel ? {
|
||||||
'Darwin' => 'org.macports.puppet',
|
'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 ? {
|
$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 {
|
Ganglia::Gmetric::Cron {
|
||||||
source => 'puppet/ganglia',
|
source => 'puppet/ganglia',
|
||||||
ensure => $ensure,
|
ensure => $ensure,
|
||||||
|
|||||||
Reference in New Issue
Block a user