关于Nagios通过NRPE监控客户端的安装与配置
环境介绍>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
服务端(监控端):192.168.100.2     --nagios服务+check_nrpe
客户端(被监控端):192.168.100.3    --nrpe守护进程+检测插件
Nagios通过NRPE来远端管理服务的过程
1. Nagios服务端执行安装在它里面的check_nrpe插件,并告诉check_nrpe 去检测哪些服务。
2. 通过SSL,check_nrpe连接远端机子上的NRPE daemon
3. 被监控端的NRPE运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4. 最后,被监控端的的NRPE把检测的结果传给nagios服务端的check_nrpe,check_nrpe再把结果送到Nagios状态队列中。
5. Nagios 依次读取队列中的信息,再把结果显示出来。
NRPE 工作原理如下图所示:

NRPE 总共由两部分组成:
1、check_nrpe 插件,位于监控主机上
2、NRPE daemon,运行在远程的Linux主机上(通常就是被监控机)
当Nagios 需要监控某个远程Linux 主机的服务或者资源情况时:
Nagios 会运行check_nrpe 这个插件,告诉它要检查什么;
check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;
NRPE daemon会运行相应的Nagios插件来执行检查;
NRPE daemon将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。
注意:NRPE daemon需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。
服务端(监控端)安装过程
1、服务端需要先安装nagios服务,安装方法可点击笔者的另一篇文章,《linux系统下Nagios+rrdtool+Pnp4nagios监控环境的搭建》
2、安装nrpe所需的依赖,使用yum命令安装即可。
[root@nagios_server ~]# yum install gcc make -y
[root@nagios_server ~]# yum install openssl-devel -y //check_nrpd会通过ssl的方式,连接远端的NRPE Daemon
3、解压nrpe-2.15.tar.gz,进入其目录,执行如下命令。
[root@nagios_server nrpe-2.15]# ./configure --with-nrpe-user=nagios //可以就以nagios用户运行nrpe,如没有此用户,须先创建
[root@nagios_server nrpe-2.15]# make all //编译所有源码
[root@nagios_server nrpe-2.15]# make install-plugin //安装check_nrpe插件,默认为安装到/usr/local/nagios/libexec目录
客户端(被监控端)的安装过程
1、安装nrpe所需的依赖,使用yum命令安装即可。
[root@nagios_server ~]# yum install gcc make -y
[root@nagios_server ~]# yum install openssl-devel -y //check_nrpd会通过ssl的方式,连接远端的NRPE Daemon
2、解压nrpe-2.15.tar.gz,进入其目录,执行如下命令:
[root@nagios_client ~]# useradd nagios //创建nagios用户
[root@nagios_server nrpe-2.15]# ./configure --with-nrpe-user=nagios //可以就以nagios用户运行nrpe
[root@nagios_client nrpe-2.15]# make all //编译所有源码
[root@nagios_client nrpe-2.15]# make install-daemon //安装nrpe命令,默认安装到/usr/local/nagios/bin目录
[root@nagios_client nrpe-2.15]# make install-daemon-config //安装nrpe配置文件,默认安装到/usr/local/nagios/etc目录
3、修改nrpe.cfg配置文件,允许监控端通过check_nrpe进行连接nrpe守护进程,默认只允许本机,加上监控端的IP即可。
allowed_hosts=127.0.0.1,192.168.100.2
4、启动nrpe守护进程,也可以将如下命令加入到开机启动脚本/etc/rc.local
[root@nagios_client nrpe-2.15]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d //启动nrpe,监听TCP 5666 端口
5、验证是否安装及启动成功,可在服务端执行如下命令:
[root@nagios_server libexec]# /usr/local/nagios/libexec/check_nrpe -H 192.168.100.3 //显示被监控端nrpe的版本
[root@nagios_server libexec]# /usr/local/nagios/libexec/check_nrpe -H 192.168.100.3 -c check_load //通过nrpe执行远端的检测插件
这里需要特别注意的有2点
(1)被监控端必须得有有/usr/local/nagios/libexec/check_load 检测脚本文件
(2)通过check_nrpe 命令后的-c参数所接的命令名是被定义在监控端的nrpe.cfg中,如下图所示:

服务端(监控端)的配置
1、定义命令,在/usr/local/nagios/etc/objects/commands.cfg中增加对check_nrpe的定义,加入如下内容:
define command{
        command_name    check_nrpe                                      //定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$   //这是定义实际运行的插件程序
        }
-c后的$ARG1$参数是传给nrpe daemon执行的检测命令,它必须是nrpe.cfg中所定义的那几条命令中的一条。在定义监控服务中使用check_nrpe的时候要用!带上这个参数。
2、在/usr/local/nagios/etc/nagios.cfg配置文件中加上如下内容:
cfg_file=/etc/nagios/objects/linux.cfg //让nagios包含此配置文件
3、定义主机与check_nrpe要检测的远端command名字。这里我们可以将主机与服务写在一个文件里,创建/usr/local/nagios/etc/objects/linux.cfg文件,写入如下内容:
define host{
        use                     linux-server
        host_name               nagios_client                    //nagios网页上的主机名
        address                 192.168.100.3
        }
define service{
        use                             local-service
        host_name                       nagios_client
        service_description             cpu_load                 //nagios网页上的服务名
        check_command                   check_nrpe!check_load
        normal_check_interval                                   //检测的间隔
        }
4、重启nagios服务。打开nagios监控网站,可见如下图所示,则表示被监控节点添加成功。

关于Nagios通过NRPE监控客户端的安装与配置的更多相关文章
- Oracle 11g 客户端的安装和配置。
		
原文:Oracle 11g 客户端的安装和配置. 数据库和客户端在不同的机器之上. 在安装之前,在安装Oracle数据库的服务器上导航到下面的目录. 将listener.ora和tnsnames.or ...
 - Git客户端的安装与配置入门
		
GitLab与Git客户端的安装与配置入门,每次配置完一段时间,就忘记配置过程了,为了自己和同学们以后有所参照,特记录了本次下载和配置,其实Git就是一个版本控制系统,类似于SVN,CVS等 下载:W ...
 - nagios系列(二)之nagios客户端的安装及配置
		
1.添加nagios用户 echo "------ step 1: add nagios user------" #create user group /usr/sbin/user ...
 - Nagios学习笔记一:基本安装和配置
		
()解决安装Nagios的依赖关系: Nagios基本组件的运行依赖于httpd.gcc和gd.可以通过以下命令来检查nagios所依赖的rpm包是否已经完全安装: # yum -y install ...
 - linux之 NFS服务器与客户端的安装与配置
		
今天实验室需要搭建NAS,我负责的是NFS的安装与配置,现将整理的文档分享一下: 参考一:Linux下rpm 安装包方式安装 http://linux.chinaunix.net/techdoc/be ...
 - Oracle Client(客户端) 安装与配置
		
因为工作需要,需要通过本地oracle客户端将数据导入到远程服务器上的oracle数据库中.从csdn下了很多oracle客户端,都是属于精简版,缺少imp.exe文件,造成无法导入数据.所以最终从o ...
 - Oracle Instant Client(即时客户端) 安装与配置
		
一.下载 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 这是Ora ...
 - FTP服务器与客户端的安装与配置
		
FTP服务器安装与配置 1. 切换到root用户: su root 2. 查看系统中是否安装了vsftpd,可以通过执行命令 : rpm -qa | grep vsftpd 3. 如果没有安装 v ...
 - Prometheus 系统监控方案 二 安装与配置
		
下载Prometheus 下载最新安装包,本文说的都是在Linux x64下面内容,其它平台没尝试过,请选择合适的下载. Prometheus 主程序,主要是负责存储.抓取.聚合.查询方面. Aler ...
 
随机推荐
- 《HTTP权威指南》学习笔记——HTTP报文
			
HTTP报文 HTTP:互联网的信使 HTTP报文:信使用来搬东西的包裹 1.报文流 HTTP报文:HTTP应用程序之间发送的数据块 组成:元信息开头(文本形式,描述报文的内容和含义)+可选的数据部分 ...
 - jquery绑定事件的坑,重复绑定问题
			
我实现点击table表格中的删除按钮,找到当前按钮的祖先元素tr 然后删除该行,但是我首先点击删除的时候要先弹出提示框,是否要下载,这时在点击删除按钮删除,之前没有考虑到事件重复绑定问题,所以每次点击 ...
 - 在window的cmd窗口下运行linux命令
			
之前看很多视频老师都是用Linux命令操作命令框,感觉很方便,自己在cmd窗口试了一下,所有这些命令都提示不是内部或外部命令,后来发现了windows还有一个powershell命令行工具,用起来似乎 ...
 - jsavascript 面向对象的下拉菜单
			
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
 - [原]巧用RenderTexture
			
郑重声明:转载请注明出处 U_探索 本文诞生于面试过程中这道题:NGUI如何制作3D角色的显示.(大概是这样) 呵呵 没事出去面试面试,考核考核自己也是一种不错的方式哦!不过现在u3d面试,貌似比以 ...
 - 手机APP支付--整合支付宝支付控件
			
长话短说,本文根据支付宝官方说明文档,简单总结下,并且说明下开发过程碰到的问题以及该如何解决. 整合步骤: 1 登录商家服务网站,下载开发包,地址:https://b.alipay.com/order ...
 - ios开发之--CGRectGetXxx方法图解 和代码NSLog输出值
			
- (void)test { CGRect rect = CGRectMake(, , , ); // 最小Y坐标,即矩形的顶部top y坐标: minY = rect.y = 20.000000 N ...
 - 如何编写一个SQL注入工具
			
0x01 前言 一直在思考如何编写一个自动化注入工具,这款工具不用太复杂,但是可以用最简单.最直接的方式来获取数据库信息,根据自定义构造的payload来绕过防护,这样子就可以. 0x02 SQL注 ...
 - iOS开发--UILabel可以显示\n
			
UILabel*label; //设置换行 label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = ; 换行符还是“\ ...
 - Ubuntu12.04编译Android2.3.4
			
Ubuntu12.04编译Android2.3.4 1.下载Ubuntuubuntu-12.04-dvd-i386.iso2.使用U盘安装,启动盘制作用unetbootin-windows-568工具 ...