root / plugins / haproxy / haproxy_queue_backend @ a717a913
Historique | Voir | Annoter | Télécharger (2,46 ko)
| 1 | 706e7e91 | ricardo | #!/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 | a717a913 | rfrail3 | GPLv2 |
| 25 | 706e7e91 | ricardo | |
| 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 |
