发布时间:2014-09-05 16:40:16作者:知识屋
上文提到过Nagios默认只能监控本机资源,对于远程服务器资源的监控有点力不从心,现在和大家一起学习一下nrpe,Nagios就是通过nrpe来监控远程主机的存活、磁盘空间、负载、进程数、ip 连接等。
一、nrpe原理简介
Nagios的实现方式:Nagios采用分布-集中的管理模式。在nagios服务器上安装Nagios主程序,在被监控主机上安装nagios代理程序。通过nagios主程序和nagios代理程序之间的通讯,监视主机状态。
主程序和代理程序之间有两种工作方式,一种是主程序–>Active–>代理程序;另一种是主程序–>passive–>代理程序;顾名思义,是以一方向另一方主动提出通讯需求来划分的。
二、NRPE的功能和意义
之前已经理解了Nagios的服务-命令-插件的工作关系,因此也明确了基本的Nagios服务是无法实现对远程系统的状况进行监测的,基本的Nagios 监测服务只能是本地系统监测以及对远程主机的连通性监测。为了使Nagios的监测服务器能够远程对被监测主机系统上的信息进行获取,就必须要依靠NRPE这个核心扩展插件程序,NRPE作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。
三、NRPE的主要工作方式
如以上提到的实现Nagios对远程系统的监测,那么首先必须要在被监测的远程主机上除了安装Nagios-plugins插件程序之外还必须安装NRPE 核心扩展插件程序,并将NRPE在被监测的远程主机系统上以守护进程的方式运行起来,开放指定的NRPE监听端口监听着Nagios监测服务器发送过来的所有监测请求。另外,在Nagios监测服务器上,在必须要安装Nagios-plugins插件程序和NRPE核心扩展插件程序。唯一不同的是,Nagios监测服务器不需要将NRPE作为守护进程运行着,因为它本身一般不需要被别人监测着而是去监测别人,对Nagios监测服务器而言,它只需要使用到Nagio-plugins插件程序和NRPE扩展插件程序就足够了。
四、在被监控主机上安装Nagios-plugins插件程序
$useradd nagios #新增nagios用户
$tar -zxvf nagios-plugins-1.4.10.tar.gz
$cd nagios-plugins-1.4.10
$./configure --prefix=/usr/local/nagios
$make;make install
$chown -R nagios:nagios /usr/local/nagios/
五、在被监控主机上安装NRPE服务
$tar -zxvf nrpe-2.9.tar.gz
$cd nrpe-2.9
$./configure
$make all
$ make install-plugin;make install-daemon;make install-daemon-config;
六、在被监测主机上配置并运行NRPE
配置NRPE的主配置文件/usr/local/nagios/etc/nrpe.cfg
这里主要交待一些关键重要的设定。
-------------------------------------------------------
pid_file=/var/run/nrpe.pid
设定NRPE运行的PID文件,这个默认就设定好了,不用更改。
server_port=5666
这个是NRPE守护进程占用的系统端口。
#server_address=0.0.0.0
server_address=192.168.1.9 #这是被控端IP地址
设定系统监听NRPE的网络接口。一般设定具体的IP地址,如果要多个网卡的话就用逗号“,”来分隔多个IP地址。如果要监听系统全部的网络接口的话,可以使用“0.0.0.0”这个表示全部网络接口的特殊地址,但是不可以用通配符“*”。
nrpe_user=nagios
nrpe_group=nagios
设定NRPE的宿主用户。
allowed_hosts=192.168.1.12 #这是充许监控服务器IP地址
这里是设定允许与本机进行NRPE交互的主机的IP地址,也就是Nagios监测服务器的地址,如果要指定多个Nagios服务器的话,那么用逗号“,”来分隔多个IP地址。
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
以上是NRPE默认就有的扩展插件命令,这是至关重要的地方了。当被监测主机运行NRPE守护进程的时候,同时就运行起来了这些在NRPE配置文件中定义的NRPE扩展命令了。可以看出这些扩展命令都已经指定了好了命令名、插件路径以及选项参数了。格式如下:
command[NRPE命令名]=插件路径/插件 选项1 参数1 选项2 参数2 ...
注意,如果要指定该被监测主机需要被监控的服务的话,就必须在这里都配置好NRPE命令并运行在NRPE守护进程里。这里没有配置的NRPE命令则Nagios监测服务器是无法监控到的。
将NRPE运行添加加入系统启动脚本中
www.zhishiwu.com
echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.d/rc.local
七、在Nagios监测服务器上安装NRPE核心扩展插件程序
相对被检测主机来说,Nagios监测服务器上做的NRPE安装就比较简单了,而且它主要监测别人而不是被别人监测,所以它不需要将NRPE作为守护进程运行起来,只要拥有NRPE的扩展插件功能就可以了。
tar -zxvf nrpe-2.9.tar.gz
cd nrpe-2.9
./configure
make all
make install-plugin
Nagios 只要拥有NRPE的扩展插件功能就可以了,所以在Nagios监测服务器安装NRPE工作到这步就可以了。接下来要做的就是在Nagios监测服务器上配置NRPE的扩展插件命令,使得Nagios监测服务器能够定义nrpe命令,从而可以定义出“远程系统监测服务”。
作者 周波
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能