File: //lib/python2.7/site-packages/lap/mysql_check_installation.py
import MySQLdb
def __run__(params):
conn = None
try:
f = params.get("defaults-file", "/etc/check_mk/mysql.cfg")
datadir = params.get('datadir')
warning = params.get('warning')
critical = params.get('critical')
ignore = params.get('ignore')
#turn ignore in a list
ignore = ignore.split(' ')
conn = MySQLdb.connect(read_default_file=f)
cursor = conn.cursor()
query = """select count(1)
from information_schema.SCHEMATA
where SCHEMA_NAME not in """
query += '(' + ', '.join(['%s'] * len(ignore)) + ')'
cursor.execute(query, ignore)
databases = cursor.fetchone()[0]
perfdata = "databases={0}".format(databases)
if databases >= critical:
return [2, 'CRITICAL: {0} bases'.format(databases), perfdata]
if databases >= warning:
return [1, 'WARNING: {0} bases'.format(databases), perfdata]
else:
return [0, 'OK: {0} bases'.format(databases), perfdata]
except Exception, e:
return [2, 'CRITICAL: {0}'.format(str(e))]
finally:
try:
if conn:
conn.close()
except:
# finally clause, don't bother about errors here
pass