配置被监控端
1.安装check_mysql插件
nagios 监控 mysql 需要用到 check_mysql 和 check_mysql_query 两个插件.
安装完成 nagios 后,发现目录: /usr/local/nagios/libexec 下没有 check_mysql 这个插件.
解决办法:yum install mysql-devel
然后进入 nagios-plugins 的安装目录重新编译安装一下.我本机:

cd /root/nagios-plugins-1.5
./configure
make && make install
再到 /usr/local/nagios/libexec下查看,就有了check_mysql和check_mysql_query 两个插件.

wKiom1Lff52xRBodAACvbaasIIw568.jpg
2.配置mysql
mysql -u root -p
mysql> create database nagios; //建立nagios专用数据库
Query OK, 1 row affected (0.01 sec)
mysql> grant select on nagios.* to nagios@'%' identified by 'nagiostomysql';

//建立nagios专用用户权限只给select就OK,给多了不安全。nagiostomysql是密码
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; //刷新权限让数据库接受新的配置
Query OK, 0 rows affected (0.00 sec)
mysql>quit;
wKioL1LfgAWDmbYBAAITSPN3pLw016.jpg

测试:
/usr/local/nagios/libexec/check_mysql -H 10.0.0.21 -u nagios -d nagios -p nagiostomysql
wKioL1LfgMPy6Sl4AAGizZWbMU4884.jpg

3.配置nrpe.cfg
vim /usr/local/nagios/etc/nrpe.cfg
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 10.0.0.21 -u nagios -d nagios -p nagiostomysql
4.在防火墙上将3306端口例外
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

配置nagios服务端
1.安装check_mysql插件
yum install mysql-devel
2.进入 nagios-plugins 的安装目录重新编译安装一下.我本机:
cd /usr/src/software/nagios-plugins-1.5
./configure
make && make install

3.nagios安装好默认提供了监控mysql的插件,只需要配置即可,下面是配置过程:
编辑/usr/local/nagios/etc/commands.cfg,添加监控mysql的字段:
#check mysql
   define command{
           command_name   check_mysql
           command_line   $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios -d nagios -p nagiostomysql
           }

PS:-u指定用户,-d指定监控的数据库,-p指定密码

2、编辑vim /usr/local/nagios/etc/servers/trainsystem.cfg,添加监控mysql项目:
define service{
       use                             generic-service
       host_name                       train
       service_description             MySQL
       check_command                   check_nrpe!check_mysql
       register                        1
       }

4.检查配置文件是否正确并重启nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios
service nagios restart
4、测试与被监控端的通讯
/usr/local/nagios/libexec/check_mysql -H 10.0.0.21 -u nagios -d nagios -p nagiostomysql
wKiom1Lfgc-CYRAdAAGRDlGrD4I746.jpg

5.配置完毕!过一会儿,监控的mysql就出来了

wKiom1LfgguxEtrFAAM5z3TaXiU987.jpg