Plugin Munin: open table by database
Suite au précédent plugin munin pour Mysql qui indique les ouvertures de table, il manquait une information pour aider à l’optimisation de mysql: Savoir quelle table provoque les ouvertures: voila le code qui donne ces informations:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071#!/bin/sh
#
# Plugin to monitor the number of opened tables on a mysql-server.
#
# Parameters:
#
# config
# autoconf
#
# Configuration variables
#
# mysqlopts - Options to pass to mysql
#
# $Log$
# Revision 1.0 2009/05/1 1:04 ffwill
#
#%# family=auto
#%# capabilities=autoconf
MYSQLOPTS=
"$mysqlopts"
MYSQL=${mysql:-mysql}
BDD=
"database list you want monitoring"
TMPFILE=
"/tmp/munin.mysql_open_tables_by_database"
if
[
"$1"
=
"autoconf"
];
then
$MYSQL --version 2>
/dev/null
>
/dev/null
if
[ $? -
eq
0 ]
then
$MYSQL $MYSQLOPTS -e
'show open tables'
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 Open table by database'
echo
'graph_vlabel Open Tables'
echo
'graph_category mysql'
echo
'graph_args --base 1000'
num=0;
for
i
in
$BDD;
do
echo
'opentables_'
$i
'.label '
$i
echo
'opentables_'
$i
'.min 0'
# echo 'opentables'$i'.type DERIVE'
if
[ $num =
"0"
]
then
echo
'opentables_'
$i
'.draw AREA'
else
echo
'opentables_'
$i
'.draw STACK'
fi
num=1;
done
exit
0
fi
$MYSQL $MYSQLOPTS -e
'show open tables'
2>
/dev/null
1>$TMPFILE
echo
$result
for
i
in
$BDD;
do
res=`
grep
$i $TMPFILE |
wc
-l`
echo
'opentables_'
$i
'.value '
$res
done
Laisser un commentaire