File: //usr/lib/python2.7/site-packages/lap/check_mysql_users.py
import MySQLdb as mysql
import socket
def __run__(params):
try:
OK = []
FAIL = []
hostname = (socket.gethostname())
conf_file = params.get("conf_file") or "/etc/locaweb/mysql_users.conf"
all_users = open(conf_file, 'r').readlines()
for username in all_users:
user = username.split(":")[0]
passwd = username.split(":")[1].strip()
host = params.get('host') or hostname
port = params.get('port') or 3306
database = params.get('database')
try:
db = mysql.connect(host=host,port=port,user=user,passwd=passwd,db=database)
c = db.cursor()
c.execute("SELECT CURRENT_USER()")
results = c.fetchone()[0]
result = results.split("@")[0]
if result == user:
OK.append(user)
db.close()
except mysql.Error,e:
FAIL.append(user)
if len(FAIL) > 0:
return [ 2,'CRITICAL - Cannot access MySQL with user: %s' % FAIL ]
else:
return [0, "OK All users are successful created: %s" % OK]
except IOError as e:
return [2, "Cannot open config file %s" % e]