Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios 可以监控的功能有:
监控网络服务(SMTP、POP3、HTTP、PING等);
监控主机资源(处理器负荷、磁盘利用率等);
简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;
自动的日志滚动功能;
可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;
插件:
nagios-plugins是nagios官方提供的一套插件程序,nagios监控主机的功能其实都是通过执行插件程序来实现的。
nagios本身并没有监控的功能,所有的监控是由插件完成的,插件将监控的结果返回给nagios,nagios分析这些结果以web的方式展现给我们,同时提供相应的报警功能(这个报警的功能也是由插件完成的)。
所有的这些插件是一些实现特定功能的可执行程序,默认安装的路径是/usr/local/nagios/libexec,可以自己查看。
使用NRPE监控LINUX上的”本地信息”
对系统为linux的主机进行如下监控:CPU负载、磁盘容量、登陆用户数、总进程数、僵尸进程数、swap分区使用情况。
对于像磁盘容量,cpu负载这样的”本地信息”,nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力。毕竟没得到被控主机的适当权限是不可能得到这些信息的。为了解决这个问题,nagios有这样一个附加组件----NRPE。用它就可以完成对linux类型主机”本地信息”的监控。
NRPE总共由两部分组成:
- check_nrpe 插件,位于在监控主机上
– NRPE daemon,运行在远程的linux主机上(通常就是被监控机)
当nagios需要监控某个远程linux主机的服务或者资源情况,一般过程:
1.nagios会运行check_nrpe这个插件,告诉它要检查什么;
2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL;
3.NRPE daemon会运行相应的nagios插件来执行检查;
4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。
注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.
通过NRPE的检测分为两种:
1).直接检测:检测的对象是运行NRPE的那台linux主机的本地资源,原理如下图
被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的.当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控.
2).间接检测:当运行nagios的监控主机无法访问到某台被监控机,但是运行NRPE的机器可以访问到时,NRPE就可以充当一个代理,将监控请求发送到被监控机(必须要说明的是,通常被监控机与监控机在同一网络内,所以这样的情况很少)
Nagios