此工作大约用时: 30min
准备工作, 在被监控机上
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
0 客户端上增加用户
/usr/sbin/useradd -m -s /sbin/nologin nagios
1,安装Nagios 插件
wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
tar zxvf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
./configure --prefix=/usr/local/nagios
make
make install
这一步完成后会在/usr/local/nagios/下生成三个目录include、libexec和share。
修改目录权限
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
2, 安装NRPE
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
3,接下来安装NPRE插件,daemon和示例配置文件。
3.1 安装check_nrpe 这个插件
make install-plugin
监控机需要安装check_nrpe 这个插件,被监控机并不需要,我们在这里安装它只是为了测试目的。
3.2 安装deamon
make install-daemon
3.3 安装配置文件
make install-daemon-config
现在再查看/usr/local/nagios/目录就会发现有5个目录了
按照安装文档的说明,是将NRPE deamon作为xinetd下的一个服务运行的。在这样的情况下xinetd就必须要先安装好,不过一般系统已经默认安装了。
3.4 安装xinted 脚本
make install-xinetd
可以看到创建了这个文件/etc/xinetd.d/nrpe , 编辑该文件
在only_from 后增加监控主机的IP地址,如
only_from = 127.0.0.1 10.254.166.60
编辑/etc/services 文件,增加NRPE服务 ,在文件最后 增加一行
nrpe 5666/tcp #nrpe
重启xinted 服务
service xinetd restart
查看NRPE 是否已经启动
netstat -an | grep 5666
如果发现5666 端口号被监控,则是起来了。
本地测试
/usr/local/nagios/libexec/check_nrpe -H localhost
成功启动 ,会返回版本号
增加 监控机的访问IP
默认只允许本地的访问,需要配置文件,以便监控机也可以访问。
vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,10.254.166.60
如果NRPE是手动方式启动的,这里需要重启NRPE ,如果是以xinet服务启动的,则不用重启。
手工重启一下 NRPE方法,以xinet服务启动时 ,不用做这一步。
pkill nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
现在 去 监控机测试一下 ,10.136.57.84 为被监控机IP
/usr/local/nagios/libexec/check_nrpe -H 10.136.57.84
成功启动 ,会返回版本号
被监控机就配好了。
去监控机 添加 主机
1, 添加HOST
vi /usr/local/nagios/etc/objects/hosts.cfg 增加一个主机信息
define host{
use linux-server ;引用主机linux-server的属性信息,linux-server主机在templates.cfg文件中进行了定义。
host_name blfb-login ;主机名
alias blfb-登录 ;主机别名
address 10.254.132.148 ;被监控的主机地址,这个地址可以是ip,也可以是域名。
}
2, 增加服务
vi /usr/local/nagios/etc/objects/services.cfg
可以新建服务,或者 如果服务相同的话, 直接将 新加入的 host那么 用逗号隔开,跟在host_name 的后面就可以。 如
#---blfb-login start------------------------------------------------------------------
define service{
use local-service ;引用local-service服务的属性值,local-service在templates.cfg文件中进行了定义。
host_name blfb-login,blfb-gamesr01 ;这个服务写了 两个 主机名,说明这连个主机 都会检测 这个check-host-alive 服务
service_description check-host-alive ;对监控服务内容的描述,以供维护人员参考。
check_command check-host-alive ;指定检查的命令。
}
define service{
use local-service
host_name blfb-login
service_description Current Load
check_command check_nrpe!check_load
}
define service{
use local-service
host_name blfb-login
service_description Check Disk vdc1
check_command check_nrpe!check_vdc1
contact_groups admins,blfb_cp_group
}
define service{
use local-service
host_name blfb-login
service_description Check Zombie Procs
check_command check_nrpe!check_zombie_procs
}
#---blfb-login- end----------------------------------------------------------------
3,重启前 检查 配置文件
./bin/nagios -v ./etc/nagios.cfg
4, 如果没有错误 ,也没有警告, 就可以重启。
service nagios restart
5, 在浏览器查看添加情况
完。
注意:可能check_vdc1 这个命令会提示不存在, 或者 硬盘名不对。 那就需要去 被监控机改一个配置 ,该成自己想要监控的 设备名 如我的是 /dev/vdv1
vi /usr/local/nagios/etc/nrpe.cfg
command[check_vdc1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vdc1
参考博客
http://os.51cto.com/art/201104/253718.htm
手动启动NRPE的方法
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d