MysqlHealth MySQL Health is a standalone HTTP server that will respond with a 200 status code when MySQL is operating as expected. This script is intended to be used in conjuction with HAProxy "option httpchk" for a TCP load balancer distributing load across mysql servers. FAQs If you get the error "caught DBI::InterfaceError exception 'Could not load driver (uninitialized constant MysqlError)'" on OSX, try doing this: export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH" Installation Add this line to your application's Gemfile: gem 'mysql_health' And then execute: $ bundle Or install it yourself as: $ gem install mysql_health Usage Usage: mysql_health options --check:master Master health check --check:slave Slave health check --check:allow-overlapping Allow overlapping health checks (default: false) --check:interval INTERVAL Check health every INTERVAL (default: 10s) --check:delay DELAY Delay health checks for INTERVAL (default: 0s) --check:dsn DSN MySQL DSN (default: DBI:Mysql:mysql:localhost) --check:username USERNAME MySQL Username (default: root) --check:password PASSWORD MySQL Password (default: ) -l, --server:listen ADDR Server listen address (default: 0.0.0.0) -p, --server:port PORT Server listen port (default: 3305) -d, --server:daemonize Daemonize the process (default: false) -P, --server:pid-file PID-FILE Pid-File to save the process id (default: false) --log:level LEVEL Logging level (default: INFO) --log:file FILE Write logs to FILE (default: STDERR) --log:age DAYS Rotate logs after DAYS pass (default: 7) --log:size SIZE Rotate logs after the grow past SIZE bytes (default: 10485760) Examples Start the server on port 1234 and check the status of the slave every 30 seconds: mysql_health --check:slave --check:interval 30 --server:port 1234 Start the server on port 1234 and check the status of the master every 30 seconds: mysql_health --check:master --check:interval 30 --server:port 1234 Contributing Fork it Create your feature branch ( git checkout -b my-new-feature ) Commit your changes ( git commit -am 'Added some feature' ) Push to the branch ( git push origin my-new-feature ) Create new Pull Request