Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1108614
  • 博文数量: 143
  • 博客积分: 969
  • 博客等级: 准尉
  • 技术积分: 1765
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 12:09
文章分类

全部博文(143)

文章存档

2023年(4)

2021年(2)

2020年(4)

2019年(4)

2018年(33)

2017年(6)

2016年(13)

2014年(7)

2013年(23)

2012年(33)

2011年(14)

我的朋友

分类: 大数据

2016-08-20 14:18:57

 

Nagios

nagios简介

Nagios是一款开源的免费网络监视工具,能有效监控WindowsLinuxUnix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警,第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios功能

Nagios 可以监控的功能有:

?  监控网络服务(SMTPPOP3HTTPPING等);

?  监控主机资源(处理器负荷、磁盘利用率等);

?  简单地插件设计使得用户可以方便地扩展自己服务的检测方法;

?  当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);

?  可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;

?  自动的日志滚动功能;

?  可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等;

 

Nagios插件

nagios本身并没有监控的功能,所有的监控是由插件完成的,插件将监控的结果返回给nagiosnagios分析这些结果以web的方式展现给我们,同时提供相应的报警功能(这个报警的功能也是由插件完成的)

nagios-pluginsnagios官方提供的一套插件程序,nagios监控主机的功能其实都是通过执行插件程序来实现的。所有的这些插件是一些实现特定功能的可执行程序,默认安装的路径是/usr/local/nagios/libexec,可以自己查看。

 

Nrpe

对系统为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监控原理

 

Nagios监控有两种方式即被动监控和主动监控

 

1nagios通过nsca进行被动监控。

被动监测,是指由被监测的服务器主动上传数据到nagios监控系统中。这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态)。NSCA就是可以实现Nagios被动监测的一个程序。

 

 2nagios通过nrpe插件和snmp协议进行主动监控。

简单理解决就是nagios按照检测周期主动的获取远程主机的数据。这样一来实时性就要差一些了。nagios通过nrpe插件和snmp协议实现了对linux/unix服务器进行监控,同时通过snmp协议实现了对windows服务器、交换机、打印机等的监控。另外,nagios通过NSClient++客户端也可以对windows进行监控,

 

3nagios目前完全依赖于对配置文件的读写进行监控数据的展示与配置。

当然写数据库的操作nagios是不提供的,这个需要手工通过脚本等进行配置。但是NDOMOD模块的出现解决了nagios无法将数据写入到数据库的问题。提供NDOMOD模块的插件为NDOUtilsNDOMOD模块需要加载到nagios的配置中,NDOUtils插件通过运行NOD2DB进程将nagios的配置文件(.cfg)和status.dat进行分析,并将分析的结果写到mysql数据库中。

参考
http://www.ibm.com/developerworks/cn/linux/1309_luojun_nagios/
http://www.cnblogs.com/zhuhongbao/p/4174868.html

 

阅读(1121) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~