今天做了一下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-servicehost_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!