|
From: | Charles Pino |
Subject: | RE: Monit and SQL query |
Date: | Sun, 16 Sep 2012 19:45:15 +0800 |
hello all,
i have tried doing a python script named mysql.py ------------------------------------------------- #!/usr/bin/python import sys,MySQLdb conn = MySQLdb.connect(host="localhost",user="root", passwd="",db="mydb") cursor = conn.cursor() cursor.execute("select hour(timediff(now(),(select timestamp from orksegment order by timestamp desc limit 1)))") row = cursor.fetchone() if row < 200: sys.exit(0) else: sys.exit(1) -------------------------------------------------------- and have this /etc/monit.d/mysqlmonitor check program foo with path "/root/mysql.py" if status !=0 then alert Sep 16 19:39:42] error : 'foo' failed to execute '/root/mysql.py' -- Exec format error can anyone please help and tell me what i did wrong? Date: Tue, 11 Sep 2012 20:36:41 -0400 Subject: Re: Monit and SQL query From: address@hidden To: address@hidden I know this is not exactly what you asked for but a whole proof of concept as to how to use monit for a heartbeat check can be found in http://thinkinginsoftware.blogspot.com/2012/09/monitor-your-mysql-or-mssql-servers.html So considering you already have a query that returns a unique number (the elapsed time) you can parse such a number with something like the below (note I don't know your query but the idea is basically to concat with a well known string to be able to parse the number later on):
mysql -u user -ppassword -e "select CONCAT('delta', 1)" | grep -v CONCAT | sed 's/\(delta\)\([^ ]*\).*/\2/' The above will return "1". Now all you need to do is save that into a variable: myvar=`the above statement here` Then exit a different than 0 code (standard in shell scripts to denote there was an error:
if [ $myvar -gt 12 ] then; exit 1 fi I recommend to start your script with: #!/bin/bash -e The -e option will make the script fail with exit status != 0 if any command inside the script fails.
On Tue, Sep 11, 2012 at 8:11 AM, Charles Pino <address@hidden> wrote:
-- To unsubscribe: https://lists.nongnu.org/mailman/listinfo/monit-general |
[Prev in Thread] | Current Thread | [Next in Thread] |