设为首页 收藏本站
查看: 1312|回复: 0

Nagios 探索之九 —— NRPE的安装配置

[复制链接]

尚未签到

发表于 2017-4-20 09:44:25 | 显示全部楼层 |阅读模式

NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。例如,cpu负载、内存使用、硬盘使用等等。NRPE可以称为nagios的for linux 客户端。

为什么要使用这个客户端呢?在nagios的插件中,有一个名为“check_ssh”的插件,它也可以实现对于远程服务器中local信息的监控。但是,相对NRPE,“check_ssh”占用的系统资源就略多了一点。监控少量的服务时可能不会察觉,但是如果监控对象比较多,那么差距就非常明显了。但是还有一点要说明,虽然NRPE也是使用SSL安全通道,但是“check_ssh”的安全性要高于NRPE,安全性总是和易用性成反比的。 -_-||

首先,需要在nagios监控平台服务器上安装NRPE,安装很简单,到官方网站下载最新的nrpe包,本例中使用的是nrpe-2.8.1.tar.gz。

tar xzf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure
make all
make install-plugin

如果安装成功,就可以在/.../nagios/libexec 目录中找到 "check_nrpe"这个插件。
之后需要定义一个可以在监控平台使用的命令,这个定义一般会在/.../nagios/etc/commands.cfg中,其内容如下:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$}

这样就可以在定义服务的时候使用这个命令了,举个例子:

define service{
host_name remotehost
service_description CPU Load
...
check_command check_nrpe!check_load}

这个例子就定义了对remotehost服务器cpu负载情况的监控。其中红色的“check_load”是什么,来自哪里,我们下面再说。

ok,现在来说本文的重点内容,如何在被监控服务器上安装NRPE。
首先,需要准备的包有两个:NRPE和nagios-plugin。本文使用的版本是nagios-plugins-1.4.9.tar.gz和nrpe-2.8.1.tar.gz。首先安装插件:

/usr/sbin/useradd nagios
passwd nagios
tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
./configure --prefix=/usr/local/nagios
make && make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/

然后安装NRPE:

tar xzf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

ok,安装好了,可以到/usr/local/nagios/下面检查一下,应该生成了4个目录:bin、etc、libexec、share。之后我们要配置一下,目的是让NRPE可以以守护进程的形式监听5666端口,为特定地址的nagios平台提供服务。在官方的NRPE文档中,详细说明了如何将NRPE嵌入xinetd服务中,我在这里就不啰嗦了。有些情况,我们的服务器上没有xinetd或者inetd这样的服务,那如何办呢?我在这里介绍一种更加通用的方法。

首先,需要修改/usr/local/nagios/etc/nrpe.cof。
找到“allowed_hosts=127.0.0.1”将其改为:

allowed_hosts=127.0.0.1,$Nagios监控平台的地址或域名

这个配置的作用是声明合法的nrpe服务对象,没有在这里声明的地址是无法从本机的NRPE获得服务的。“$Nagios监控平台的地址或域名”可以是ip地址,也可以是域名。在我环境中,nagios监控平台没有一个固定的公网ip,所以其他在公网上的服务器如果安装了NRPE的话,就只能通过动态域名来辨别监控平台的地址。

启动NRPE守护进程:(可以将此命令加入/etc/rc.local,以便开机自动启动)

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

此命令生成的日志会在系统的日志(/var/log/message)中。如果没有出错,就基本搞定了。我们来验收一下,在本机上:

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

或者在nagios监控平台服务器上:

/usr/local/nagios/libexec/check_nrpe -H $目标主机地址

正常的返回值为被监控服务器上安装的NRPE的版本信息:

NRPE v2.8.1

如果看到这些,恭喜你,你的NRPE安装成功了。

那么,通过NRPE,可以监控到哪些信息呢? 只要在被监控服务器上有的插件(/usr/local/nagios/libexec中的所有插件),都可以使用。也就是说,你想监控什么,只要有对应的插件,就可以实现。

例如,我希望监控一台远程服务器上的cpu负载。在远程主机的插件中有“check_load”,那么,在nrpe.conf中定义一个cpu负载的监控:

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20


这个配置就声明了一个命令:“check_load”,也就是上述中红色字check_load的真身所在了。

本文参考Nagios官方文档NRPE.pdf
http://blog.chinaunix.net/u/28387/showart_371655.html




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-366681-1-1.html 上篇帖子: nagios的工作场景及使用说明 下篇帖子: Nagios监控/报警Java程序(一) 通过Shell监控/报警
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表