-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmysql_bytes
executable file
·73 lines (68 loc) · 1.8 KB
/
mysql_bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/bash
# -*- sh -*-
# =head1 NAME
#
# mysql_bytes - Plugin to monitor the number of bytes sent from and
# received by mysql.
#
# =head1 CONFIGURATION
#
# The following environment variables are used:
#
# mysqlopts - Options to pass to mysql
# mysqladmin - Path to mysqladmin (default: "mysqladmin")
#
# If mysqladmin is not set, this plugin uses the system PATH to find
# mysqladmin
#
# =head1 AUTHOR
#
# Unknown author
#
# =head1 LICENSE
#
# GPLv2
#
# =head1 MAGIC MARKERS
#
# #%# family=manual
# #%# capabilities=autoconf
MYSQLOPTS="${mysqlopts:-}"
MYSQLADMIN=${mysqladmin:-mysqladmin}
if [ "$1" = "autoconf" ]; then
if "$MYSQLADMIN" --version 2>/dev/null >/dev/null; then
# shellcheck disable=SC2086
if "$MYSQLADMIN" $MYSQLOPTS extended-status 2>/dev/null >/dev/null; then
echo yes
else
echo "no (could not connect to mysql)"
fi
else
echo "no (mysqladmin not found)"
fi
exit 0
fi
if [ "$1" = "config" ]; then
echo 'graph_title MySQL throughput'
echo 'graph_args --base 1024'
# shellcheck disable=SC2016
echo 'graph_vlabel bytes received (-) / sent (+) per ${graph_period}'
echo 'graph_info Note that this is a old plugin which is no longer installed by default. It is retained for compatability with old installations.'
echo 'graph_category mysql'
echo 'recv.label transfer rate'
echo 'recv.type DERIVE'
echo 'recv.min 0'
echo 'recv.draw LINE2'
echo 'recv.max 80000000'
echo 'recv.graph no'
echo 'sent.label transfer rate'
echo 'sent.type DERIVE'
echo 'sent.min 0'
echo 'sent.max 80000000'
echo 'sent.draw LINE2'
echo 'sent.negative recv'
exit 0
fi
# shellcheck disable=SC2086
("$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}'