潇湘夜雨移动版

主页 > 系统 >

nagios监控部署(二)

本文主要介绍通过nrpe插件监控mysql服务
 
一、监控本地 MySQL:
=========================================
 
1.添加服务
修改 /usr/local/nagios/etc/objects/localhost.cfg 在后面添加:
define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             MySQL
        max_check_attempts              3 ; 故障后最多尝试几次,次数到达后开始提醒
        normal_check_interval           2 ; 正常状态下再次检查的间隔
        retry_check_interval            1 ; 故障后重试时间间隔
        contact_groups                  admins ; 
        notification_options w,u,c,r,f ; 
        notification_interval           1 ; 提醒的间隔,单位为分钟
        notification_period             24x7 ; 提醒的时间段 
        check_command check_mysql!127.0.0.1!root!root
}
注意红色部分,用感叹号分隔开的有三个参数,分别是
host, username, password. 在 nagios 进行自动检查时,会将这三个参数在调用 check_mysql
命令的时候传递过去.
一、Nagios概述
 
2.定义 check_mysql 命令
修改
/usr/local/nagios/etc/objects/commands.cfg
在后面加上:
define
command{ 
command_name
check_mysql 
command_line
$USER1$/check_mysql -H $ARG1$ -u $ARG2$ -p $ARG3$
}
 
 
重启 nagios
 
二、监控远程服务器:
========================================
 
1.若之前尚未监控远程服务器的其它服务,请查看文章:http://blog.sina.com.cn/s/blog_5f54f0be0101c1h8.html
 
远程监控是用 check_nrpe 来调用被监控机器上的其它命令来实现的。所以,要远程监控对应的项目,必须保证被监控机器上已经安装了相应的 nagios 插件。
在这里,我们要保证被监控的远程机器上已经成功安装 check_mysql.
2.定义命令
并在被监控机器的 /usr/local/nagios/etc/nrpe.cfg 后添加:
示例1:command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 172.18.109.233 -u test -p 123456 -d test
 
示例2:command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 127.0.0.1 -u root -p root
3.定义服务
添加完远程服务器后.
在 /usr/local/nagios/etc/objects/remotehost.cfg 后添加:
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       JP_VPS_2G
        service_description             MySQL
check_command check_nrpe!check_mysql
}
 
 
 
可能出现的错误:
[root@localhost nagios]# /usr/local/nagios/libexec/check_mysql -H 172.18.109.233 -P  -u test -p 123456
测试错误:/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
根据最后提示,应该是找不着一个交libmysqlclient.so.18的文件,于是到mysql安装目录里找到这个文件并且做一个软连接到/usr/lib
 
复制代码 代码如下:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
 
如果是64系统则:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
[root@localhost nagios]# /usr/local/nagios/libexec/check_mysql -H 172.18.109.233 -P  -u test -p 123456
Uptime: 4311  Threads: 1  Questions: 29  Slow queries: 0  Opens: 33  Flush tables: 1  Open tables: 26  Queries per second avg: 0.006|Connections=13c;;; Open_files=20;;; Open_tables=26;;; Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;; Queries=30c;;; Questions=21c;;; Table_locks_waited=0c;;; Threads_connected=1;;; Threads_running=1;;; Uptime=4311c;;;
 
(责任编辑:liangzh)