开源监控利器nagios,很强大很好用,例如用来监控mysql服务器。
监控mysql需要在nagios和mysql服务器这两个部分做处理:mysql服务器安装nrpe、创建mysql监控用户;配置nagios及用htpasswd创建浏览器验证帐号。下面分步描述。
一、在mysql服务器安装nrpe.
这个操作与nagios服务器安装nrpe基本相同,唯一不同的是nrpe.cfg文件server_address,把它改成mysql服务器的ip地址即可。检查无误后启动nrpe服务.
二、创建mysql访问用户nagios。这个账号仅仅是nagios监控程序用来访问mysql数据库所用,与其它帐号毫无关系。为了安全起见,nagios这个账号的权限应该特别低,仅仅有数据库的select权限即可。再进一步,我们创建一个空的数据库nagdb,然后让nagios账号访问这个空库,就可以通过check_mysql插件测试和监控mysql数据库。
1、创建空的数据库(需mysql root权限): mysql > create database nagdb;
2、创建mysql账号nagios: mysql > GRANT select ON nagdb.* TO ‘nagdb@’%’;
3、用插件检查配置:
- [root@mysql /usr/local/nrpe/libexec]# ./check_mysql -H 192.168.0.102 -u nagios -d nagdb
- Uptime: 189145 Threads: 2 Questions: 3501834 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 57 Queries per second avg: 18.514
4、从nagios服务器上再检查一次:
- [root@nagios /usr/local/nagios/libexec]# ./check_mysql -H 192.168.0.102 -u nagios -d nagdb
- Uptime: 189664 Threads: 2 Questions: 3501836 Slow queries: 0 Opens: 67 Flush tables: 1 Open tables: 57 Queries per second avg: 18.463
一切正常以后,mysql服务器这边的配置和测试就算完成了。
#p#
三、nagios服务器上的操作.即在nagios配置文件后面追加内容。
(一)、主机配置文件追加mysql主机定义,联系组contactgroups 的值为sagroup,dbgroup,具体步骤参照前面的操作。
(二)、联系人配置文件(contacts.cfg)追加数据库管理员定义(dba1),具体步骤参照前面的操作。
(三)、联系组配置文件(contactgroups.cfg)追加数据库管理员组定义(dbgroup),其成员为联系人配置文件(contacts.cfg)定义的数据库管理员(dba1)。
(四)、服务配置文件(services.cfg)追加mysql服务监控,除了mysql服务监控而外,其他几个对象都于前面的类似,只不过联系组多了一个dbgroup。这里列出mysql服务这个定义:
- define service {
- host_name nagios-server
- service_description check_mysql
- check_period 24×7
- max_check_attempts 4
- normal_check_interval 3
- retry_check_interval 2
- contact_groups sagroup,dbgroup
- notification_interval 10
- notification_period 24×7
- notification_options w,u,c,r
- check_command check_mysql
- }
(五)、命令配置文件(command.cfg)追加检查mysql的定义,其追加内容为:
- define command {
- command_name check_mysql
- command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u nagios –d nagdb
- }
(六)、检查并启动nagios
- cd /usr/local/nagios
- bin/nagios –v etc/nagios.cfg
- bin/nagios –d etc/nagios.cfg
(七)增加apache验证帐号
- /usr/local/apache/bin/htpasswd /usr/local/nagios/etc/htpasswd db1
输入两次密码后,从别的计算机的浏览器地址栏输入 http://59.26.240.63/nagios ,再输入用户名db1及刚才设定的密码,进入页面后,点击左上方的链接“Service Detail”,就可以看到mysql服务器当前的运行状态(db1用户只能看到mysql服务器状态,而管理员sery账号则可以看所有被监控对象的状态)。
通过文章的介绍,我们清楚的知道了Nagios用来监控mysql服务器还是很给力!
【编辑推荐】