Projet

Général

Profil

Révision 706e7e91

ID706e7e9104cf9465a10281e7488a5444283ecfd6
Parent 68b65c84
Enfant 0541fdd1

Ajouté par ricardo il y a environ 13 ans

Haproxy monitoring

Voir les différences:

plugins/haproxy/haproxy_abort_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_aborts_backend -Haproxy Aborts Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='BACKEND'
65
LIST="$backend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Aborts ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Aborts'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Aborts ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "cli_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Aborted by client $i"
85
        	echo "cli_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
86
	        echo "cli_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "cli_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Data transfers aborted by the client $i"
88

  
89
	        echo "srv_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Aborted by server $i"
90
        	echo "srv_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
	        echo "srv_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	echo "srv_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Data transfers aborted by the server $i"
93

  
94
	done
95

  
96
	exit 0
97
fi
98
	for i in ${LIST}; do
99
		CLI=`parse_url ${i} ${SVNAME} cli_abrt`
100
		SRV=`parse_url ${i} ${SVNAME} srv_abrt`
101

  
102
	        echo "cli_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $CLI"
103
	        echo "srv_abrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $SRV"
104
	done
105
	
106

  
plugins/haproxy/haproxy_active_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_active_backend -Haproxy servers active backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
	# Modify ifs variable
37
	OIFS=$IFS;
38
	IFS=",";
39
	PXNAME="$1"
40
	SVNAME="$2"
41
	VALUE="$3"
42
	LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
	LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44

  
45
	ARRAY1=($LINE1);
46

  
47
	# Find values
48
	for ((i=0; i<${#ARRAY1[@]}; ++i));
49
	do
50
        	# Get data
51
	        if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
52
	                o=$i;
53
        	        o=`expr $o + 1`
54
                	echo ${LINE2} | cut -d" " -f $o
55
	        fi
56
	done
57

  
58
	# Reset ifs
59
	IFS=$OIFS;
60
}
61

  
62

  
63
SVNAME='BACKEND'
64
LIST=$backend
65

  
66
if [ "$1" = "autoconf" ]; then
67
	echo yes 
68
	exit 0
69
fi
70

  
71
if [ "$1" = "config" ]; then
72

  
73
	echo "graph_title Active Servers ${SVNAME}"
74
	echo 'graph_args --base 1000 -l 0 '
75
	echo 'graph_vlabel Servers'
76
	echo 'graph_scale no'
77
	echo 'graph_category haproxy'
78
	echo "graph_info Active Servers ${SVNAME}"
79

  
80
	for i in ${LIST}; do
81
	        echo "act`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Active Servers $i"
82
        	echo "act`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
83
	        echo "act`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
84
        	echo "act`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Active Servers $i"
85
	done
86

  
87
	exit 0
88
fi
89
	for i in ${LIST}; do
90
		ACT=`parse_url ${i} ${SVNAME} act`
91
	        echo "act`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $ACT"
92
	done
93
	
plugins/haproxy/haproxy_bytes_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_bytes_backend -Haproxy Bytes Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63
SVNAME='BACKEND'
64
LIST=$backend
65

  
66

  
67
if [ "$1" = "autoconf" ]; then
68
	echo yes 
69
	exit 0
70
fi
71

  
72
if [ "$1" = "config" ]; then
73

  
74
	echo "graph_title Bytes ${SVNAME}"
75
	echo 'graph_args --base 1000'
76
	echo 'graph_vlabel Bytes in (-) / out (+)'
77
	echo 'graph_category haproxy'
78
	echo "graph_info Bytes ${SVNAME}"
79

  
80

  
81
for i in ${LIST}; do
82

  
83
	        echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Bytes $i"
84
        	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
85
        	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.graph no"
86
	       	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.cdef down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`,8,*"
87
	       	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
88

  
89
	        echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Bytes $i"
90
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.negative down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`"
92
	       	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.cdef up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`,8,*"
93
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Bytes in $i"
94
	       	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
95
done
96
	exit 0
97
fi
98
	for i in ${LIST}; do
99
		BIN=`parse_url ${i} ${SVNAME} bin`
100
		BOUT=`parse_url ${i} ${SVNAME} bout`
101
	        echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $BOUT"
102
	        echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $BIN"
103
	done	
104

  
plugins/haproxy/haproxy_bytes_frontend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_bytes_frontend -Haproxy Bytes Frontend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63
SVNAME='FRONTEND'
64
LIST=$frontend
65

  
66

  
67
if [ "$1" = "autoconf" ]; then
68
	echo yes 
69
	exit 0
70
fi
71

  
72
if [ "$1" = "config" ]; then
73

  
74
	echo "graph_title Bytes ${SVNAME}"
75
	echo 'graph_args --base 1000'
76
	echo 'graph_vlabel Bytes in (-) / out (+)'
77
	echo 'graph_category haproxy'
78
	echo "graph_info Bytes ${SVNAME}"
79

  
80

  
81
for i in ${LIST}; do
82

  
83
	        echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Bytes $i"
84
        	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
85
        	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.graph no"
86
	       	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.cdef down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`,8,*"
87
	       	echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
88

  
89
	        echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Bytes $i"
90
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.negative down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`"
92
	       	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.cdef up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`,8,*"
93
        	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Bytes in $i"
94
	       	echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
95
done
96
	exit 0
97
fi
98
	for i in ${LIST}; do
99
		BIN=`parse_url ${i} ${SVNAME} bin`
100
		BOUT=`parse_url ${i} ${SVNAME} bout`
101
	        echo "down`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $BOUT"
102
	        echo "up`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $BIN"
103
	done	
104

  
plugins/haproxy/haproxy_denied_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_denied_backend -Haproxy Denied Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='BACKEND'
65
LIST="$backend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Denied Requests / Responses ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Requests and Responses'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Denied Requests / Responses ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Denied Requests $i"
85
        	echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
86
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Denied Requests $i"
88

  
89
	        echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Denied Responses $i"
90
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
	        echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Denied Responses $i"
93
	done
94

  
95
	exit 0
96
fi
97
	for i in ${LIST}; do
98
		DREQ=`parse_url ${i} ${SVNAME} dreq`
99
		DRESP=`parse_url ${i} ${SVNAME} dresp`
100

  
101
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $DREQ"
102
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $DRESP"
103
	done
104
	
105

  
plugins/haproxy/haproxy_denied_frontend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_denied_frontend -Haproxy Denied Frontend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='FRONTEND'
65
LIST="$frontend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Denied Requests / Responses ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Requests and Responses'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Denied Requests / Responses ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Denied Requests $i"
85
        	echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
86
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Denied Requests $i"
88

  
89
	        echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Denied Responses $i"
90
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
	        echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Denied Responses $i"
93
	done
94

  
95
	exit 0
96
fi
97
	for i in ${LIST}; do
98
		DREQ=`parse_url ${i} ${SVNAME} dreq`
99
		DRESP=`parse_url ${i} ${SVNAME} dresp`
100

  
101
	        echo "dreq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $DREQ"
102
        	echo "dresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $DRESP"
103
	done
104
	
105

  
plugins/haproxy/haproxy_errors_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_errors_backend -Haproxy Errors Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='BACKEND'
65
LIST="$backend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Errors ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Errors'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Errors ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        #echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Request Errors $i"
85
        	#echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
86
	        #echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	#echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Request Errors $i"
88

  
89
	        echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Connection Errors $i"
90
        	echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
	        echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Connection Errors $i"
93

  
94
	        echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Response Errors $i"
95
        	echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
96
	        echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
97
        	echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Response Errors $i"
98

  
99
	done
100

  
101
	exit 0
102
fi
103
	for i in ${LIST}; do
104
		#EREQ=`parse_url ${i} ${SVNAME} ereq`
105
		ECON=`parse_url ${i} ${SVNAME} econ`
106
		ERESP=`parse_url ${i} ${SVNAME} eresp`
107

  
108
	        #echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $EREQ"
109
	        echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $ECON"
110
	        echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $ERESP"
111
	done
112
	
113

  
plugins/haproxy/haproxy_errors_frontend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_errors_frontend -Haproxy Errors Frontend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='FRONTEND'
65
LIST="$frontend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Errors ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Errors'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Errors ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Request Errors $i"
85
        	echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
86
	        echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Request Errors $i"
88

  
89
	        #echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Connection Errors $i"
90
        	#echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
91
	        #echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	#echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Connection Errors $i"
93

  
94
	        #echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Response Errors $i"
95
        	#echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
96
	        #echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
97
        	#echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Response Errors $i"
98

  
99
	done
100

  
101
	exit 0
102
fi
103
	for i in ${LIST}; do
104
		EREQ=`parse_url ${i} ${SVNAME} ereq`
105
		#ECON=`parse_url ${i} ${SVNAME} econ`
106
		#ERESP=`parse_url ${i} ${SVNAME} eresp`
107

  
108
	        echo "ereq`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $EREQ"
109
	        #echo "econ`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $ECON"
110
	        #echo "eresp`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $ERESP"
111
	done
112
	
113

  
plugins/haproxy/haproxy_queue_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_queue_backend -Haproxy Queued Requests Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='BACKEND'
65
LIST=$backend
66

  
67

  
68

  
69
if [ "$1" = "autoconf" ]; then
70
	echo yes 
71
	exit 0
72
fi
73

  
74
if [ "$1" = "config" ]; then
75

  
76
	echo "graph_title Queued Request ${SVNAME}"
77
	echo 'graph_args --base 1000 -l 0 '
78
	echo 'graph_vlabel Queued'
79
	echo 'graph_scale no'
80
	echo 'graph_category haproxy'
81
	echo "graph_info Queue Requests ${SVNAME}"
82

  
83

  
84
	for i in ${LIST}; do
85
	        echo "qcur`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Current queued request $i"
86
        	echo "qcur`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
87
	        echo "qcur`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
88
        	echo "qcur`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Current queued request $i"
89

  
90
	        #echo "qmax`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Max $i"
91
        	#echo "qmax`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
92
	        #echo "qmax`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
93
        	#echo "qmax`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Max queued request $i"
94
	done
95

  
96
	exit 0
97
fi
98
	for i in ${LIST}; do
99
		QCUR=`parse_url ${i} ${SVNAME} qcur`
100
		#QMAX=`parse_url ${i} ${SVNAME} qmax`
101

  
102
	        echo "qcur`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $QCUR"
103
        	#echo "qmax`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $QMAX"
104
	done
105
	
106

  
plugins/haproxy/haproxy_rate_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_rate_backend -Haproxy Sessions Per Second Backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='BACKEND'
65
LIST=$backend
66

  
67
if [ "$1" = "autoconf" ]; then
68
	echo yes 
69
	exit 0
70
fi
71

  
72
if [ "$1" = "config" ]; then
73

  
74
	echo "graph_title Sessions per second ${SVNAME}"
75
	echo 'graph_args --base 1000 -l 0 '
76
	echo 'graph_vlabel Sessions'
77
	echo 'graph_scale no'
78
	echo 'graph_category haproxy'
79
	echo "graph_info Sessions per second ${SVNAME}"
80

  
81

  
82
	for i in ${LIST}; do
83
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Rate $i"
84
        	echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
85
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
86
        	echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Number of sessions per second over last elapsed second $i"
87

  
88
	        echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Limit $i"
89
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
90
	        echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
91
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Limit on new sessions per second $i"
92

  
93
	        #echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Max $i"
94
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
95
	        #echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
96
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Max number of new sessions per second $i"
97

  
98
	done
99

  
100
	exit 0
101
fi
102
	for i in ${LIST}; do
103
	 	RATE=`parse_url ${i} ${SVNAME} rate`
104
		RATEL=`parse_url ${i} ${SVNAME} rate_lim`
105
		#RATEM=`parse_url ${i} ${SVNAME} rate_max`
106

  
107
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATE"
108
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATEL"
109
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATEM"
110
	done
111
	
112

  
plugins/haproxy/haproxy_rate_frontend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
harpoxy_rate_frontend -Haproxy Sessions Per Second Frontend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='FRONTEND'
65
LIST=$frontend
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Sessions per sencond ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Sessions'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Sessions per second ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Rate $i"
85
        	echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
86
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Number of sessions per second over last elapsed second $i"
88

  
89
	        echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Limit $i"
90
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
91
	        echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Limit on new sessions per second $i"
93

  
94
	        #echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Max $i"
95
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
96
	        #echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
97
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info Max number of new sessions per second $i"
98

  
99
	done
100

  
101
	exit 0
102
fi
103
	for i in ${LIST}; do
104
	 	RATE=`parse_url ${i} ${SVNAME} rate`
105
		RATEL=`parse_url ${i} ${SVNAME} rate_lim`
106
		#RATEM=`parse_url ${i} ${SVNAME} rate_max`
107

  
108
	        echo "rate`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATE"
109
        	echo "rate_lim`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATEL"
110
        	#echo "rate_max`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $RATEM"
111
	done
112
	
113

  
plugins/haproxy/haproxy_reqrate_frontend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_reqrate_frontend -Haproxy request rate frontend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
        # Modify ifs variable
37
        OIFS=$IFS;
38
        IFS=",";
39
        PXNAME="$1"
40
        SVNAME="$2"
41
        VALUE="$3"
42
        LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
        LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44
        
45
        
46
        ARRAY1=($LINE1);
47

  
48
        # Find values
49
        for ((i=0; i<${#ARRAY1[@]}; ++i));
50
        do
51
                # Get data
52
                if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
53
                        o=$i;
54
                        o=`expr $o + 1`
55
                        echo ${LINE2} | cut -d" " -f $o
56
                fi
57
        done
58

  
59
        # Reset ifs
60
        IFS=$OIFS;
61
}
62

  
63

  
64
SVNAME='FRONTEND'
65
LIST="$frontend"
66

  
67

  
68
if [ "$1" = "autoconf" ]; then
69
	echo yes 
70
	exit 0
71
fi
72

  
73
if [ "$1" = "config" ]; then
74

  
75
	echo "graph_title Request Rate ${SVNAME}"
76
	echo 'graph_args --base 1000 -l 0 '
77
	echo 'graph_vlabel Requests'
78
	echo 'graph_scale no'
79
	echo 'graph_category haproxy'
80
	echo "graph_info Request Rate ${SVNAME}"
81

  
82

  
83
	for i in ${LIST}; do
84
	        echo "reqrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Requests per second $i"
85
        	echo "reqrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
86
	        echo "reqrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
87
        	echo "reqrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP requests per second over last elapsed second $i"
88

  
89
	        #echo "reqrtm`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label Max $i"
90
        	#echo "reqrtm`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type GAUGE"
91
	        #echo "reqrtm`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
92
        	#echo "reqrtm`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info max number of HTTP requests per second observed $i"
93

  
94
	done
95

  
96
	exit 0
97
fi
98
	for i in ${LIST}; do
99
		REQRT=`parse_url ${i} ${SVNAME} req_rate`
100
		#REQRTM=`parse_url ${i} ${SVNAME} req_rate_max`
101

  
102
	        echo "reqrt`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $REQRT"
103
	        #echo "reqtm`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $REQRTM"
104
	done
105
	
106

  
plugins/haproxy/haproxy_responses_backend
1
#!/bin/bash
2
# -*- bash -*-
3

  
4
: << =cut
5

  
6
=head1 NAME
7

  
8
haproxy_responses_backend -Haproxy responses backend
9

  
10
=head1 CONFIGURATION
11

  
12
[haproxy*]
13
  user root
14
  env.backend backend_name_1 backend_name_2 backend_name_3
15
  env.frontend frontend_name_1 frontend_name_2 frontend_name_3
16
  env.url  http://user:passwd@IP:port/admin?stats;csv
17

  
18
=head1 AUTHOR
19

  
20
Ricardo Fraile <rfrail3@yahoo.es>
21

  
22
=head1 LICENSE
23

  
24
GNU
25

  
26
=head1 MAGICK MARKERS
27

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

  
31
=cut
32

  
33
. $MUNIN_LIBDIR/plugins/plugin.sh
34

  
35
function parse_url {
36
	# Modify ifs variable
37
	OIFS=$IFS;
38
	IFS=",";
39
	PXNAME="$1"
40
	SVNAME="$2"
41
	VALUE="$3"
42
	LINE1=`curl -s "$url" | head -1 | sed 's/# //'`
43
	LINE2=`curl -s "$url" | grep "$PXNAME,$SVNAME"`
44

  
45
	ARRAY1=($LINE1);
46

  
47
	# Find values
48
	for ((i=0; i<${#ARRAY1[@]}; ++i));
49
	do
50
        	# Get data
51
	        if [[ "${ARRAY1[$i]}" == "${VALUE}" ]]; then
52
	                o=$i;
53
        	        o=`expr $o + 1`
54
                	echo ${LINE2} | cut -d" " -f $o
55
	        fi
56
	done
57

  
58
	# Reset ifs
59
	IFS=$OIFS;
60
}
61

  
62

  
63
SVNAME='BACKEND'
64
LIST=$backend
65

  
66
if [ "$1" = "autoconf" ]; then
67
	echo yes 
68
	exit 0
69
fi
70

  
71
if [ "$1" = "config" ]; then
72

  
73
	echo "graph_title HTTP Responses ${SVNAME}"
74
	echo 'graph_args --base 1000 -l 0 '
75
	echo 'graph_vlabel Responses'
76
	echo 'graph_scale no'
77
	echo 'graph_category haproxy'
78
	echo "graph_info HTTP Responses ${SVNAME}"
79

  
80
	for i in ${LIST}; do
81
	        echo "hrsp_1xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP 1xx $i"
82
        	echo "hrsp_1xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
83
	        echo "hrsp_1xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
84
        	echo "hrsp_1xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with 1xx code $i"
85

  
86
	        echo "hrsp_2xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP 2xx $i"
87
        	echo "hrsp_2xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
88
	        echo "hrsp_2xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
89
        	echo "hrsp_2xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with 2xx code $i"
90

  
91
	        echo "hrsp_3xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP 3xx $i"
92
        	echo "hrsp_3xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
93
	        echo "hrsp_3xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
94
        	echo "hrsp_3xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with 3xx code $i"
95

  
96
	        echo "hrsp_4xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP 4xx $i"
97
        	echo "hrsp_4xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
98
	        echo "hrsp_4xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
99
        	echo "hrsp_4xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with 4xx code $i"
100

  
101
	        echo "hrsp_5xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP 5xx $i"
102
        	echo "hrsp_5xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
103
	        echo "hrsp_5xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
104
        	echo "hrsp_5xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with 5xx code $i"
105

  
106
	        echo "hrsp_other`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.label HTTP other $i"
107
        	echo "hrsp_other`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.type DERIVE"
108
	        echo "hrsp_other`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.min 0"
109
        	echo "hrsp_other`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.info HTTP responses with other codes $i"
110

  
111

  
112
	done
113

  
114
	exit 0
115
fi
116
	for i in ${LIST}; do
117
		H1xx=`parse_url ${i} ${SVNAME} hrsp_1xx`
118
		H2xx=`parse_url ${i} ${SVNAME} hrsp_2xx`
119
		H3xx=`parse_url ${i} ${SVNAME} hrsp_3xx`
120
		H4xx=`parse_url ${i} ${SVNAME} hrsp_4xx`
121
		H5xx=`parse_url ${i} ${SVNAME} hrsp_5xx`
122
		Hoxx=`parse_url ${i} ${SVNAME} hrsp_other`
123
	        echo "hrsp_1xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $H1xx"
124
	        echo "hrsp_2xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $H2xx"
125
	        echo "hrsp_3xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $H3xx"
126
	        echo "hrsp_4xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $H4xx"
127
	        echo "hrsp_5xx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $H5xx"
128
	        echo "hrsp_oxx`echo $i | md5sum | cut -d - -f1 | sed 's/ //g'`.value $Hoxx"
129
	done
130
	
plugins/haproxy/haproxy_responses_frontend
1
#!/bin/bash
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff