您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Nagios监控系统简介
Nagios网络监控系统概述.....................................................................................................................................1主要功能.............................................................................................................................1实现原理.............................................................................................................................2监控方式.............................................................................................................................2操作对象.............................................................................................................................3插件.....................................................................................................................................6分布式监控.........................................................................................................................7绘制性能数据.....................................................................................................................8系统需求...........................................................................................................................12其他外部构件...................................................................................................................12版权...................................................................................................................................13概述Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户。它是基于GPLv2开发的开源软件,可免费获得及使用。Nagios原名为NetSaint,由EthanGalstad开发并维护至今。NAGIOS是一个缩写形式:NagiosAin'tGonnaInsistOnSainthoodSainthood翻译为圣徒,而Agios是saint的希腊表示方法。Nagios被开发在Linux下使用,但在Unix下也工作得非常好。(摘自维基百科)主要功能Nagios主要功能列表如下:网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)主机资源监控(CPUload、diskusage、systemlogs),也包括Windows主机(使用NSClient++plugin)可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)可以通过配置Nagios远程执行插件远程执行脚本远程监控支持SSH或SSL加通道方式进行监控简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shellscripts、C++、Perl、ruby、Python、PHP、C#等)包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)可并行服务检查能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查当服务或主机出现问题时发出通告,可通过email,pager,sms或任意用户自定义的plugin进行通知能够自定义事件处理机制重新激活出问题的服务或主机自动日志循环支持冗余监控包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等实现原理处于网络中的各种服务器需要管理和维护,管理员不可能及时对每一台的状态都进行监控,这时候当然需要借助软件的功能来实现了。Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来,并且可以通过邮件或短信方式通知管理员,以供管理员及时发现故障。监控方式Nagios监控方式有两种,一种是利用ssh方式,执行Nagios的check_by_ssh来执行被监控服务器上的插件程序,从而获取相关的信息。但是这种方式,当运用于监控上百台服务器时,由于ssh连接的建立和中断,会对Nagios服务器产生高负载现象,所以不建议使用,它的优点在安全性高。另外一种方式,是常用的方式。就是在被监控的服务器上安装监控引擎,对于Linux/Unix的服务器监控引擎为NRPE监控引擎,对于windows服务器监控引擎为NSClient++,实现原理一致,我们以NRPE监控引擎为例进行说明。【NRPE监控引擎】Nagios服务器通过check_nrpe的程序,利用ssl通讯模式调用nrpe获取本地相关数据信息,可以使用Nagios的大多数监控插件,监控自身的状态变化,还可以拓展应用监控其它服务器的开放服务。NRPE总共由两部分组成:check_nrpe插件,位于在监控主机上NRPEdaemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1、nagios会运行check_nrpe这个插件,告诉它要检查什么;2、check_nrpe插件会连接到远程的NRPEdaemon,所用的方式是SSL;3、NRPEdaemon会运行相应的nagios插件来执行检查;4、NRPEdaemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。注意:NRPEdaemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控。通过NRPE的检测分为两种:1、直接检测:检测的对象是运行NRPE的那台linux主机的本地资源;2、间接检测:当运行nagios的监控主机无法访问到某台被监控机,但是运行NRPE的其他机器可以访问到时,NRPE就可以充当一个代理,将监控请求发送到被监控机。【NSClient++监控引擎】windows操作系统的服务器,使用NSClient++插件进行监控的效果图如下:操作对象对象是指所有在监控和通知逻辑中涉及到的元素,nagios系统的操作以对象为元素,对象的定义通过配置文件完成,nagios系统读取配置文件,加载各种对象完成监控及报警等功能。对象的类型包括:服务服务组主机主机组联系人联系人组命令时间周期通知扩展通知和执行依赖关系主机是监控逻辑中的核心对象之一。主机的重要属性有:主机通常在网络中的物理设备(如服务器、工作站、路由器、交换机和打印机等);主机有某种形式的地址(象IP或MAC地址);主机有一个或多个绑定的服务;主机与其他的主机间可以有父/子节点的关系,通常反应出真实世界里的网络联接关系,而联接关系会在网络可达性逻辑中用到。主机组是一台或多台主机组成的组。主机成组可以如下工作更简单(1)在Nagios的Web接口里查看相关的主机状态(2)使用对象定义决窍来简化配置服务是监控逻辑中的一个核心对象之一。在主机上的服务用户可以:主机的属性(CPU负荷、磁盘利用率、启动时间等);主机提供的服务(HTTP,POP3,FTP,SSH等等);其他与主机有关的信息(DNS记录等);服务组是一个或多个服务组成的组。服务组可以对如下工作更简单(1)在Nagios的Web接口里查看相关的服务状态(2)使用对象定义决窍来简化配置。联系人是那些涉及到通知过程中的人:有多种通知联系人的方法(对讲机、BP机、EMail、即时信息等);联系人收到的通知来自于其负责的主机或服务;联系人组是一个或多个联系人组成的组。联系人组可以简化在主机或服务故障时负责的人员划分。时间周期用于控制:主机或服务被监控的时间;联系人可接收通知的时间;命令是指出Nagios用哪个程序、脚本等,它必须可执行后完成:主机和服务检测通知事件处理和其他...插件与其他的监控工具不同,Nagios的内在机制中不包含针对主机和服务状态的检测,而是依赖于外部程序(称为插件)来做这些脏活。插件是编译的执行文件或脚本(Perl脚本、SHELL脚本等等),可以在命令行下执行对主机或服务的状态检查。Nagios运行这些插件的检测结果来决定网络中的主机和服务的当前状态。当需要检测主机或服务的状态时Nagios总是执行一个插件程序,插件总要做点事情(注意一般条件下)来完成检查并给出简洁的结果给Nagios。Nagios将处理这些来自插件的结果并做些该做的动作(运行事件处理句柄、发送出告警等)。插件扮演了位于Nagios守护程序里的监控逻辑和实际被监控的主机与服务之间的抽象层次。在插件构架之上你可以监控所有你想要监控的东西。如果你能自动地处理检测过程你就可以用Nagios来监控它。已经写好很多插件以用于监控基础性资源象处理器负荷、磁盘利用率、PING包率等,如果你想监控点别的,你需要自己来书写插件。在插件构架之下,事实上Nagios也不知道你想要搞些什么名堂。你可以监控网络流量态势、数据错包率、房间温度、CPU电压值、风扇转速、处理器负载、磁盘空间或是有可能在早上起来你的超级无敌的面包机烤出正宗的色泽。Nagios不会理解什么被监控了,它只是忠实地记录下了这些被管理资源的状态变化轨迹。只有插件自已知道监控了什么东西并如何完成检测。有许多插件可用于监控不同的设备和服务,包括:HTTP、POP3、IMAP、FTP、SSH、DHCPCPU负荷、磁盘利用率、内存占用、当前用户数Unix/Linux、Windows和Netware服务器路由器和交换机等等分布式监控Nagios可以配置为分布式监控网络服务与资源,安装一个分布式监控环境的主旨是要降低整体消耗(CPU利用率等),通过一个或多个分布服务器检测并将结果送给中心监控服务器来实现这一目的。不少小型或中型的系统将不会用到这种环境,然而,如果要Nagios监控上百台的主机乃至上千台主机(和几倍于它的服务个数)时,这就变得非常重要了。分布服务器的功能是真正地完成你所划
本文标题:Nagios监控系统简介
链接地址:https://www.777doc.com/doc-5595181 .html