From 52ed2e0cccc51ae0656fae0f8802c80d6c2a527a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 28 Jul 2015 03:04:22 +0200 Subject: renamed agent plugin and added check for mysql_repl diff --git a/agent/mysql-repl b/agent/mysql-repl deleted file mode 100755 index 7a8b54f..0000000 --- a/agent/mysql-repl +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -# -# by Christain Pointner - 28/07/15 - -echo "<<>>" - -mysql --defaults-extra-file=/etc/mysql/debian.cnf -e "SHOW SLAVE STATUS\G" 2>/dev/null | sed 's/^ *//' | sed '/^*/d' - -exit 0 diff --git a/agent/mysql_repl b/agent/mysql_repl new file mode 100755 index 0000000..fc2bf67 --- /dev/null +++ b/agent/mysql_repl @@ -0,0 +1,9 @@ +#!/bin/bash +# +# by Christain Pointner - 28/07/15 + +echo "<<>>" + +mysql --defaults-extra-file=/etc/mysql/debian.cnf -e "SHOW SLAVE STATUS\G" 2>/dev/null | sed 's/^ *//' | sed '/^*/d' + +exit 0 diff --git a/checks/mysql_repl b/checks/mysql_repl new file mode 100644 index 0000000..372eeb5 --- /dev/null +++ b/checks/mysql_repl @@ -0,0 +1,45 @@ +OK = 0 +WARN = 1 +CRIT = 2 +UNKNOWN = 3 + +def extract_values(info): + values = {} + for line in info: + key = line[0].replace(':','') + value = " ".join(line[1:]) + values[key] = value + + return values + +def inventory_mysql_repl_status(info): + inventory = [] + try: + values = extract_values(info) + if 'Slave_IO_Running' in values: + inventory.append(('Slave_IO_Running', ['IO'])) + if 'Slave_SQL_Running' in values: + inventory.append(('Slave_SQL_Running', ['SQL'])) + return inventory + except Exception, e: + return [] + +def check_mysql_repl_status(item, params, info): + try: + values = extract_values(info) + if item in values: + if values[item] == 'Yes': + return (OK, 'Slave %s is running' % params[0]) + + return (CRIT, 'Slave %s is not(!!) running' % params[0]) + + except Exception, e: + return (UNKNOWN, "mysql_repl check failed: %", e.message) + + +check_info["mysql_repl"] = { + 'check_function': check_mysql_repl_status, + 'inventory_function': inventory_mysql_repl_status, + 'service_description': 'mySQL Replication CLient Status', +} + -- cgit v0.10.2