About :-
Mysql Check is a very good plugin for nagios . We can use this to monitor mysql health status like mysql connection time , threads connected etc.
Installation :-
wget http://labs.consol.de/wp-content/uploads/2010/12/check_mysql_health-2.1.5.tar.gz
tar -zxf check_mysql_health-2.1.5.tar.gz
cd check_mysql_health-2.1.5
./configure
make & make install
In Mysql Server
mysql> GRANT usage ON *.* TO ‘nagios’@’nagios-server-ip’ IDENTIFIED BY ‘pass’;
Check the connection from nagios server
$ ./check_mysql_health –hostname mysql-server –username nagios –password pass –mode connection-time
Can’t locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at ./check_mysql_health line 940.
BEGIN failed–compilation aborted at ./check_mysql_health line 940.
I got the above error while trying to check this plugin locally and I have fixed this using the following
$ perl -MCPAN -e shell
Can’t locate CPAN.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .).
BEGIN failed–compilation aborted.
( cpan is not present in the server , so I have installed cpan first and installed all the other modules using cpan )
$ yum install perl-CPAN
$ perl -MCPAN -e shell
$ cpan[1]> install Time::HiRes
$ ./check_mysql_health –hostname mysql-server –username nagios –password pass –mode connection-time
OK – 0.46 seconds to connect as nagios | connection_time=0.4560s;1;5
( This time its worked 🙂 )
$ ./check_mysql_health –hostname mysql-server –username nagios –password pass –mode threads-connected
CRITICAL – 34 client connection threads | threads_connected=34;10;20
Nagios configuration
# service ‘MySQL connection-time’
define service{
use generic-service
host_name MYSQL-Server
service_description MySQL connection-time
check_command check_mysql_health!nagios!pass!connection-time!2!4
contact_groups admins
}
# service ‘MySQL threads-connected’
define service{
use generic-service
host_name MYSQL-Server
service_description MySQL threads-connected
check_command check_mysql_health!nagios!pass!threads-connected!80!100
contact_groups admins
}
( after editing the corresponding hosts cfg file verify the nagios configuration and restart the nagios serve r)
$ nagios -v /etc/nagios/nagios.cfg
$ /etc/init.d/nagios restart
Hey you did that ..Its a fantastic nagios plugin to monitor mysql health for high traffic DB server ‘s 😉
Recent Comments