Module: check_mk
Branch: master
Commit: 9c40a09e275ac91d44b092a993c20970742cd306
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9c40a09e275ac9…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Mon Dec 12 10:50:48 2016 +0100
4100 FIX mk_mysql: Only perform queries if mysqladmin ping is successful#
Previously, a dead MySQL daemon would lead to the mk_mysql plugin causing
high server load. This has been fixed by performing the more detailed queries
only if the mysqladmin ping is successful.
Thanks to Evy Bongers for this patch.
Change-Id: I7eddaf98eef3b7999ad60c2895bc21c142b940bf
---
.werks/4100 | 14 ++++++++++++++
ChangeLog | 1 +
agents/plugins/mk_mysql | 21 ++++++++++++---------
3 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/.werks/4100 b/.werks/4100
new file mode 100644
index 0000000..9441c30
--- /dev/null
+++ b/.werks/4100
@@ -0,0 +1,14 @@
+Title: mk_mysql: Only perform queries if mysqladmin ping is successful#
+Level: 1
+Component: checks
+Class: fix
+Compatible: compat
+State: unknown
+Version: 1.4.0i3
+Date: 1481536079
+
+Previously, a dead MySQL daemon would lead to the mk_mysql plugin causing
+high server load. This has been fixed by performing the more detailed queries
+only if the mysqladmin ping is successful.
+
+Thanks to Evy Bongers for this patch.
diff --git a/ChangeLog b/ChangeLog
index 3152378..2e569a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -49,6 +49,7 @@
NOTE: Please refer to the migration notes!
* 4000 FIX: Windows Agent: fixed broken mrpe section...
* 4112 FIX: db2_logsizes: fixed invalid data handling
+ * 4100 FIX: mk_mysql: Only perform queries if mysqladmin ping is successful#...
Multisite:
* 4070 Added a painter for the service check period
diff --git a/agents/plugins/mk_mysql b/agents/plugins/mk_mysql
index d278d12..5b29ac1 100755
--- a/agents/plugins/mk_mysql
+++ b/agents/plugins/mk_mysql
@@ -42,23 +42,26 @@ function do_query() {
echo $INSTANCE_NAME
mysqladmin --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 ping 2>&1
+ if [ $? -eq 0 ]; then
- echo "<<<mysql>>>"
- echo $INSTANCE_NAME
- mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -sN \
+ echo "<<<mysql>>>"
+ echo $INSTANCE_NAME
+ mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -sN \
-e "show global status ; show global variables ;"
- echo "<<<mysql_capacity>>>"
- echo $INSTANCE_NAME
- mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -sN \
+ echo "<<<mysql_capacity>>>"
+ echo $INSTANCE_NAME
+ mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -sN \
-e "SELECT table_schema, sum(data_length + index_length), sum(data_free)
FROM information_schema.TABLES GROUP BY table_schema"
- echo "<<<mysql_slave>>>"
- echo $INSTANCE_NAME
- mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -s \
+ echo "<<<mysql_slave>>>"
+ echo $INSTANCE_NAME
+ mysql --defaults-extra-file=$MK_CONFDIR/mysql.cfg $1 -s \
-e "show slave status\G"
+ fi
+
}
if which mysqladmin >/dev/null