summaryrefslogtreecommitdiff
path: root/files/munin/puppetresources.mysql
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