[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: custom mysql monitoring
From: |
Vincent Rivellino |
Subject: |
Re: custom mysql monitoring |
Date: |
Wed, 10 May 2006 01:34:35 -0400 (EDT) |
User-agent: |
SquirrelMail/1.5.1 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Yup, my predecessor configured monit to hit PHP scripts he wrote to
essentially do MySQL testing. However, I feel like this solution is a bit
of a hack. Why should I have to utilize the web server in order to
monitor my MySQL database? It's just adding complexity.
I'd much rather have monit either hit MySQL directly, or fork and execute
a script. In the meantime, I'll probably end up going with a cronjob that
dumps a report to a file that monit content-checks. That seems like the
best near term solution to me.
- -Vince
On Tue, May 9, 2006 23:15, Paul Monaghan wrote:
> Believe it or not, and I'm sure the monit developers aren't going to
> believe this, but YES IT DOES! Sort of. ;)
>
> You can fake this ability by using monit to connect to a web server
> which queries the database. For example on my website I have monit grab a
> nice big HTTP GET of a PHP script. In case PHP crashes (FastCGI under
> Zeus) I'll get a "Bad Gateway" error from Zeus, if monit ever gets this
> HTTP error it will restart Zeus which in turn restarts PHP. There is no
> reason you couldn't build your SQL test queries in PHP and have monit use
> the HTTP test, if you can't connect to the database return a "500 internal
> server error" or something. Just change your stop and start program to be
> you init script for mysql.
>
> check process mysql with pidfile /usr/local/zeus/web/internal/pid group
> web start program = "/etc/init.d/mysql start" stop program =
> "/etc/init.d/mysql stop"
> if failed URL http://www.somc.on.ca:80/mysqltest.php?query=1 then
restart if
> 5 restarts within 5 cycles then timeout
>
>
> Where "query=1" would be a predefined query in your mysqltest.php
> script. If you can CGI/PHP/Perl it and serve it from a web server monit
> can check it. :)
>
> The only draw back to this would be the reliability of the web server in
> front of the database testing this but there is no reason why the above
> wouldn't work since monit's HTTP checks are far more complete than the
> MySQL checks.
>
> Regards,
> Paul
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFEYXtqhUAfdmK/6+QRAhghAJ4oaX8WU9lREnHNjAEsDdITx6KljwCfRuit
CZxgGB12GBunRo2UDPCKIJM=
=kMHP
-----END PGP SIGNATURE-----