Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / vpn / openvpn_as_ttime @ 17f78427

Historique | Voir | Annoter | Télécharger (1,57 ko)

1
#!/bin/sh
2
# -*- sh -*-
3

    
4
: << =cut
5

    
6
=head1 NAME
7

    
8
openvpn_as_time -Indicate user logged time.
9

    
10
=head1 CONFIGURATION
11

    
12
Require jsonpipe software:
13
https://github.com/dvxhouse/jsonpipe
14

    
15
[openvpn_*]
16
user root
17

    
18
=head1 AUTHOR
19

    
20
Ricardo Fraile <rfrail3@yahoo.es>
21

    
22
=head1 LICENSE
23

    
24
GPLv2
25

    
26
=head1 MAGICK MARKERS
27

    
28
 #%# family=auto
29
 #%# capabilities=autoconf
30

    
31
=cut
32

    
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

    
35

    
36

    
37

    
38
if [ "$1" = "autoconf" ]; then
39
	echo yes
40
	exit 0
41
fi
42

    
43
SUM=0
44
COUNT=1
45
NOW=`date +%s`
46
# Script folder
47
D_BIN="/usr/local/openvpn_as/scripts"
48

    
49
# List with users time
50
LIST1=`$D_BIN/sacli VPNStatus | tr '/' - |  jsonpipe  | grep "/openvpn_[0-9]/client_list/[0-9]/6" | tr -d '"'  | awk '{print $2} '`
51
# List with users names
52
LIST2=`$D_BIN/sacli VPNStatus | tr '/' - |  jsonpipe  | grep "/openvpn_[0-9]/client_list/[0-9]/0" | tr -d '"'  | awk '{print $2} '`
53

    
54
if [ "$1" = "config" ]; then
55

    
56
	echo 'graph_title OpenVPN User logged time'
57
	echo 'graph_args --base 1000 -l 0 '
58
	echo 'graph_vlabel Time in minutes'
59
	echo 'graph_scale no'
60
	echo 'graph_category network'
61
	echo 'graph_info Indicate the user logged time.'
62

    
63
	# If none, print 0
64
	if [ -z $LIST1 ]; then
65
        	LIST1=$NOW
66
		LIST2="none"
67
	fi
68

    
69
	for i in $LIST1; do
70
		NAME=`echo $LIST2 | cut -d " " -f $COUNT`
71
        	echo "$NAME.label User $NAME"
72
	        echo "$NAME.type GAUGE"
73
        	echo "$NAME.min 0"
74
		COUNT=$((COUNT + 1))
75
	done
76

    
77
	exit 0
78
fi
79

    
80
# If none, print 0
81
if [ -z $LIST1 ]; then
82
        LIST1=$NOW
83
	LIST2="none"
84
fi
85

    
86
# Print values
87
for i in $LIST1; do
88
	NAME=`echo $LIST2 | cut -d " " -f $COUNT`
89
	echo "$NAME.value $(($((NOW - $i)) / 60))"
90
	COUNT=$((COUNT + 1))
91
done