From 70e9b0703c41ebbd7f9902488f41c3d90e77981a Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 15:41:02 +0200 Subject: added new xen plugin --- files/plugins/xen_traffic_all | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 files/plugins/xen_traffic_all (limited to 'files') diff --git a/files/plugins/xen_traffic_all b/files/plugins/xen_traffic_all new file mode 100644 index 0000000..1216a7d --- /dev/null +++ b/files/plugins/xen_traffic_all @@ -0,0 +1,63 @@ +#!/bin/sh +# Author: mario manno +# Description: measure traffic for all xen hosts +# +#%# family=auto +#%# capabilities=autoconf + +if [ "$1" = "autoconf" ]; then + if which xm > /dev/null ; then + echo yes + else + echo "no (xm not found)" + exit 1 + fi + if [ -r /proc/net/dev ]; then + echo yes + else + echo "no (/proc/net/dev not found)" + exit 1 + fi + exit 0 +fi + +if [ "$1" = "config" ]; then + echo 'graph_title Xen Traffic' + echo 'graph_vlabel bits received (-) / sent (+) per ${graph_period}' + echo 'graph_args --base 1024 -l 0' + echo 'graph_category xen' + DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") + for dom in $DOMAINS; do + name=$( echo $dom | sed -e's/-/_/g' ) + #echo $name"UP.label $name" + #echo $name"DOWN.label $name" + + echo $name'Down.label received' + echo $name'Down.type COUNTER' + echo $name'Down.graph no' + echo "${name}Down.cdef ${name}Down,8,*" + echo "${name}Up.label ${name}" + echo $name'Up.type COUNTER' + echo "${name}Up.negative ${name}Down" + echo "${name}Up.cdef ${name}Up,8,*" + done + exit 0 +fi + +DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") +for dom in $DOMAINS; do + dev=$( xm network-list $dom |\ + egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@') + name=$( echo $dom | sed -e's/-/_/g' ) + #awk -v name="$name" -v interface="$dev" -F'[: \t]+' \ + #'{ sub(/^ */,""); if ($1 == interface) \ + #print name"DOWN.value "$2"\n"name"UP.value "$10; }' /proc/net/dev + awk -v name="$name" -v interface="$dev" \ + 'BEGIN { gsub(/\./, "\\.", interface) } \ + $1 ~ "^" interface ":" { + split($0, a, /: */); $0 = a[2]; \ + print name"Down.value " $1 "\n"name"Up.value " $9 \ + }' \ + /proc/net/dev +done + -- cgit v1.2.3