blob: 29c110492f97dc68f31dfc8b35ccdd821c59277c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/bin/sh
#
# Plugin to monitor resource count as managed by puppet
# Written by David Schmitts
# Adapted by Marcel Haerry, Puzzle ITC <haerry(at)puzzle.ch
#
# Parameters:
#
# config (required)
#
# Config variables:
#
# mysqlopts: options for mysql
MYSQL_OPTS=${mysqlopts:-}
MYSQL_DB=${puppetdb:-puppet}
function select_resources() {
echo "select count(*) as count, hosts.name from resources join hosts on (host_id = hosts.id) group by hosts.name order by count(*) DESC" | mysql $MYSQL_OPTS -N $MYSQL_DB
}
if [ "$1" = "config" ]; then
echo 'graph_title Puppet Resources'
echo 'graph_args -l 0 --base 1000'
echo 'graph_vlabel configured resources'
echo 'graph_category other'
select_resources | while read count hostname; do
graphname="$(echo "$hostname" | tr '.-' _)"
echo "$graphname.label $hostname"
echo "$graphname.type GAUGE"
done
exit 0
fi
select_resources | while read count hostname; do
graphname="$(echo "$hostname" | tr '.-' _)"
echo "$graphname.value $count"
done
|