#!/bin/sh
#
# Plugin to monitor the number of bytes sent from and received by mysql.
#
# Parameters:
#
# 	config
# 	autoconf
#
# Configuration variables
#
#   mysqlopts    - Options to pass to mysql
#
# $Log: mysql_bytes.in,v $
# Revision 1.1  2004/01/02 18:50:00  jimmyo
# Renamed occurrances of lrrd -> munin
#
# Revision 1.1.1.1  2004/01/02 15:18:07  jimmyo
# Import of LRRD CVS tree after renaming to Munin
#
# Revision 1.7  2003/11/07 22:12:50  jimmyo
# Changed deprecated plugin options
#
# Revision 1.6  2003/11/07 17:43:16  jimmyo
# Cleanups and log entries
#
#
#
#%# family=auto
#%# capabilities=autoconf

MYSQLOPTS="$mysqlopts";
MYSQLADMIN=${mysqladmin:-mysqladmin}

if [ "$1" = "autoconf" ]; then
	$MYSQLADMIN --version 2>/dev/null >/dev/null
	if [ $? -eq 0 ]
	then
		$MYSQLADMIN $MYSQLOPTS extended-status 2>/dev/null >/dev/null
		if [ $? -eq 0 ]
		then
			echo yes
			exit 0
		else
			echo "no (could not connect to mysql)"
		fi
	else
		echo "no (mysqladmin not found)"
	fi
	exit 1
fi

if [ "$1" = "config" ]; then
	echo 'graph_title MySQL throughput'
	echo 'graph_args --base 1024'
	echo 'graph_vlabel bytes received (-) / sent (+)'
	echo 'recv.label received'
	echo 'recv.type COUNTER'
	echo 'recv.draw LINE2'
	echo 'recv.graph no'
	echo 'sent.label bps'
	echo 'sent.type COUNTER'
	echo 'sent.draw LINE2'
	echo 'sent.negative recv'
	exit 0
fi

($MYSQLADMIN $MYSQLOPTS extended-status 2>/dev/null || ( echo Bytes_sent a a U; echo Bytes_received a a U)) | awk '/Bytes_sent/ { print "sent.value " $4} /Bytes_received/ { print "recv.value " $4}'
