forked from munin-monitoring/munin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjenkins_builds
executable file
·76 lines (56 loc) · 1.81 KB
/
jenkins_builds
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/sh
: << =cut
=head1 NAME
jenkins_builds - Plugin to measure number of jenkins builds
=head1 AUTHOR
Contributed by Holger Levsen. I wrote and used them first for
https://jenkins.debian.net and very much like to hear about
other users of these plugins! Please do tell me!
Use at your own risk and monitor the ressource usage of the plugins
too - it will vary depending on your setup!
Patches, postcards and pancakes are all very much welcome!
=head1 LICENSE
Copyright 2012-2014 Holger Levsen <[email protected]>
Released under the GPLv2.
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=cut
. $MUNIN_LIBDIR/plugins/plugin.sh
if [ "$1" = "autoconf" ]; then
if [ -d /var/lib/jenkins/jobs ]; then
echo yes
else
echo "no (/var/lib/jenkins/jobs not found)"
fi
exit 0
fi
STATEFILE=$MUNIN_PLUGSTATE/$(basename $0)
# delete statefile if it's older than ${jenkins_update_interval} set in /etc/munin/plugin-conf.d/jenkins
if test $(find $STATEFILE -mmin +${jenkins_update_interval}) ; then
rm -f $STATEFILE
fi
if [ -f $STATEFILE ] && [ "$1" = "" ] ; then
cat $STATEFILE
exit 0
fi
JOB_PREFIXES=$(ls -1 /var/lib/jenkins/jobs/|cut -d "_" -f1|sort -f -u)
if [ "$1" = "config" ]; then
echo 'graph_title Jenkins Builds in the last 24h'
echo 'graph_args --base 1000 -l 0 '
echo 'graph_scale no'
echo 'graph_total total'
echo 'graph_vlabel Jenkins Builds per category in the last 24h'
echo 'graph_category jenkins'
draw=AREA
for PREFIX in $JOB_PREFIXES ; do
echo "jenkins_builds_$PREFIX.label $PREFIX builds"
echo "jenkins_builds_$PREFIX.draw $draw"
if [ "$draw" = "AREA" ] ; then draw=STACK ; fi
done
exit 0
fi
for PREFIX in $JOB_PREFIXES ; do
NR=$(find /var/lib/jenkins/jobs/$PREFIX*/builds/ -type d -mtime -1 -name "*_*"| wc -l)
echo "jenkins_builds_$PREFIX.value $NR" | tee -a $STATEFILE
done