Nagios监控MySQL
首先在被监控机上安装Nagios插件和nrpe插件,具体步骤可以参看我之前的文档<nagios安装教程>,这里不再说明。下面我们介绍用check_mysql来监控MySQL服务器。
在服务器上安装完Nagios插件后你可能会在/usr/local/nagios/libexec下没有发现check_mysql这个文件,这是因为在安装Nagios插件前没有安装mysql_devel这个模块。可以按下面步骤安装它:
#zypper se mysql_devel
然后在列表中选择libmysql_devel并安装它
#zypper install libmysql_devel
然后进入Nagios插件包并重装它:
#./configure
#make && make install
这样之后就可以在/usr/local/nagios/libexec下面看到check_mysql这个文件了。
监控Mysql需要在nagios和Mysql服务器这两个部分做处理:Mysql服务器安装nrpe、创建Mysql监控用户;配置nagios 及用htpasswd创建浏览器验证帐号。下面分步描述。
一、 在Mysql服务器安装nrpe.
这个操作与nagios服务器安装nrpe基本相同。在/etc/xinetd.d/nrpe里面添加服务器的IP地址,在/etc/services里面添加nrpe 5666/tcp,在/usr/local/nagios/etc/nrpe.cfg里面添加
allowd_host = 127.0.0.1,192.168.4.70后面的为服务器的IP,按需修改
并在下面添加监控MYSQL的命令
command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 192.168.4.21 -u nagios -d nagios –p nagios
二、创建Mysql访问用户nagios
这个账号仅仅是nagios监控程序用来访问Mysql数据库所用,与其它帐号毫无关系。为了安全起见,nagios这个账号的权限应该特别低,仅仅有数据库的select权限即可。再进一步,我们创建一个空的数据库nagdb,然后让nagios账号访问这个空库,就可以通过 check_Mysql插件测试和监控Mysql数据库。
mysql>create database nagdb;
mysql>create user “nagios” identified by “nagios”;
mysql>grant select on nagdb.* to nagios@'%';
mysql>flush.privileges;
一切正常以后,Mysql服务器这边的配置和测试就算完成了。
三、nagios服务器上的操作。
主机配置文件(/usr/local/nagios/etc/object/localhost.cfg)追加Mysql主机定义,其添加内容如下:
define host{
use linux-server
host_name test4_21
alias test4_21
address 192.168.4.21
}
define service {
use local-service
host_name test4_21
service_description Check MySQL
check_command check_nrpe!check_mysql
}
四、检查并启动nagios
#/usr/local/nagios/bin/nagios -v /usr/nagios/etc/nagios.cfg -d
五、增加apache验证帐号
#/usr/local/apache/bin/htpasswd /usr/local/nagios/etc/htpasswd nagdb
输入两次密码后,从别的计算机的浏览器地址栏输入 http://59.26.240.63/nagios ,再输入用户名nagdb及刚才设定的密码,进入页面后,点击左上方的链接"Service Detail",就可以看到Mysql服务器当前的运行状态(nagdb用户只能看到Mysql服务器状态,而管理员sery账号则可以看所有被监控对象的状 态)。