基于Linux系统的Nagios网络管理模块的实现(四)

日期: 2008-08-20 作者:李晨光 来源:TechTarget中国 英文

下面通过一个监控远端服务器 CPU 负载情况的实例,研究如何实现通过 NRPE 来管理远端服务器。假设有一台远端服务器的 IP 是 10.20.0.110,Nagios 服务主机 IP 是:10.20.10.1。它们都已经安装上了 nagios 系统,主机通过 NRPE 检查运行中的服务器 CPU 的负载量,当负载量超过80%是发出警告(WARNING)报告,超过95%时发出紧急(CRITICAL)报告。在Nagios 的插件中存在 check_load -w $ARG1$ -c $ARG2$插件,通过查看其帮助,当 Nagios 调用它时,就会去检查对象主机的CPU负载,达到$ARG1$指定的数值时就会发出警告(WARNING),达到$ARG2$时发出紧急报告(CRITICAL)。


首先是在远端服务器上的修改:


1.让 Nagios 用户拥有对如下文件的所用权:






chown nagios.nagios /usr/local/nagios
chown –R nagios.nagios /usr/local/nagios/lib&#101xec


然后如果没有安装 xinetd,则先安装 xinetd。


2.按照 Nagios 文档安装好 nrpe 插件。


3.修改文件/etc/xinetd.d/nrpe:






only_from  = 127.0.0.1 10.20.10.1(这个是 Nagios 主机的 IP) 
nrpe 允许以上 IP 的机器通过 nrpe 查询服务


4.在/etc/service 文件里添加:






nrpe  5666/tcp  #nrpe
然后  service xinetd restart 


5.执行:netstat –at | grep nrpe


如果出现:tcp   0      0 *:nrpe   *:*    LISTEN 说明NRPE监听已经成功启动了


6.执行  /usr/local/nagios/lib&#101xec/check_nrpe –H localhost


出现 NRPE  v 2.8.1 则安装成功。


7.确认本地防火墙允许远端服务器访问 NRPE daemon:






iptables -IRH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT
service iptables save 


8.打开/usr/local/nagios/etc/commands.cfg,找到 check_load 服务,修改如下:






define command{
 command_name    check_server_load
        
 command_line    $USER1$/check_load -w 80% -c 95%
        
  } 


9.打开 /usr/local/nagios/etc/nrpe.cfg 可以看到里面已经默认定义了一些检测服务,如:






/usr/local/nagios/lib&#101xec/check_nrpe -H localhost -c check_users /usr/local/nagios
/lib&#101xec/check_nrpe -H localhost -c check_load /usr
/local/nagios/lib&#101xec/check_nrpe -H localhost -c check_hda1 


注释掉除 check_load 外的其它服务定义。


最后是 Nagios 主机上的修改:


1在 Nagios 主机上安装 nrpe 插件。


2打开/usr/local/nagios/etc/command.cfg添加如下行:






define command{
command_name check_nrpe
command_line $USER1$/check_nrpe –H 10.20.0.110 -c $ARG1$ 


3再在对象定义的配置文件里(host.cfg 文件),修改 host 为要检测的主机的 IP 地址,然后在服务中添加要检测的命令:






define service{
use linux-service
service_description remote_CPU_Load
check_command check_nrpe!check_load
}


4在 nagios.cfg 主配置文件中,cfg_file 值为 host.cfg,运行






/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
如果没有错就启动 nagios:
service nagios start(restart,stop)


5打开浏览器:http://主机 IP/nagios


可以看到所监控的远端机器的这个信息了(check_server_load的返回结果),参看图2.正常状态用绿色表示,一旦远端服务器负载超过 80%,状态信息就会变成红色警告管理员。


4.对 Nagios 系统的评价和建议


本文是对 Nagios 的远端监控功能的应用和研究,要想得到更加复杂的服务,还需要进一步的研究它的文档,并且不断的去尝试。和所有的网络管理工具一样,要想进行充分利用 Nagios进行全面的监控服务,需要进行相当复杂的设置,并且需要在运行时进行调整,以确保所提供的信息是正确的,这些都会随着对 Nagios 的进一步了解而慢慢容易起来。虽然Nagios 配置复杂,但是一旦配置成功后它的操作很简单,大部分是基于 web 的操作,而且易于扩展,这是它的两大特点。它还可以很轻松的与其他的工具进行整合和扩展,可以从其他的应用软件中接收数据,或者向一些报告引擎或者工具中发送数据等,例如,它可以借助 mrtg 软件来义图表的形式显示监控的服务状态,限于篇幅在此就不细说了。Nagios 是一个非常强大的工具,在它运行后,它能够让你的 IT 工作变得更加容易。而相比商业版的类似软件,它也具有低成本的优势。自然,最好的特点是由于它是开放源代码的软件,因此我们随时可以从整个 Nagios 社区中获得帮助,能够共享社区中的各种插件和经验。最后对使用 Nagios 系统提出一点建议。在使用 Nagios 之前,开始考虑需要监控哪些服务和主机,对它们进行统一的规划,首先对重要资源服务进行管理,接着再去实现对其它服务进行管理;在配置完 Nagios 后,保存其配置文档,做好必要的注释,这将会使所监控管理的资源和所运行的插件更加清晰,也方便其他人以后能够在已有 Nagios 上继续工作。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • 网络管理系统也要“量体裁衣”

    你也许考虑过用一根火柴或一个核反应堆来煮一个鸡蛋。对于这个工作来说,这两种方法都没有做到“量体裁衣”。

  • 网络流量与监控指南

    对企业的网络流量进行监控和分析是网络管理员的工作之一,如何才能对网络流量进行有效的管理?本技术手册包含了网络流量监控所面临的挑战、怎样为网络设备选择监控软件、以及如何使用网络监控工具进行网络流量的监控等。

  • Nagios实战全解(五):关键应用监控的重要策略

    前段时间有人问我怎么用nagios监控linux内存使用情况以及怎么设置报警阈值?linux运行时是最大可能的利用内存,监控这个对象没有现实意义,这些明显属于无效的监控策略……

  • Nagios实战全解(四):监控Mysql服务器

    监控Mysql需要在nagios和Mysql服务器这两个部分做处理:Mysql服务器安装nrpe、创建Mysql监控用户;配置nagios及用htpasswd创建浏览器验证帐号。下面分步描述。