hmzone 发表于 2019-1-15 11:15:29

nagios搭建(五):nagios监控mysql

  今天做了一下nagios监控linux和windows主机下的mysql的实验,总结一下:
  先说一下实验环境:
  监控主机:IP 192.168.0.170 nagios-3.2.0.tar.gznagios-cn-3.2.0.tar.bz2   nagios-plugins-1.4.15.tar.gznrpe-2.8.1.tar.gz
  被监控机linux:IP 192.168.0.188nrpe-2.8.1.tar.gznagios-plugins-1.4.15.tar.gzmysql
  被监控机windows:IP 192.168.0.125nsclient++ mysql
  具体的大环境的搭建请查看之前的博客:
  http://fantefei.blog.运维网.com/2229719/963143
  看完了之后我们开始了
  (一):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:http://fantefei.blog.运维网.com/2229719/965472
  这样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 nagios@localhost 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;   查看一下用户
http://blog.运维网.com/attachment/201208/134254874.png
  3.测试一下check_mysql:
  #/usr/local/nagios/libexec/check_mysql -H localhost -u nagios -d nagiosdb -p 123
http://blog.运维网.com/attachment/201208/134801991.png
  注:-d 后面接的是数据库
  看到上面的结果就说明已经正常工作了
  4.配置一下nrpe.cfg:
  #vim /usr/local/nagios/etc/nrpe.cfg
  添加:
  command=/usr/local/nagios/libexec/check_mysql -H localhost -u nagios-d nagiosdb -p '123'
http://blog.运维网.com/attachment/201208/135101441.png
  保存退出
  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,具体原因看http://fantefei.blog.运维网.com/2229719/965452
  保存退出
  7.重新启动naigos
  #service nagios restart
  8.登入web:
http://blog.运维网.com/attachment/201208/135813505.png
  注:如果上面有看不懂的配置文件可能是你没有看之前的配置,比如mylinux.cfg就是用到了之前的配置文件。
  (二).windows下的mysql
  服务器端和监控端的安装:http://fantefei.blog.运维网.com/2229719/948994
  在监控端192.168.0.125的机器上安装mysql并设置随机启动,启动后我们看到任务管理器里有mysqld.exe的进程,我们就是要监控它:
http://blog.运维网.com/attachment/201208/143214480.png
  登入服务器端编辑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界面查看:
http://blog.运维网.com/attachment/201208/143336625.png
  这样就可以了。
  我们把mysqld.exe的进程结束掉,等一会会发现:
http://blog.运维网.com/attachment/201208/144429862.png
  而且收到了邮件:
http://blog.运维网.com/attachment/201208/144642701.png
  OK!



页: [1]
查看完整版本: nagios搭建(五):nagios监控mysql