基于nagios网络监控管理系统的设计与实现毕业设计论文(编辑修改稿)内容摘要:

系统中应用和服务的状态,发现系统性能的瓶颈,进行自动处理或告警,保证整个业务系统高效、可靠地运转,减轻管理人员的工作强度,提高工作作效率,减少因故障带来的损失,有效的保障了企业的整体利益。 主流监控软件的比较和研究 在启动本校园网络监控系统项目之前,对当前主流的监控软件进行了比较调查,主要有 HP OpenView 和 IBM TiVoli 等商业软件、国产的SiteView ECC 以及开源软件 Cacti 和 Nagios,其中 OpenView、 Tivoli 和Siteview ECC 都曾在上述为例的证券公司某应用系统的实际监控工作中进行过实验性的配置。 作为商用软件,为了达到最佳的兼容性, OpenView、Tivoli 和 SiteView ECC 都使用 SNMP 一协议来实现网络监控和管理功能,其中 Tivoli 可视为 OpenView 的更新和扩展。 而开源监控软件 Cacti 和Nagios 各有所长, Cacti 胜在界面美观,可以方便的生成各类图表,非常适合用来监控网络流量、 Cpu 使用 率、硬盘空间等持续变化的动态项目。 而 Nagios 则擅长同时监控大量服务器上的服务是否运行正常,并提供多种报警手段。 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 9 OpenView 和 Tivoli 作为老牌的监控软件,提供了大而全的解决方案,但由于产品本身过于复杂,更注重网络管理方面的应用,在配置和使用过程中必须经过系统的学习,且具有一些内在的缺点,不适合作为单纯的大规模应用监控平台来部署。 SiteView ECC 作为一款国产软件,从界面到操作都非常人性化,易于上手,支持分布式部署,可通过 SNMP 协议监控大量主机运行情况,但其也具有监控指标单一、定制性 扩展性较差、新增监控项受到产品授权约束等缺点,且在实际使用中表现一般,尚无法满足通用监控平台的要求。 开源监控软件 Cacti 的工作逻辑较为简单,通过 SMNP 协议获取主机信息后进行保存和图形化描述,直观形象,但其功能较为单一,扩展性较差,在大规模监控和报警管理等方面均存在较多不足。 同样是开源软件的 Nagios 提供了不同的思路,其摒弃了使用传统而复杂的 SNMP 协议,转而使用监控客户端与服务端配合工作的机制,实现了简单而有效的监控手段,通过将监控插件与程序本体分离的做法,提供了极佳的监控扩展性和便利性,更出于其 系统资源占用小、支持分布式架构、强大的主机服务状态监控能力和丰富的报警手段,使得其非常适合作为校园网络和企业内部通用应用监控平台。 虽然 Nagios 也存在文本配置不够人性化、界面功能较为简单、对性能图表绘制能力较差的缺点,但由于其本身具备高可定制性的特点,因此可在实际应用过程中根据需要对其进行扩展。 nagios 监控系统的 介绍 官方网站介绍: nagios174。 is a system and work monitoring application. It watches hosts and services that you specify,alerting you when things go bad and when they get was originally designed to run under Linux, although it should work under most other unices as well. Some of the many features of Nagios include: ( 1) Monitoring of work services (SMTP, POP3, HTTP, NNTP, PING, etc.) 监控网络资源 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 10 ( 2) Monitoring of host resources (processor load, disk usage, etc.) 监控主机资源 ( 3) Simple plugin design that allows users to easily develop their own service checks ( 4) Parallelized service checks ( 5) Ability to define work host hierarchy using parent hosts, allowing detection of and distinction between hosts that are down and those that are unreachable ( 6) Contact notifications when service or host problems occur and get resolved (via , pager, or userdefined method) ( 7) Ability to define event handlers to be run during service or host events for proactive problem resolution ( 8) Automatic log file rotation 自动日志轮滚 ( 9) Support for implementing redundant monitoring hosts 支持冗余 ( 10) Optional web interface for viewing current work status, notification and problem history, log file, etc. Nagios 是一款开源的免费网络监视工具,能有效监控 Windows、 Linux和 Unix 的主机状态,交换机路由器等网络设置,打印机等。 在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 同时 Nagios 是一个监视系统运行状态和网络信息的监视系统。 Nagios 能监视所指定的本地 或远程主机以及服务,同时提供异常通知功能等。 Nagios 可运行在 Linux/Unix 平台之上,同时提供一个可选的基于浏览器的 WEB 界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。 Nagios 的功能是监控服务和主机,但是它仅仅是整个监控体系的框架,真正对服务的监控和检测功能都是由其调用插件来实现的。 作为监控系统,发现问题必须能够通过声、光、电等报警手段提示管理员及时处理,因此通知和报警也是 NagiOS 的重要功能之一。 Nagios 的主要功能包括 : ( 1) 对常见的网络服务进行监控 (PING.、 HTTP、 SMTP、 POP FTP 等 )。 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 11 ( 2) 监控主机木地资源 (处理器负荷、内存使用、用户登录数、服务进程数、磁盘空间等 )。 ( 3) 提供接口以便用户编写专有检测插件来实现对特殊服务的检测。 ( 4) 具备定义网络分层结构的能力,可以表达出网络主机间的层次关系,并利用这种关系来分辨主机的宕机或不可达状态。 ( 5) 支持通过标准接口编写脚本,在服务或主机发生问题时使用多样化的手段将告警信息发送给指定联系人或群组 (EMail、短信、 MSN、 等自定义方式 )。 ( 6) 自动的日志一记录和保存查询功能。 ( 7) 支持通 过结构扩展来实现对主机的冗余监控。 ( 8) 提供方便的 WEB 界而用于查看监控状态、故障通知和日志文件。 ( 9) 可通过 WEB 界而进行常用监控命令操作 : ( 10) 支持分布式部署,可以应用于大规模和多网络层次的环境中。 ( 11) 可选的时间段检查:可以自定义时间周期对服务器检查;颗粒度为秒,周期可由管理员自行定制。 ( 12) 外部命令界面,通过事件操作者 ,网络界面和第三方的应用,允许在传输过程中有修改监控和通知的行为。 nagios 监控系统的工作原理 Nagios 通常由一个主程序 (Nagios)、一个插件程 序 (Nagiosplugins)和四个可选的 ADDON(NRPE、 NSCA、 NSClient++和 NDOUtils)组成。 Nagios的监控工作都是通过插件实现的,因此, Nagios 和 Nagiosplugins 是服务器端工作所必须的组件。 各插件具体描述如下: ( 1) NRPE:用来在监控的远程 Linux/Unix 主机上执行脚本插件以实现对这些主机资源的监控 ( 2) NSCA:用来让 被监控的远程 Linux/Unix 主机主动将监控信息发送给 Nagios 服务器 (这在冗余监控模式中特别要用到 ) ( 3) NSClient++:用来监控 Windows 主机时安装在 Windows 主机上的组件 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 12 ( 4) NDOUtils:则用来将 Nagios 的配置信息和各 event 产生的数据存入数据库,以实现 这些数据的快速检索和处理 这四个 ADDON(附件 )中,NRPE 和 NSClient++工作于客户端, NDOUtils 工作于服务器端,而 NSCA 则需要同时安装在服务器端和客户端。 各插件关系如下图 21 所示。 图 21 Nagios 监控各插件关系示意图 Nagios 主程序根据预先配置好的信息对所有需要监控的项目计算出一张计划表,在什么时间需要对哪台主机或服务进行检测,等到达这个时点时它将调用指定的检测插件,由这个插件来检测主机或服务并返回个明确的状态代码给 Nagios 守护进程。 Nagios 将此信息暂存在一个待处理信息的队列中,定期扫描这个队列,从中取出检测的结果信息进行分析,并按照程序逻辑来做适当的动作 (比如发出告警、记录日志、执行命令等等 ),就这样周而复始的完成整个监控过程。 Nagios 对主机和服务的监控有以下几种 : 直接监控就是由 Nagios 监控主机使用本地监控插件通过网络直接对被监控机的开放服务进行监控。 这也是所有监控模式中最为简单的一种,具有以下特点 : 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 13 ( 1) 监控模式简单,配置简便,只需在监控主机上根据需要的监控项进行配置即可。 ( 2) 只能监控开放服务,无法探测到被 监控机上的本地信息。 ( 3) 要求监控主机和被监控机之间的网络端口直接可达,例如要监控A 主机的 FTP 服务, B 主机的 HTTP 服务, C 主机的 SSH 服务及所有主机的开机情况,则监控主机分别到达这些主机的 Ping、 FTP、 HTTP、 SSH 端口必须打开,否则无法进行直接监控。 ( 4) 系统负载集中在监控主机上,所有的监控工作和信息处理都是由主机完成的,被监控机只是按照正常的业务逻辑响应来自监控主机的探测,是“被动”的参与整个监控工作。 直接监控示意图如下图 22 所示。 图 22 Nagios 直接监控示意图 Linux 主机插件监控 对于像磁盘容量、 Cpul 内存利用率这样的本地信息,只有本机上具有相应权限的程序才能取得。 Nagios 监控程序也只能检测到自己所在的监控主机上的信息,而无法直接读取其他被监控主机上的信息。 因此 Nagios提供了一个附加插件 NRPE 来完成对远程 Linux 主机本地信息的监控。 NRPE 的工作原理 如下图 23 所示。 基于 nagios 网络监控管理系统的设计与 实现 毕业设计(论文) 14 图 23 NRPE 的工作原理 NRPE 由两个模块组成 : 1. Check_nrpe 插件,此插件安装于监控主机上。 2. NRPE 进程,运行在远程的被监控 1inux 主机上。 NRPE 的工作原理 Nagios 监控主机发起对某个远程 Linux 被监控机的监控时 步骤如下: ( 1) Nagios 主程序调用 check_nrpe 插件,通知其向指定的远程被监控机送出监控指令。 ( 2) CheCk_nrpe 插件通过 SSL 会话 (专用端口 )连接到该指定远程主机上的 NRPE 进程,将需要执行的监控指令传递过去。 ( 3) 远程被监控机上的 NRPE 进程收到指令后,按要求调用本地的NagioS 监控插件来执行具体的检查任务。 ( 4) 检查工作完毕,远程被监控机上 NRPE 进程将检查的结果返回给调用它的 CheCR_nrpe 插 件,再山 check_nrpe 插件将此返回结果提交给Nagios 主程序进行后续处理。 特别注意到两点 : ( 1) 在被监控机上, NRPE 进程只是负责接受指令和传递监控信息,其本身不做任何监控工作,对远程 Llinux 主机的监控同样需要 Nagios 插件安装在本机上。 ( 2) 这种监控模式下,监控主机和被监控机之间的通讯被整合为check_nrPe 插件和 NRPE 进程之间的单一通讯,而这个端日是唯一指定的。 引此,只需开通监控主。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。