版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计论文基于nagios网络监控管理系统的设计与实现摘 要大型企业和学校的IT信息系统,其规模往往非常庞大,服务器总数量可以达到1000-3000台之多,在日常的运行维护工作中,对这些服务器的运行情况进行监控和管理就是非常具有挑战性的工作。而高可用系统采用负载均衡等方式将故障节点对用户进行自动屏蔽,这种设计就要求监控系统必须及时发现故障点并通知处理。而Nagios是一个基于Linux平台的通用计算机服务监控系统。其具有松散藕合、跨平台、接口标准、高扩展性、可基于 协议灵活访问等特点。本课题立足于洛阳理工学院西区校园网,以开源网络监控软件nagios为基础,搭建校园网络监控系统。通过对开源网
2、络监控软件nagios的二次开发,实现可以满足自身校园网需求的网络监控系统。详细分析了nagios的架构原理、工作流程、强大报警和插件扩展方式的同时,也丰富了nagios的绘图效果,在原有的邮件报警基础之上,增加了飞信报警、声音报警功能,并且对主机和服务状态进行更直观的监控。关键词:通用,网络监控,监控利器nagios,报警 DESIGN AND IMPLEMENTATION BASED ON NAGIOS NETWORK MONITORING MANAGEMENT SYSTERMABSTRACTLarge enterprises and campus often has a large-sc
3、ale IT information system, it maybe have 1000 to 3000 servers. It's a very challenging work to monitor and manage these servers in daily operation and maintenance. High Availability system use load balance to shield the failed node automatically, this design require monitoring system must detect
4、 failures automatically. Nagios is a Linux-based general-purpose computer service monitoring system. It has loosely coupled, cross-platform, standard interface, highly scalable, flexible access via HITTP protocol Features. Based on west of luoyang institute of technology campus network, based on the
5、 open source network monitoring software nagios, build campus network monitoring system. Through the open source network monitoring software nagios of secondary development, can meet the demand of campus network of their own network monitoring system. In detailed analysis of the principle of the arc
6、hitecture of nagios, work process and at the same time, the way of a powerful plug-in extension also enriched the nagios alarm way, based on the original email alarm, increased the fetion alarm, voice alarm function, and the entire network traffic state more intuitive monitoring.KEY WORDS: General,n
7、etwork monitoring,monitor Nagios,alarming目录前言1第1章 绪论31.1 论文选题背景31.2 选题研究内容和意义51.3 本文的结构安排6第2章 监控系统及相关技术概述72.1 计算机网络监控系统概述72.2 主流监控软件的比较和研究82.3 nagios监控系统的介绍92.4 nagios监控系统的工作原理11第3章 基于Nagios网络监控系统的分析173.1 系统总体需求分析173.2 基于nagios网络监控系统的架构分析17第4章 基于nagios的校园网络监控系统的设计184.1 监控系统的基本功能模块设计18主机和主机组的管理18服务和服
8、务组的管理18时间规则的管理19用户和用户组的管理204.2 基于nagios的校园网络监控系统的对象论述20直接监控20通过客户端插件实现远程linux主机的监控21通过客户端插件实现远程windows主机的监控21nagios监控系统性能分析图表21第5章 基于nagios的校园网络监控系统的实现245.1 nagios监控系统的搭建24搭建前的准备工作24环境搭建启动相关服务25nagios监控系统的搭建25nagios监控系统的环境搭建275.2 使用nrpe插件监控linux主机上的本地信息30监控系统在被监控linux主机上的实现31监控系统在监控主机上的实现315.3 使用nsc
9、lient插件监控windows主机系统33监控系统在windows被监控主机上的实现33监控系统在windows监控主机上的实现345.4 使用snmp插件监控网络核心交换机365.5 nagios监控系统的报警功能37nagios监控系统使用邮箱报警37nagios监控系统使用飞信报警38第6章 基于nagios的校园网络监控系统的测试与分析40结论44谢 辞45参考文献46外文资料翻译47前言商业化的网络管理平台已经具备了比较完善的网络监测与管理功能,比较著名的商业化网络管理平台有惠普公司的 Open-View、IBM 公司的 NetView、SUN 公司的 SunNet Manager
10、等等。HP 的 OpenView 是一个跨平台的企业级的网络管理平台,它的最大特点是被第三方应用开发广泛接收,已经成为网络管理领域的领导者;IBM 的 NetView 是一个相对比较新,同时又具有良好兼容性的网络管理系统,它可以作为一个跨平台、即插即用的系统提供给用户,也可以作为一个开发平台,在上面开发新的网络管理应用;SUN 的 SunNet Manager 是第一个重要的基于 Unix 的网络管理系统,它主要作为开发平台而存在,仅仅提供很少的应用功能。网络管理软件也叫做设备管理软件,它有别于网络管理平台,是众多网络管理设备厂商为用户管理该厂家设备设计的管理软件。比较著名的网络设备提供商Ci
11、sco 公司针对自己的产品开发了 CiscoWork,它基于 SNMP 业界标准,利用嵌入式特征,在不同的异构性网络内提供 Cisco 管理方案。Quidview 网络管理软件是华为公司针对其数据通信设备进行统一管理和维护的网管产品,它为华为公司的数据通信设备产品提供了全网解决方案。在开源领域,现在也出现了很多出色的网络监测与网络管理软件。比较著名的Mrtg(Multi Router Traffic Grapher)是由 Tobias Oetiker 编写的一个监控网络链路流量负载的工具软件,它用 perl 编写的,源代码完全开放,可以运行在大多数 Unix 系统和Windows 系统之上,M
12、rtg采用了Simon Leinen编写的具有高可移植性的SNMP实现模块,不依赖于操作系统的 SNMP 模块支持。RRDTool 也是由 Tobias Oetiker 编写的监测网络流量负载的开源软件。RRDTool 使用 RRD 存储格式,可以定义任意时间段画图,可以任意处理 RRD 文件中的数据。RRDTool 的绘图功能非常强大,不过由于 RRDTool 的命令复杂繁多,缺少数据采集功能,因此不便于使用。Cacti 是一套完全面向 RRDTool 的 B/S 系统,它在 MySQL 数据库中存储了所有 RRDTool 创建图像时需要用到的信息,使用 snmpget 命令采集数据,使用R
13、RDTool 绘图。它的界面简洁直观,弥补了 RRDTool 命令复杂的缺点。此外,它还提供了强大的数据管理和用户管理功能。在图像管理上,Cacti 采用了树状结构的查看界面,用户还可以为某项监测内容建立模板,也可以导入别人做好的模板。Nagios 是一款开源的企业级系统监控软件,可以监控主机状态、服务状态,以及网络状态。对于不在默认监测范围的服务,可以通过自己编写插件实现监控。开源软件最大的优势是代码开放并且大多数是免费,用户可以根据自身监测需要,在开源网络监测软件的基础上打造自己的网络监测平台。开源网络监测软件也因此受到越来越多网络管理人员的青睐。本课题以校园网监测为研究对象,通过使用开源
14、网络监测软件 Nagios,在linux系统上建立基于开源软件 Nagios 的校园网监测系统。该监控系统实现了对校园网络状态的监控、cpu负载情况的监控、web服务器的运行状况监控,以图形化的友好界面进行显示,并安装了短信报警机制、邮件报警机制等功能。本课题为园区网络监控系统提供了基于开源网络监测软件的实施方案,在获得与商业网络监测系统相仿功能特点的同时,也缩短了独立开发网络监控软件的实周期,节约了开发成本;同时通过飞信和邮件的报警机制,使管理员能够动态知道校园网络的运行情况,服务器的负载情况,确保校园网络正常运转。 第1章 绪论1.1 论文选题背景随着高校扩招后的快速发展,校园网络的规模也
15、相应不断扩大,作为校园网络管理和维护人员,面对网络设备不断增多的情况下,传统的网络管理方法已经显得力不从心。以前网络规模小,故障少,处理简单,随着校园网经过一定时间的建设后,网络设备数量增多,型号多样,导致网络问题日益复杂化,问题层出无穷。 作为网络管理人员,最重要的任务就是要随时了解网络的运行情况。运行情况是否异常的最直观判断来自于对网络流量的监测,这是因为通过对网络出口和各主干网的流量进行监测,才能获得网络设备以及主干网的流量数据,对这些数据进行分析,就能发现整个网络运行情况是否异常,判断网络的故障,并根据所掌握的情况进行一些适当的调整。同时随着我国各行各业信息化的迅速普及,机房作为信息化
16、的重要标志其数量日益增多,银行、电信运营商等传统的 IT 大户自不必说,就是普通的大中企业.政府、院校以及大型医院等在机房建设的投入上也是日渐增多,机房的规模越来越大。而作为机房的主角-各种服务器的数量更是迅猛增加。怎样有效地管理好这么多的服务器成为摆在各 IT 部门面前的一道棘手的难题,在管理这些服务器的工作中有很重要一环是怎样实时监测它们的运行状态以及性能,如果单靠人工去监测这么多服务器显然既不科学也不现实。对于系统管理员来说,网络监控系统的意义和作用主要在于以下两点:一个是可以及时的关注到服务器的一些异常情况,并根据预设置的阀值进行告警,比如磁盘空间不足、CPU和内存利用率异常增高、运行
17、的进程突然增多等等。发现这些问题后,可以在业务尚能正常运行的情况下对潜在问题提前进行处理;还有一个是在较为复杂的应用环境中出现问题时,比如网络中断、应用程序出错、系统崩溃等情况发生时,面对大量服务器和应用程序,可以根据监控系统给出的告警信息快速定位到问题所在,为排除故障赢得宝贵的时间。随着高校数字化校园建设的深入, 校园网络信息服务的重要性日益彰显, 如何保证各种网络应用系统为此提供稳定可靠的服务, 是校园网络管理者所面临的重要课题. 校园网信息服务已从提供丰富的信息系统种类转变为提供高效而稳 定的信息服务。随着当前各行业对系统安全和灾难备份的逐渐重视,当前企业和中的服务器往往分布在不同的地域
18、,且根据安全级别的划分将应用部署于不同安全级别的网络分区内,常见的操作系统平台有AIX、 SCO UNIX,LINUX及各版本的Windows,还有Vmware、Hyper-V等虚拟机,其上运行了大量应用程序。部分关键业务系统己经部署了监控程序,但是往往存在以下局限性:(1)是所能监控的项目有限,局限于简单的CPU负载、内存使用、磁盘空间等项目;(2)是监控程序的局限性,即监控程序针对专门的应用程序进行开发,虽然通常具有高效可靠实时的优点,但是不能推而广之对其他的系统进行监控,因此仅能应用于部分核心系统;(3)是各个应用系统所专用的监控程序信息不能相互沟通,数量繁多,甚至需要整整一面监控墙来展
19、示各类监控信息,容易顾此失彼,造成遗漏和监控上的盲点;(4)是监控系统和应用系统部署之间的矛盾:传统监控程序要求能够直接探测到应用所在的服务端口远程读取SNMP等系统信息,在对网络安个要求较高的证券行业中的部署和安全性提出了挑战;基于以上情况,需要建设一套通用计算机服务监控系统来实现对企业中数量庞人的服务器进行全面监控,且监控目能够涵盖绝大部分主机及各类应用。因此,一个能够实时监测服务器系统的软件对于服务器管理人员就显得尤为重要。Nagios 就是一个运行于 Linux 系统上的开源服务器监控系统。它强大的功能可以实现对网络上的服务器进行全面的监控,包括服务器上运行的服务( Apache、My
20、SQL、FTP、DNS 和 sshd 等) 的状态和服务器系统资源的状态。1.2 选题研究内容和意义本课题以洛阳理工校园网监控为研究对象,通过使用开源网络监测软件 nagios,在linux系统上,建立基于开源软件 Nagios 的校园网监测系统。该监控系统实现了对校园网络状态的监控、cpu负载情况的监控、web服务器的运行状况监控、路由交换设备的监控等以图形化的友好界面进行显示,充分利用其报警功能,并安装了声音报警机制、邮件报警和飞信报警机制等功能。分析现有的各类应用监控系统,尤其是当前己经部署的各类监控系统的现状和不足,立足于洛阳理工校园网络,并服务整个校园网络为目标,研究并构建基于Nag
21、ios的网络监控管理系统,比较和探索采用新技术后在架构部署、工作方式等方面的改进、根据网络分布情况采用分别部署设计实现的方式方法以及关键技术问题的解决。具体研究内容包括:(1) 分析现有各类监控系统现状和问题,对当前主流的商业监控软件、开源监控软件进行比较和研究;(2) 介绍Nagios软件的技术特点,确立采用Nagios技术架构构建统一监控服务平台的必要性与意义;(3) 分析统一监控服务平台的整体需求,包括告警、处理流程和功能要求等;(4) 基于Nagios软件建立监控系统的基本技术架构,解决实现过程中可能遇到的技术问题;(5) 根据校园网络IT系统部署的实际情况,分析、规划和部署监控系统技
22、术架构,尽可能实现跨地域、多层次网络结构下的系统服务器监控平台,对实施过程中遇到的问题给出解决方法;(6) 根据校园网络的实际工作需求对监控系统进行附加功能设计,实现状态揭示、通知扩展、性能曲线绘制等功能。在设计和实施过程中将nagios与现有服务系统(如邮件系统、短信系统)进行了整合;(7) 针对校园网络中的部分特殊业务和监控需求对监控平台进行了定制扩展,尽力实现实际应用环境中通用性的目标;(8) 对比分析新建应用监控平台和原有监控系统,并就相互的优缺点评述该系统为校园网络IT运行管理工作带来的效率和水平等方面的提升。通过nagios技术架构构建校园网络级的统一应用系统监控平台,提供高可靠性
23、、及时的告警和处理:(1) 提供直观的用户界面,方便快速掌握整个校园网络内的系统运行情况,提高监控系统对应用程序的覆盖度;(2) 提供多样化的告警手段从而使维护人员能够及时获得报警信息;(3) 减少手工检查和监控的工作,提高工作效率,减少出错和遗漏的可能;(4) 减轻监控系统服务端的网络、处理负荷,从而有效的提升整个监控系统的运行效率及可靠性;(5) 采用成熟的框架技术,方便后续监控点的增加和维护,提供开放接口,便于自行开发定制监控插件。1.3 本文的结构安排论文共分六个章节,首先介绍了论文的背景情况、建设该系统的必要性,以及主要工作内容,之后介绍了nagios系统的相关概念和技术原理。然后对
24、统一监控平台进行了需求分析与设计,建立整体系统框架结构,在此基础上进行详细设计步并实现了系统的主要功能。最后对该系统的设计和实施情况进行了总结和展望。第2章 监控系统及相关技术概述2.1 计算机网络监控系统概述计算机网络监控系统是指通过计算机网络,对管理范围内的计算机运转情况进行探测、分析,并可视需要根据预先设定对某些预期情况进行报警的系统。其随着近些年企业网络规模逐步扩大、应用系统复杂化而逐渐被关注。随着现代社会的高度信息化进程,大到物流、小到餐饮的诸多企业都依赖计算机网络系统进行运转,而金融、银行、保险等信息密集型企业更是视计算机网络系统为生存的命脉。如果计算机系统尤其是IT数据中心的核心
25、系统失效或运行状态不佳,企业的业务数据就不能有效传递,使正常的业务流程受到影响,严重的更会给企业经营带来巨大损失,两年前某国有大型银行数据中心服务器故障导致整个业务系统停用大半天时间,就是一个很好的例子。因此,在大型企业的IT数据中心,如何保障各应用系统的正常运行,及早发现并排除潜在的故障隐患,管理好整个系统,成为管理人员必须面对的问题,而对现在网络规模越来越大、复杂度越来越高的管理压力,不得不付出极大的人力来对众多的系统进行管理。为使用最少的资源对整个企业中的应用系统进行有效维护,以保持其性能和可靠性,管理人员必须选择有效的网络监控系统来最大程度地发挥管理工具的价值,以减轻日常的重复性劳动和
26、工作压力,提高工作效率,将更多的精力用在系统管理上。随着高校扩招后的快速发展,校园网络的规模也相应不断扩大,作为校园网络管理和维护人员,面对网络设备不断增多的情况下,传统的网络管理方法已经显得力不从心。以前网络规模小,故障少,处理简单,随着校园网经过一定时间的建设后,网络设备数量增多,型号多样,导致网络问题日益复杂化,问题层出无穷。 作为网络管理人员,最重要的任务就是要随时了解网络的运行情况。运行情况是否异常的最直观判断来自于对网络流量的监测,这是因为通过对网络出口和各主干网的流量进行监测,才能获得网络设备以及主干网的流量数据,对这些数据进行分析,就能发现整个网络运行情况是否异常,判断网络的故
27、障,并根据所掌握的情况进行一些适当的调整。管理员经常会碰到的问题有:服务器设备硬件故障(包括磁盘阵列、网卡、电源或其他故障)、磁盘空间不足、内存和CPU使用率异常导致服务不响应或非常慢、操作系统故障,如常见的Windows系统蓝屏、应用程序意外崩溃或僵死导致服务中断,由网络设备、网络链路、运营商等问题引起的通讯中断,最终表现为业务系统无法正常运转,服务无法访问,冗余架构系统中的故障情况不能及时发现,延误了处理时间。随着业务系统数量不断增加,相互之间的融合交互日渐增多,应用架构体系越来越复杂,出现问题的概率也越来越高,使得管理员疲于奔命,却仍然无法及时发现和解决问题。因此,需要功能完善、安个可靠
28、、使用方便的网络监控系统来保证整个业务系统处于严密的监控之下。使用监控系统可以通过网络实现自动化的监控,实时查看全系统中应用和服务的状态,发现系统性能的瓶颈,进行自动处理或告警,保证整个业务系统高效、可靠地运转,减轻管理人员的工作强度,提高工作作效率,减少因故障带来的损失,有效的保障了企业的整体利益。2.2 主流监控软件的比较和研究在启动本校园网络监控系统项目之前,对当前主流的监控软件进行了比较调查,主要有 HP OpenView和 IBM TiVoli等商业软件、国产的SiteView ECC以及开源软件Cacti和Nagios,其中OpenView、Tivoli和Siteview ECC都
29、曾在上述为例的证券公司某应用系统的实际监控工作中进行过实验性的配置。作为商用软件,为了达到最佳的兼容性,OpenView、Tivoli和 SiteView ECC都使用SNMP一协议来实现网络监控和管理功能,其中Tivoli可视为OpenView的更新和扩展。而开源监控软件Cacti和Nagios各有所长,Cacti胜在界面美观,可以方便的生成各类图表,非常适合用来监控网络流量、Cpu使用率、硬盘空间等持续变化的动态项目。而 Nagios则擅长同时监控大量服务器上的服务是否运行正常,并提供多种报警手段。OpenView和Tivoli作为老牌的监控软件,提供了大而全的解决方案,但由于产品本身过于
30、复杂,更注重网络管理方面的应用,在配置和使用过程中必须经过系统的学习,且具有一些内在的缺点,不适合作为单纯的大规模应用监控平台来部署。 SiteView ECC作为一款国产软件,从界面到操作都非常人性化,易于上手,支持分布式部署,可通过SNMP协议监控大量主机运行情况,但其也具有监控指标单一、定制性扩展性较差、新增监控项受到产品授权约束等缺点,且在实际使用中表现一般,尚无法满足通用监控平台的要求。开源监控软件Cacti的工作逻辑较为简单,通过SMNP协议获取主机信息后进行保存和图形化描述,直观形象,但其功能较为单一,扩展性较差,在大规模监控和报警管理等方面均存在较多不足。同样是开源软件的Nag
31、ios提供了不同的思路,其摒弃了使用传统而复杂的SNMP协议,转而使用监控客户端与服务端配合工作的机制,实现了简单而有效的监控手段,通过将监控插件与程序本体分离的做法,提供了极佳的监控扩展性和便利性,更出于其系统资源占用小、支持分布式架构、强大的主机服务状态监控能力和丰富的报警手段,使得其非常适合作为校园网络和企业内部通用应用监控平台。虽然Nagios也存在文本配置不够人性化、界面功能较为简单、对性能图表绘制能力较差的缺点,但由于其本身具备高可定制性的特点,因此可在实际应用过程中根据需要对其进行扩展。2.3 nagios监控系统的介绍官方网站介绍:nagios® is a syste
32、m and network monitoring application. It watches hosts and services that you specify,alerting you when things go bad and when they get better.Nagios 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)Mo
33、nitoring of network services (SMTP, POP3, , NNTP, PING, etc.) 监控网络资源 (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 network host hierarc
34、hy 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 email, pager, or user-defined method) (7)Ability to define event handlers to be run d
35、uring 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 network status, notification and problem history, log file, etc.Nagios是一款开源的免费网络监视工具,能有效监控Win
36、dows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。同时Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。Nagios的功能是监控服务和主机,但是它仅仅是整个监控体系的框架,真正对服务的监控和检测功能都是由其调用插件来实现的。作为监控系统,发
37、现问题必须能够通过声、光、电等报警手段提示管理员及时处理,因此通知和报警也是NagiOS的重要功能之一。Nagios的主要功能包括:(1)对常见的网络服务进行监控(PING.、 、SMTP、POP3、FTP等);(2)监控主机木地资源(处理器负荷、内存使用、用户登录数、服务进程数、磁盘空间等);(3)提供接口以便用户编写专有检测插件来实现对特殊服务的检测;(4)具备定义网络分层结构的能力,可以表达出网络主机间的层次关系,并利用这种关系来分辨主机的宕机或不可达状态;(5)支持通过标准接口编写脚本,在服务或主机发生问题时使用多样化的手段将告警信息发送给指定联系人或群组(E-Mail、短信、MSN、
38、QQ等自定义方式);(6)自动的日志一记录和保存查询功能;(7)支持通过结构扩展来实现对主机的冗余监控;(8)提供方便的WEB界而用于查看监控状态、故障通知和日志文件;(9)可通过WEB界而进行常用监控命令操作:(10)支持分布式部署,可以应用于大规模和多网络层次的环境中。(11)可选的时间段检查:可以自定义时间周期对服务器检查;颗粒度为秒,周期可由管理员自行定制。(12)外部命令界面,通过事件操作者,网络界面和第三方的应用,允许在传输过程中有修改监控和通知的行为。2.4 nagios监控系统的工作原理Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和
39、四个可选的ADDON(NRPE、NSCA、 NSClient+和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。各插件具体描述如下: (1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控 (2)NSCA:用来让 被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)(3)NSClient+:用来监控 Windows主机时安装在Windows主机上的组件 (4)NDOUtils:则用来将Nagios的配置信息
40、和各event产生的数据存入数据库,以实现 这些数据的快速检索和处理 这四个ADDON(附件)中,NRPE和NSClient+工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端。各插件关系如下图2-1所示。图2-1 Nagios监控各插件关系示意图Nagios主程序根据预先配置好的信息对所有需要监控的项目计算出一张计划表,在什么时间需要对哪台主机或服务进行检测,等到达这个时点时它将调用指定的检测插件,由这个插件来检测主机或服务并返回个明确的状态代码给Nagios守护进程。Nagios将此信息暂存在一个待处理信息的队列中,定期扫描这个队列,从中取出检测的结果
41、信息进行分析,并按照程序逻辑来做适当的动作(比如发出告警、记录日志、执行命令等等),就这样周而复始的完成整个监控过程。 Nagios对主机和服务的监控有以下几种:1.直接监控直接监控就是由Nagios监控主机使用本地监控插件通过网络直接对被监控机的开放服务进行监控。这也是所有监控模式中最为简单的一种,具有以下特点:(1)监控模式简单,配置简便,只需在监控主机上根据需要的监控项进行配置即可;(2)只能监控开放服务,无法探测到被监控机上的本地信息。(3)要求监控主机和被监控机之间的网络端口直接可达,例如要监控A主机的FTP服务,B主机的 服务,C主机的SSH服务及所有主机的开机情况,则监控主机分别
42、到达这些主机的Ping、FTP、 、SSH端口必须打开,否则无法进行直接监控。(4)系统负载集中在监控主机上,所有的监控工作和信息处理都是由主机完成的,被监控机只是按照正常的业务逻辑响应来自监控主机的探测,是“被动”的参与整个监控工作。直接监控示意图如下图2-2所示。图2-2 Nagios直接监控示意图2.远程Linux主机插件监控对于像磁盘容量、Cpul内存利用率这样的本地信息,只有本机上具有相应权限的程序才能取得。 Nagios监控程序也只能检测到自己所在的监控主机上的信息,而无法直接读取其他被监控主机上的信息。因此 Nagios提供了一个附加插件NRPE来完成对远程Linux主机本地信息
43、的监控。NRPE的工作原理如下图2-3所示。图2-3 NRPE的工作原理NRPE由两个模块组成:1Check_nrpe插件,此插件安装于监控主机上;2NRPE进程,运行在远程的被监控 1inux主机上;NRPE的工作原理Nagios监控主机发起对某个远程Linux被监控机的监控时步骤如下:(1)Nagios主程序调用check_nrpe插件,通知其向指定的远程被监控机送出监控指令;(2)CheCk_nrpe插件通过SSL会话(专用端口)连接到该指定远程主机上的NRPE进程,将需要执行的监控指令传递过去;(3)远程被监控机上的NRPE进程收到指令后,按要求调用本地的NagioS监控插件来执行具体
44、的检查任务;(4)检查工作完毕,远程被监控机上NRPE进程将检查的结果返回给调用它的CheCR_nrpe插件,再山check_nrpe插件将此返回结果提交给Nagios主程序进行后续处理。特别注意到两点:(1)在被监控机上,NRPE进程只是负责接受指令和传递监控信息,其本身不做任何监控工作,对远程Llinux主机的监控同样需要Nagios插件安装在本机上;(2)这种监控模式下,监控主机和被监控机之间的通讯被整合为check_nrPe插件和NRPE进程之间的单一通讯,而这个端日是唯一指定的。引此,只需开通监控主机和被监控机之间的专用监控端口。通过这种方式可以解决跨网络区域进行直接监控时遇到的防火
45、墙策略过于复杂的问题,而月在日后增加或调整监控项目时无需再额外开通其他防火墙端口。根据NRPE的检测对象,又可以分为两种:(1)直接检测:检测的对象是运行NRPE的那台Linux主机的木地资源,既可以是磁盘容量这样的木地信息,也可以是运行在本机的各类服务甚至是在本地进行主机存活检.nrpe直接检测流程图如下图2-4所示。图2-4 NRPE直接检测(2)间接检测:当运行NagioS的监控主机无法访问到某台被监控机,但是运行NRPE的机器可以访问到时,NRPE就可以充当一个监控代理,通过它来监控远程被监控机。但是这种方式也有其局限性,因为这种情况下是由NRPE代理监控主机来对远程主机进行直接监控,
46、因此同样只能监控开放服务,无法探测到被监控机上的本地信息。Nrpe间接检测如下图2-5所示。图 2-5 NRPE间接检测3.对Windows平台的监控对于windows平台,Nagios提供了check_nt这个插件用米进行远程主机监控,其功能类似于Linux下的Check_nrpe,check_nt是主机上用来发出监控指令的组件,它还需要搭配另外一个WindowS客户端插件 NSCIient+(类似于Linux下的NRPE进程)来进行远程主机上的本地信息采集, NSCIient+的工作原理图如下图2-6所示。图 2-6 windows 平台的主机检测从图中可以以看到,NSClient+与NR
47、PE进程一个最大的区别就是: Linux被监控机上安装有NRPE进程,同时还必须安装检测插件,监控工作是由这些插件来执行的。当监控主机上的check_nrpe将监控请求发给NRPE,由被监控机上的NRPE调用本地插件来进行监控。而对于WindowS平台,被监控机上只需安装NSCLient+,无需其他任何的检测插件,当监控主机上的Check_nt将监控请求发送给 NSClient+后,由 NSCIient+直接在被监控机上完成全部检测工作。第3章 基于Nagios网络监控系统的分析3.1 系统总体需求分析洛阳理工学院的IT信息中心,拥有数量庞大的主机和服务器,重点监控的对象是支撑核心功能数据的关
48、键服务器,但主要停留在定期人工检查、屏幕截图与手工记录相结合的方式,仅能保证主要系统的日常运行需要。而对于非核心系统,只能采取定期(一周或一月)对服务器的运行情况进行常规人工检查,如磁盘空间,系统时间等项目,如有突发性的系统故障往往通过业务前端系统表现出来,缺乏主动监控和预警的手段。为了实现校园IT数据中心整体的运行监控管理,计划通过基于nagios网络监控管理系统项目的建设,构建一个统一、通用、全面覆盖、高可靠性的监控系统。3.2 基于nagios网络监控系统的架构分析Nagios 系统运行在中心服务器上,系统采用 Ubuntu Server。每一台需要监视的设备都会运行一个与 Nagios
49、 进行通信的后台程序。 Nagios 根据读取的配置文件中的指令与远程的守护程序进行联系,并且指示远程的守护程序进行必要的检查。 虽然这个应用程序必须在 Linux 或者 Unix 操作系统上运行,但被监视的设备可以是任何能够与其进行通信的硬件。Nagios 系统结构是监控系统中最复杂的,但 Nagios 同时也可以非常容易地与现有框架集成,因此 Nagios 被广泛地应用。 通过很多种方式与现有系统管理软件进行集成,完善管理软件,从而监控你所拥有的各类新型或用户定制的设备硬件、应用服务或是应用程序。 第4章 基于nagios的校园网络监控系统的设计4.1 监控系统的基本功能模块设计 主机和主
50、机组的管理主机被定义为存在于监控系统可达网络中的一个独立节点,它可以是服务器、工作站或路由器、防火墙、交换机等网络设备,也可以是网络打印机、虚拟机等。作为被监控的对象,在对其定义时需要涉及到多个要素:(1)主机名,用来唯一标识系统中的设备。(2)备注,起到注释作用,详细描述设备情况或用途。(3)地址,设备网络地址,用以监控主机通过网络与其进行通讯和连接。(4)监控时段,需要对该设备进行监控的时段,这里的时段将在后面的时间规则中进行定义。(5)联系人,也就是检测到此设各出了问题通知谁,这里的联系人将在后面的联系人规则中定义。(6)通知时段,监控到的信息,仅在此时间段内向联系人进行通知,这里的时段
51、将在后面的时间规则中进行定义。此外,还有很多可选项,例如在监控到哪些异常情况时才进行告警,或者为了避免偶尔的网络丢包造成误报,指定在多少次探测失败后再进行告警。主机组是指事先定义的由多台(类似的)主机构成的一组设备,通过对其的定义和引用可以使监控配置更简单明了。 服务和服务组的管理服务定义为在主机之仁运行的某种“应用”它既包括主机上实际运行的服务进程(如 ,FTP,POP3,SSH等),也可以是主机运行的系统参数(如CPU利用率、活动进程数、磁盘空间等),因此可将其理解为主机上具体的监控项目。与主机类似,定义时主要用到的要素有:(1)主机名,用来描述此服务是存在于哪台主机之类的。(2)备注,起
52、到注释作用,详细描述该服务的具体内容。(3)监控命令,对服务的检测通过具体的监控命令执行,这里既指定通过哪条命令执行对此服务的检测。(4)监控时段、联系人、通知时段等等,这些项目定义与主机类似,此处不再赘述。同理,为便于管理和维护,可将多个(相关的)服务定义为一个服务组。 时间规则的管理通过时间规则管理来定义各种监控项目所需要的时间段,在具体的监控项中对预定义的时间规则进行引用,清晰明了,也便于后期统一维护。这里的时间段可以是日期,也可以是一天中的具体时段,或者两者的混合体。同时,既可以定义规则生效的时间段(例如工作日),也可以定义规则不生效的时间段(例如节假日),还可以将两者嵌套起来使用。时
53、间规则由以下属性构成(1)名称,作为时间规则的唯一标识,也是时间规则被工监控规则引用时的标识,取名应简洁明了。(2)注释,起到注释作用,详细的对规则进行说明,便于管理人员了解某个具体时间规则的定义范围。(3)具体定义的时间段,时间段是整个时间规则中最核心的内容,通常由一组时间条目组成,每个条目的格式为指定日期加上该日期中的具体时段组成,这个具体时段给出这一天当中开始和结束的个具体时间段或多个时间段的组合。(4)时间段中日期的指定,本监控系统提供了极为灵活的定义方式,可以具体指定到某年某月某日,或者指定到每年、每月或者每周里的某一天或某几天,甚至是某个月的第几周的周几(国外的假日经常这样定义),
54、或者每隔几周的周几(多人轮班常见的定义)。对于我们理工学院来说,工作时间具有典型的以周为单位计时的特点(周一到周五(节假日除外)为工作日,周六日休息),因此使用一周作为循环计时单位更为合适。(5)特殊日期,这里设置的特殊日期所对应的通常是那些需要在日常规则中排除掉的时间段,当其被其他规则作为排除项进行引用时,则监控规则在这些日期上将不会生效,例如第四点中提及的需要设置为例外的节假日。无论是周几,一旦遇到这些节假日,则不进行监控动作。节假日均匀分布于一年之中,因此通常使用以年为周期的设置方式。对于固定日期的节日例如每年元旦、五一、十一,都有一个确定的日期,而有些农历节日如春节、清明、端午每年都不
55、相同。因此,实际的做法是:在每年年底,根据学校所公布的次年节假日休市安排进行全年节假日设置工作。 用户和用户组的管理本监控系统内涉及到两类用户的概念,一类是管理用户,即通过哪个用户,可以登入监控系统中查看监控信息,并根据需要进行某些前台控制操作;第二类是通知用户,即联系人的概念,系统检测到故障后需要向这个指定的联系人或群组发送通知。在实际的应用环境中,由于监控系统前端界面位于数据中心的监控室内,且有专人24小时职守,负责监控故障信息,不会出现多人混用的情况,因此不再特别对管理员用户进行身份鉴别和权限控制方面的设置,通常使用唯一的管理员身份进行监控和管理操作。4.2 基于nagios的校园网络监
56、控系统的对象论述 直接监控考虑到学校的实际应用环境,如果监控主机和被监控机不处于同一网段而是由于网络防火墙进行安全隔离的话,则在配置直接监控模式的同时必须要求开通监控主机和被监控机之间的网络防火墙端口,由于不同被监控机开放了不同的服务,因此规划对人规模主机进行监控时,对每台主机分别列出其需要开通的网络端口后,将形成一张规模庞大的访问策略列表,不但大大增加了网络管理员的工作量,而且.过多的策略也势必增加网络防火墙的工作负荷,更令人崩溃的是每当新部署一台打印记或添加一个应用或调整一个现有的服务端口,就需要在防火墙上重新调整原有的访问策略。当然也有偷懒的做法,就是直接开通此监控主机到达所有被监控主机
57、设备的所有端口的访问限制,在这种“透明”的网络环境下,可不受约束的配置各种监控项目,但这显然又违背了网络安全中“按需开通”的基木原则,实际操作中这是不被允许的。为了规避这个问题,可以把监控主机和被监控主机部署在同一个网络,但即便如此仍然无法监控到远程主机上的本地信息,因此仍然需要通过客户端插件来实现远程主机的完全监控。 通过客户端插件实现远程linux主机的监控在实际工作中,通常被监控机与监控机在同一网络内,或者通过开通网络防火墙能够直接访问到,所以需要设计成这种监控模式的情况很少。但是有一类场景非常适合于应用这种模式,那就是当我们不仅需要关注到每个被监控个体的运转情况,还要关心其相互之间的连接情况时,使用这种“模拟真实访问路径”的检测方式会非常有效。例如在典型的三层应用架构中,利用传统的监控布局,可以有效的监测到应用中间件服务器和数据库服务器的运行状况,但是如果中间件服务器和数据库服务器之间的连接出现了问题(比如网络防火墙异常阻断)或是连接配置的错误设置导致无法正常连接,此时的监控系统无法揭示问题所在。而如果应用了间接检测模式的话,就可以及时告警并通知用户处理,大大加快了问题排查的速度。 通过客户端插件实现远程windows
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信行业:6G概念及远景白皮书
- 企业融资协议2024格式
- 2024临时活动场地租赁协议样本
- 2024快递业务重要客户服务协议
- 2024手工礼品定制协议
- 2024年施工协议追加条款格式
- 二手房销售预订协议格式 2024
- 2024年度新款手机租赁协议文本
- 2024年建筑项目分包协议样本
- 2024年水泥管道建设协议范本
- 海澜之家特许经营协议合同
- 大众汽车入侵北美市场
- 建设银行员工劳动合同
- 水利水电工程专业毕业设计(共98页)
- 医院医用气体管路的设计计算(2014)
- 人教版统编高中语文“文学阅读与写作”学习任务群编写简介
- SQE质量月报参考格式
- 初中物理实验室课程表
- CTQ-2型支线接触网故障智能切除装置概述
- 砂石料取样试验标准与规范
- 运营管理已完毕第七讲库存
评论
0/150
提交评论