Nagios的安装配置与应用之五监控远程Linux服务器

摘要:
通过在远程服务器上安装NRPE组件和Nagios插件,可以为Nagios监控平台提供服务器的一些本地条件,例如CPU负载、内存使用情况、硬盘使用情况等。这里,Nagios监视平台称为Nagio服务器,远程监控服务器称为Nageos客户端。有两种类型的NRPE检测:1)直接检测:检测对象是运行NRPE的Linux主机的本地资源。原理如下:直接使用NRPE插件监视远程Linux/UNIX主机的本地或私有资源。

本文出自 “曹坏水” 博客,请务必保留此出处http://cao2012.blog.51cto.com/366908/1132113

NRPE是Nagios的一个功能扩展,它可在远程Linux和UNIX主机上执行插件程序。通过在远程服务器上安装NRPE构件及Nagios插件程序来向Nagios监控平台提供该服务器的一些本地情况,如CPU负载、内存使用、硬盘使用等。这里将Nagios监控平台称为Nagios服务器端,而将远程被监控的服务器称为Nagios客户端。

下图为NRPE构件监控远程主机本地信息的运行原理:

Nagios的安装配置与应用之五监控远程Linux服务器第1张

NRPE总共由两部分组成:

--check_nrpe插件,位于监控主机上

--NRPE daemon,运行在远程被监控的Linux主机上

当监控远程Linux/UNIX主机服务或资源时,流程如下:

1、nagios会运行check_nrpe这个插件,并且会告诉它需要检查什么;

2、check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL;

3、NRPE daemon会运行相应的nagios插件来执行检查动作;

4、NPRE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。

注意:NRPE daemon需要nagios插件安装在远程的Linux主机上,否则daemon不能做任何的监控。

通过NRPE的检测分为两种:

1)直接检测:检测的对象是运行NRPE的那台Linux主机的本地资源,原理如下:

直接使用NRPE插件监控远程Linux/UNIX主机的本地或者私有资源。例如:CPU负载,内存使用,SWAP空间使用,硬盘等运行状况。

Nagios的安装配置与应用之五监控远程Linux服务器第2张

2)间接检测:当运行Nagios的监控主机无法访问到某台被监控主机,但是运行NRPE的机器可以访问得到的时候,运行NRPE的主机就充当一个中间代理,将监控请求发送到被监控对象上。

Nagios的安装配置与应用之五监控远程Linux服务器第3张

其实这种情况一般出现在监控主机与被监控主机不在同一段网络内。日常企业里一般不非出现这样情况,所以下面我所做的都是直接检测。

Nagios监控客户端的安装

添加用户名

[root@testdb ~]# useradd -s /sbin/nolgin nagios

安装Nagios的插件nagios-plugin

[root@Nagios ~]#tar -zxvfnagios-plugins-1.4.16.tar.gz

[root@testdb~]#cdnagios-plugins-1.4.16

[root@testdbnagios-plugins-1.4.16]# ./configure

注意:如果你 RedHat AS4 版本的服务器要添加--enable-redhat-pthread-workaround 选项。

[root@testdbnagios-plugins-1.4.16]#make && make install
安装NRPE
[root@testdb ~]# tar zxvf nrpe-2.13.tar.gz
[root@testdb ~]# cd nrpe-2.13
[root@testdb nrpe-2.13]# ./configure
输出下图的结果:

Nagios的安装配置与应用之五监控远程Linux服务器第4张

可以从上图中看出NRPE的端口是5666

下一步是make all,输出如下图截图所示:

Nagios的安装配置与应用之五监控远程Linux服务器第5张

安装check_nrpe插件

[root@testdb nrpe-2.13]# make install-plugin

其实被监控机不需要安装这个插件,这里我只是为测试!
安装deamon
[root@testdb nrpe-2.13]#make install-daemon
安装配置文件
[root@testdb nrpe-2.13]#make install-daemon-config
将NRPE deamon作为xinetd下的一个服务运行,在这个情况下xinetd就必须先安装好,一般系统都会默认安装了。
安装xinetd脚本
[root@testdb nrpe-2.13]#make install-xinetd
配置NRPE
[root@testdb ~]#vi /etc/xinetd.d/nrpe

Nagios的安装配置与应用之五监控远程Linux服务器第6张

#注意:在only_from添加Nagios监控服务器的IP地址。修改后如上图所示!

添加服务端口

[root@testdb ~]#vi /etc/services

#在文件末尾添加

nrpe 5666/tcp

重启服务并验证安装

[root@testdb ~]#/etc/init.d/xinetd restart

[root@testdb ~]# netstat -at|grep nrpe

tcp 0 0 *:nrpe *:* LISTEN

[root@testdb ~]# netstat -an|grep 5666

tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN

修改权限
[root@testdb ~]#chown -R nagios:nagios /usr/local/nagios/
测试NRPE是否正常工作
前面安装了check_nrpe这个插件用于测试,现在就是用的时候,执行
/usr/local/nagios/libexec/check_nrpe -H localhost,如下图所示:

Nagios的安装配置与应用之五监控远程Linux服务器第7张

也就是在本地用check_nrpe连接nrpe daemon是正常的。

/usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法
可以看到用法是check_nrpe –H 被监控的主机 -c要执行的监控命令
注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令。
修改Nagios客户端NRPE的配置文件,如下图所示:

Nagios的安装配置与应用之五监控远程Linux服务器第8张

由于-c后面只能接nrpe.cfg中定义的命令,也就是说现在我们只能用上面定义的这五条命令.我们可以在本机实验一下.如下图所示:

Nagios的安装配置与应用之五监控远程Linux服务器第9张

Nagios服务器的部署

安装NRPE

[root@Nagios ~]# cd /usr/local/src/

[root@Nagios src]#tar zxvf nrpe-2.13.tar.gz

[root@Nagios src]# cd nrpe-2.13

[root@Nagios nrpe-2.13]# ./configure && make all

[root@Nagios nrpe-2.13]# make install-plugin

[root@Nagios nrpe-2.13]# make install-daemon

[root@Nagios nrpe-2.13]# make install-daemon-config

[root@Nagios nrpe-2.13]# make install-xinetd

配置NRPE

[root@Nagios ~]# vi /etc/xinetd.d/nrpe 如下图示:

Nagios的安装配置与应用之五监控远程Linux服务器第10张

#注意:在only_from添加要监控的主机IP地址,中间以空格隔开。
添加服务端口
[root@Nagios ~]#vi /etc/services
#在文件末尾添加,如果不添加端口,nrpe 将不能正常运行
nrpe 5666/tcp #nrpe
[root@Nagios~]# /etc/init.d/xinetd restart
[root@Nagios ~]# netstat -na | grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:*
修改命令定义文件
由于命令定义文件里默认没有 check_nrpe 命令,所以需要先定义后使用。
[root@Nagios ~]# vim /usr/local/nagios/etc/objects/commands.cfg
#nrpe set 在文件末尾添加下面命令定义
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
修改Nagios服务器hosts.cfg和services.cfg文件,如下图所示:
hosts.cfg

Nagios的安装配置与应用之五监控远程Linux服务器第11张

services.cfg:

Nagios的安装配置与应用之五监控远程Linux服务器第12张

登陆验证配置

查看配置文件是否正确

[root@Nagios ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

重新加载配置文件

[root@Nagios ~]# /etc/init.d/nagios reload

用 浏览器登陆验证,如下图所示:

Nagios的安装配置与应用之五监控远程Linux服务器第13张

#这篇文章是根据Nagios官方文档和网上一些资料撰写的!附件已上传。

免责声明:文章转载自《Nagios的安装配置与应用之五监控远程Linux服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇x-pack本地安装方式第一篇Scrum冲刺博客下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

添加samba用户,并设置密码

最近在开发中用到了linux guest与win10 host 采用samba方式文件共享遇到的一些问题,摘取在网上,记录下来以便自己和他人有问题的时候做个参考 添加samba用户,并设置密码;    我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同...

Linux环境依赖库离线安装

离线源码安装包下载地址:http://www.rpmfind.net/linux/rpm2html/search.php?query=net-tools&submit=Search+...&system=&arch= gcc --version;  #检查gcc是否安装g++ --version;  #检查g++是否安装 未安装,...

3-4 linux 用户及权限管理

1. 安全上下文(secure context) 取决于资源权限和进程权限 分为三种:r:读,w:写,x:执行 每一类用户都有三个权限 文件: r:可读,可以使用类似cat等命令来查看文件内容 w:可写,可以编辑或者删除此文件 x:可执行,executable, 可以在命令提示符下当做命令提交到内核运行 目录: r:可以对此目录执行以列出内部所有文件 w...

安全计算环境(三)Linux服务器2

Linux服务器 控制点 2. 访问控制 在系统中实施访问控制的目的是为了保证系统资源(操作系统和数据库管理系统)受控、合法地被使用。用户只能根据自己的权限来访问系统资源,不得越权访问。 a) 安全要求:应对登录的用户分配账户和权限。 要求解读:对于Linux操作系统中的一些重要文件,应检查系统主要目录的权限设置情况,Linux操作系统的文件操作权限,包括...

odoo开发笔记 -- wkhtmltox打印不显示中文 --ubuntu字体安装

wkhtmltox 是一个开源的将网页内容转换成PDF的软件包,常嵌套在网页页面里边做打印功能。 ubuntu16.04 安装wkhtmltopdf参考:https://www.cnblogs.com/hellojesson/p/11206184.html 以微软雅黑字体为例(其他的宋体、黑体等点阵字体都一样的),我们的雅黑字体文件是:Yahei.ttf...

(五)cobbler自定义系统安装

注意:需要提前获取到物理机对应的网卡的MAC地址,例如我这里使用虚拟机进行演示 cobbler system add --name=linux-node2.com --mac=00:50:56:22:50:4D --profile=CentOS-7-x86_64 --ip-address=192.168.92.131 --subnet=255.255...