监控远程Linux/Unix主机上的本地资源可以通过NRPE插件来实现,下面来看NRPE在监控服务器(也就是安装Nagios服务器的机器)和远程主机(也就是被监控的服务器)上的安装和配置。
NRPE插件的设计原理就是要允许Nagios在远程Linux/Unix主机上执行Nagios插件,以便对远程Linux/Unix主机进行检测,这么做的主要原因在于要求Nagios监控远程Linux/Unix主机的本地("local")资源(例如,CPU负载、内存使用率、交换分区使用率、当前登录用户数、磁盘使用率、进程状态等)。由于这些资源通常不暴露在外部的机器,因此类使用NRPE代理必须安装在远程Linux/ Unix机器。
注意,可能会通过SSH远程执行Linux/ Unix机器上Nagios插件,在插件中有一个check_by_ssh插件,这插件能够实现安全传输。使用SSH将会比NRPE插件更安全,但是有可能会是的远程主机和监控主机上的CPU负载过载,如果监控上百台机器或者上千台机器那么这将会是一个问题。因此,许多Nagios管理员选择了通过NRPE插件,因为这样将会是的CPU负载降低。
如果环境不是很复杂——这里说的复杂不是网络或者服务复杂,而是人员的复杂,那么也没有必要使用安全传输。
从图中看出,NRPE分为两部分:
u check_nrpe 插件,位于监控机器Nagios本地;
u NRPE 守护进程,位于远程被监控的Linux/Unix主机;
当Nagios需要从远程Linux/Unix主机监控服务资源时,需要进行以下步骤:
n Nagios将会执行check_nrpe插件,并且告诉它什么样的服务需要监测;
n 插件check_nrpe将会联系远程主机的NRPE守护进程,根据需要可以选择SSL保护连接;
n NRPE守护进程选择适当的Nagios插件监测服务或者资源;
n 服务检测的结果将会通过check_nrpe插件传递到NRPE守护进程,换句话说就是将被监控主机上监控的结果传回到Nagios的守护进程;
这里需要说明的一点是NRPE需要将Nagios 插件安装在远程的Linux/Unix主机上,如果没有安装这些插件,那么NRPE守护进程什么也干不了。
直接检查
大多数情况是直接使用NRPE来监控远程Linux/Unix主机上的"local" 或者 "private",即“本地”或者“私有”资源。这些资源包含CPU负载、内存使用率、交换分区使用率、当前登录用户数、磁盘使用率、进程状态等:
间接检查
也可以通过NRPE间接的检测监控主机不能够直接监控的远程Linux/Unix主机上"public" 服务和资源。比如,如果安装有NRPE和Nagios插件的远程主机可以与远程的web服务器“谈话”,但是监控主机不能够和远程的web服务器“谈话”,那么可以配置远程Linux/Unix主机上NRPE守护进程监控远程的web服务器,这样便间接的实现了Nagios对远程web服务的监控:
在这种情况下,远程Linux/Unix主机上的NRPE守护进程起到了代理的作用。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27043155/viewspace-732183/ ,如需转载,请注明出处,否则将追究法律责任。