root / plugins / haproxy / haproxy-bytes @ 17f78427
Historique | Voir | Annoter | Télécharger (847 octets)
| 1 |
#!/bin/sh |
|---|---|
| 2 |
# Pasha "p01nt" Klets <pasha@klets.name> |
| 3 |
|
| 4 |
name=`basename $0` |
| 5 |
title=`echo ${name} | awk -F_ '{print $NF}'`
|
| 6 |
|
| 7 |
hp_stat() {
|
| 8 |
echo "show stat" | socat unix-connect:/tmp/haproxy stdio |
| 9 |
} |
| 10 |
|
| 11 |
servers_section() {
|
| 12 |
hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)'
|
| 13 |
} |
| 14 |
|
| 15 |
servers() {
|
| 16 |
servers_section | awk -F, '{print $2}'
|
| 17 |
} |
| 18 |
|
| 19 |
labels() {
|
| 20 |
servers_section | awk -F, '{print $2"_out.label "$2" out\n"$2"_in.label "$2" in\n"$2"_out.type COUNTER\n"$2"_in.type COUNTER\n"$2"_in.negative "$2"_out" }'
|
| 21 |
} |
| 22 |
|
| 23 |
values() {
|
| 24 |
servers_section | awk -F, '{print $2"_out.value "$10"\n"$2"_in.value "$9}'
|
| 25 |
} |
| 26 |
|
| 27 |
graph_title="${title} bytes"
|
| 28 |
graph_vlabel=${title}
|
| 29 |
|
| 30 |
case $1 in |
| 31 |
config) |
| 32 |
cat <<EOF |
| 33 |
graph_category loadbalancer |
| 34 |
graph_args --base 1000 |
| 35 |
graph_title ${graph_title}
|
| 36 |
graph_vlabel ${graph_vlabel}
|
| 37 |
|
| 38 |
`labels` |
| 39 |
EOF |
| 40 |
exit 0 |
| 41 |
;; |
| 42 |
esac |
| 43 |
|
| 44 |
values |
| 45 |
|
| 46 |
exit 0 |
