今天做了一下nagios监控linux和windows主机下的mysql的实验,总结一下:

    先说一下实验环境:

     监控主机:IP 192.168.0.170 nagios-3.2.0.tar.gz  nagios-cn-3.2.0.tar.bz2   nagios-plugins-1.4.15.tar.gz  nrpe-2.8.1.tar.gz

     被监控机linux:IP 192.168.0.188  nrpe-2.8.1.tar.gz  nagios-plugins-1.4.15.tar.gz  mysql

    被监控机windows:IP 192.168.0.125  nsclient++ mysql 

   具体的大环境的搭建请查看之前的博客:

     看完了之后我们开始了

    (一):linux下的mysql

    1.参考之前的环境搭建看到里面没有mysql的搭建而且192.168.0.188的被监控的插件里没有check_mysql的监控插件,这是因为我们之前没有安装mysql,check_mysql是用来监控mysql的插件,所以我们要先安装mysql

   这里因为是实验,所以就用yum安装了:

  #yum -y install mysql mysql-server mysql-devel

  注:一定要安装mysql-devel,如果后边再重新编译nagios-plugins也不会出来check_mysql

 重新编译nagios-plugins:

这样check_mysql就出来了。

  2.建立可以监控mysql的用户和授权:

   #mysqladmin -u root password '123456'   第一次安装mysql后设置一下root的登入密码

  #msql -u root -p         登入mysql

  mysql> CREATE DATABASE nagiosdb;   建立nagios的能够检测的数据库名字nagiosdb

  mysql>GRANT select ON nagiosdb.* TO identified by '123';

注:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

        登入主机设置为localhost就可以了,因为nagios监控机监控被监控机的时候是用check_nrpe向被监控机的nrpe发送信息,然后监控主机自己查看自己的信息,所以没必要把localhost改为监控机的IP

  mysql>FLUSH PRIVILEGES ;   刷新一下授权

 mysql>use mysql;   授权表放在mysql的数据库里,所以要切换数据库

 mysql>select user,password,host from user;   查看一下用户

  3.测试一下check_mysql:

    #/usr/local/nagios/libexec/check_mysql -H localhost -u nagios -d nagiosdb -p 123

  注:-d 后面接的是数据库

  看到上面的结果就说明已经正常工作了

  4.配置一下nrpe.cfg:

   #vim /usr/local/nagios/etc/nrpe.cfg

  添加:

   command[check_mysql_status]=/usr/local/nagios/libexec/check_mysql -H localhost -u nagios-d nagiosdb -p '123'

 保存退出

  5.重新启动xinetd:

   #service xinetd restart

  6.配置监控主机的mylinux.cfg

    增加如下的内容:

    define service{

        use                    generic-service

         host_name           mylinux

        service_description check_mysql
        check_command     check_nrpe!check_mysql_status
             }

       注意这里的mysql的use里没有用pnp,因为nagios下的check_mysql不支持pnp,具体原因看

    保存退出

   7.重新启动naigos

    #service nagios restart

    8.登入web:

  注:如果上面有看不懂的配置文件可能是你没有看之前的配置,比如mylinux.cfg就是用到了之前的配置文件。

  (二).windows下的mysql

   服务器端和监控端的安装:

   在监控端192.168.0.125的机器上安装mysql并设置随机启动,启动后我们看到任务管理器里有mysqld.exe的进程,我们就是要监控它:

  登入服务器端编辑windows.cfg文件,添加如下:

  define service{

        use                     generic-service
        host_name               winserver
        service_description     mysql
        check_command           check_nt!PROCSTATE!-d SHOWALL -l mysqld.exe
        }

  重新启动nagios,登入web界面查看:

 这样就可以了。

 我们把mysqld.exe的进程结束掉,等一会会发现:

  而且收到了邮件:

OK!