Nagios NRPE学习心得-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Nagios NRPE学习心得

简介:

最近需要用Nagios监控几台Linux服务器,经过搜索学习,我成功的实现了这个目标。以下是整个安装流程和需要注意的事项。


首先,需要明确的知道Nagios是如何监控LINUX服务器的。他们是通过NRPE addon实现交流的。NRPE addon包括了两个部分,nrpe_check和nrpe_daemon。nrpe_check在nagios服务器端,通过ssl连接到nrpe_daemon上,远程的调用linux服务器上的nrpe plugin上定义的命令,就可以获得远程服务器的各种信息。

132003678.png


因此,Nagios服务器端需要安装 Nrpe addon , 而远程服务器需要安装 nrpe addon和 nrpe plugin。


我的nagios服务器和远程服务器都是Debian


以下是客户端(远程服务器)的安装:


1. 首先是预安装相关的程序

sudo apt-get install make gcc g++

sudo apt-get install libssl-dev

sudo apt-get install snmpd

sudo apt-get install snmp scli tkmib

sudo useradd -p nagios *PASSWORD*


2. 然后就可以下载最新的nagios plugin文件,并进行解压


cd /downloads

sudo wget http://internode.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.**.tar.gz (** = latest version)

sudo tar -xzvf nagios-plugins-1.4.**.tar.gz

cd nagios-plugins-1.4.13


检测库文件,测试,安装


sudo ./configure

sudo make

sudo make install


他的默认安装路径是 /local/usr/nagios, 也可以第一步手动确认 ./confgure –prefix=/usr/local/nagios

安装完以后的访问权限是 root root 权限,我们需要把它改成nagios nagios

sudo chown -R nagios:nagios /usr/local/nagios/

最后我们需要安装xineted,并将nrpe作为他的一个服务运行。

sudo apt-get install xinetd


3. 客户端安装nagios addon


下载解压

cd /usr/src

sudo wget http://waix.dl.sourceforge.net/sourceforge/nagios/nrpe-2.**.tar.gz (** = latest version)

sudo tar -xzvf nrpe-2.**.tar.gz

cd nrpe-2.12


安装

需要值得一提的是第一步 sudo ./configure, 我发现2.14, 2.15版本的文件无法通过解析,会报错ssl library无法找到,解决的办法如下:

#dpkg -L libssl-dev (他会显示我的libssl.so位于/usr/lib/x86_64_linux_gnu)

#./confiugre --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64_linux_gnu


如果是低版本的例如2.12,直接运行以下命令即可


sudo ./configure

sudo make all

sudo make install-plugin

sudo make install-daemon

sudp make install-daemon-config

sudo make install-xinetd


至此安装完毕。下一步是修改配置文件


4.修改客户端的nrpe文件

因为我们是通过xinetd来运行nrpe,所以授权的nagios服务器是在/etc/xinetd.d/nrpe中配置,如果没有安装xinetd,那么端口和运行的服务器则是在/usr/local/nagios/etc/nrpe.cfg中配置


sudo vim /etc/xinetd.d/nrpe

and add to only_from= your Nagios server IP


133749411.png


记得将5666端口加入services

sudo echo "nrpe 5666/tcp #NRPE" >> /etc/services (MUST run as ROOT).


5 最后我们还得来配置/usr/local/nagios/etc/nrpe.cfg文件。前面说了,端口号和服务器不用在这里配置了,但是nrpe daemon调用的命令还需要在这里定义。


这些命令都可以手动的执行看看是否工作

134422345.png


最后需要重启xinetd服务

sudo /etc/init.d/xinetd restart


测试一下,这里可以看出nrpe是独立运行还是基于xineted的服务运行的

sudo netstat -l | grep nrpe

ps aux | grep nrpe

netstat -nap | grep nrpe

134843794.png


Linux 客户端的安装基本完成了


6. Nagios主机上不需要daemon,所以安装plugin即可,第3步的操作再运行一次


sudo wget http://waix.dl.sourceforge.net/sourceforge/nagios/nrpe-2.**.tar.gz (** = latest version)

sudo tar -xzvf nrpe-2.**.tar.gz

cd nrpe-2.12

sudo ./configure

sudo make all

sudo make install-plugin


接下来是配置nrpe

首先看看nrpe的语法

/usr/local/nagios/libexec/check_nrpe -h|less

141713213.png

看了语法,我们就可以在对应的command.cfg里面进行配置了

比如说 vim /etc/nagios3/command.cfg

143850201.png


$USER1$是在/etc/nagios3/resources.cfg里面定义的路径

相当于调用 /usr/local/nagios/libexec/check_nrpe

-H 是当前指向的远程服务器

-c 是执行命令远程服务器上的命令

$ARG1$ 是命令的名字

这里定义之后,在对应的server.cfg中就可以配置services


例如,sudo vim /etc/nagios3/objects/au_servers.cfg


145104922.png


check_nrpe!check_swap

check_nrpe是在nagios服务器/etc/nagios3/command.cfg中定义的, !表示远程调用daemon的程序,check_swap则是第6步在远程服务器上/usr/local/nagios/bin/nrpe定义的



另外一个例子是

144542361.png

这个command会远程的调用window 客户端 (nsclient++)里面定义的CheckMem以便查看物理内存

具体的语法定义如下

http://www.nsclient.org/nscp/wiki/CheckSystem/checkMem










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1297683,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: