基于Django的设备运维系统设计与实现网络工程专业.docx
摘要1Abstract2前言3第1章绪论41.1 选题原因及意义41.2 现状分析41.3 设计的主要内容41.4 本文的组织结构5第2章关键技术概述62.1 Web开发技术62.1.1 基于Python的Django框架62.1.2 BoOtStraP框架72.2 后台交互技术82.2.1 PythOn的语言特点82.2.2 MySQL数据库简介92.3 本章小结9第3章设备运维系统需求分析与系统设计103.1 系统功能模块需求分析103.2 系统的整体设计113.2.1 系统的网络架构113.2.2 系统的总体结构123.3 系统数据建模133.4 系统性能需求分析143.5 本章小结14第4章设备运维系统的实现154.1 搭建基础框架154.2 创建数据库154.3 主要功能模块的实现184.3.1 用户登录验证184.3.2 资产管理模块实现204.3.3 主机管理模块实现244.3.4 监控系统模块实现264.3.5 权限管理模块实现284.4 本章小结30第5章总结与展望315.1 总结315.2 展望31参考文献33致谢错误味定义书签。当今我国科技发展迅速,企业逐步推进IT技术的部署,增强信息化建设,日常事务处理更加依赖于计算机操作,对系统功能要求更加复杂,需要相关的运行维护人员对网络设备进行维护。传统的人工维护的管理方式单一且耗时费力,采用设备运维系统则可以大大提高设备运维的高效便捷,从而降低人力成本。本文主要介绍设计基于Django框架的设备运维系统,以web界面进行批量管理运维,具有资产管理、主机管理、监控系统、用户权限管理等功能模块,实现自动高效化的运维管理方式。关键词:Django;Python;系统运维;网络管理AbstractNowadays,withtherapiddevelopmentofscienceandtechnologyinourcountry,enterprisesaregraduallyadvancingthedeploymentofITtechnology,strengtheninginformationconstruction,anddailyoperationsaremoredependentoncomputeroperations.Thefunctionalrequirementsofsystemaremorecomplex.Relatedoperationsandmaintenancepersonnelarerequiredtomaintainthenetworkequipment.Thetraditionalmanualmaintenancemanagementmethodissingle,time-consumingandlabor-consuming.Adoptingtheequipmentoperationandmaintenancesystemcangreatlyimprovetheefficiencyandconvenienceoftheequipmentoperationandmaintenance,therebyreducinglaborcosts.ThisarticlemainlyintroducestheequipmentoperationandmaintenancesystembasedontheDjangoframework.Itusesawebinterfaceforbatchmanagementandoperationandmaintenance.Ithasfunctionmodulessuchasassetmanagement,hostmanagement,monitoringsystem,anduserrightsmanagementtorealizeanautomaticandefficientoperationandmaintenancemanagementmethod.Keywords:Django;Python;Operation&Maintenance;NetworkManagement;前三随着计算机技术的快速发展,信息化建设的步伐越来越快,为了将人们从繁杂的事务中解脱出来,使事务的处理趋于条理化、高效化,各种类型的管理系统被设计开发出来并且投入使用,这给我们的日常生活带来了极大的便捷,但是为了系统的运行稳定,我们需要运维人员对这些网络设备及服务器进行维护。传统的人工维护都是在设备出现故障问题被反馈之后才进行维护处理,运维人员在系统搭建成功完毕后不会主动去频繁查看系统中各个设备的运行状态。这种情况使得运维人员的工作变得被动且单一。同时,企业的系统基础架构的规模在不断扩大,部署的IT网络设备不断增加,为了确保系统的稳定运行,运维人员需要监控系统中各个设备,这给运维人员带来的繁重的工作量。本文主要研究实现自动化的设备运维系统,可以实现自动添加设备,收集设备配置信息入库,批量管理设备,以及对设备运行健康状态的实时监控,通过Web管理的方式,使得运维人员可以批量管理设备,主动实时的维护设备,并且通过登录用户权限的管理,使得运维人员各司其职,工作互不干扰,从而大大提高工作效率,降低人为操作的失误风险,降低了运维的成本。第1章绪论本章内容介绍了开展这个课题设计的原因并且实现该课题设计的意义,分析了该设计方向的现状,以及概述了这个课题设计的内容。最后,介绍了本篇论文的组织结构。1.1 选题原因及意义选择本篇课题进行设计与实现的原因在于,现如今,应用系统的规模不断扩大,复杂程度逐步加深,IT运维需要尽快以自动化的运维方式取代传统的人工运维方式,设备运维自动化是未来运维管理的必然发展趋势,运维方式自动化可以极大提升对系统维护的可控制性,可以让运维人员清晰的查看到设备的运行状态,为系统的稳定运行提供了保障,实现自动化的设备运维模式,可以极大的降低人为操作失误的风险,并且可以大量减少运维人员重复工作,极大的降低人工成本,保障日常事务处理正常运作,有助于提高工作效率。1. 2现状分析现阶段,我国作为全球发展速度最快的国家,现代化建设迅猛推进,无论是政府组织还是企业、事业单位都在积极推进信息化建设,日常工作中处理事务越来越依赖于IT设备,因而运维人员需要确保系统的稳定,系统中各个设备的状态正常则是系统运行稳定的关键。传统的运维机制模式较为被动,在日常的运行维护过程中,当设备出现问题后,运维人员才会对相关的问题进行处理,使得相关负责的运维人员的工作繁重,同样使得工作效率低下。同时,传统的运维管理模式缺少对运维人员管理权限的定义以及负责相关设备责任的划分,导致在系统出现问题时难以快速准确的找到出现问题的设备,并且没法确保在出现问题时实时找到设备对应的负责运维人员。1.3 设计的主要内容本设计是基于Django框架的设备运维系统,以批量管理设备和充分利用资源为目标,以Web界面进行管理,采用用户登入接口,实现了资产管理、主机管理、监控系统、权限管理的功能模块,从而进行后台和网络设备的信息交互,为运维人员对系统设备进行管理提供极大便利。1.4 本文的组织结构本篇论文共分为五章内容,每章主要内容如下所述:第一章是绪论。绪论部分阐述了设计的原因及意义,对于设计研究方向的现状分析以及设计的内容和本文的组织结构。第二章是关键技术概述。关键技术概述部分列举了该设计开发过程中所使用到的关键技术,并对其进行简要描述,包括Web开发所使用的Django框架和前端开发的BootStraP框架,以及后台设备交互使用的脚本语言PythOn、MySQL数据库的简要介绍。第三章是系统需求分析部分。系统的需求分析主要进行系统功能需求分析,分为资产管理、主机管理、监控系统、权限管理四个主要功能模块,并且对各个功能模块进行了具体的需求分析,最后对系统进行性能需求分析。第四章是设备运维系统的设计和实现部分。这个部分描述了系统的整体架构,介绍了数据库和资产管理、主机管理、监控系统、权限管理四个主要功能模块的详细设计与实现。第五章是结束语部分。概括了本篇论文的主要内容,对本次设计所做的工作进行总结,反思了设计的不足之处及需要改进的部分,并对为未来发展方向展开设想。第2章关键技术概述本章主要阐述了系统所使用的关键技术,并对所采用技术的优势之处进行简要概述。2.1 Web开发技术网站架构采用的是基于Python的Web框架Django,前端实现采用的是来自Twitter的前端框架Bootstrap02.1.1 基于Python的Django框架DjangO框架是采用PythOn语言写成的Web应用框架,它采用MVC的结构,但是Django框架会自动处理由控制器Controller接受的用户输入的部分,网页服务器本身在派发工作的时候就隐含了控制的逻辑,网站框架中TenIPlatC模板文件的套用又是最常被使用的网页显示技巧,所以DjangO采用了MTV的框架模式,主要使用模型Modeh模板TemPlate和视图VieW三个部分搭配所形成的架构,这三个部分分别对应网站的数据储存model,py控制如何处理数据程序逻辑的view,py以及网站的模板文件组template,其中许多控制逻辑也被放在整个Django框架中。在基于DjangO框架的工程中,主要包括InOdelS.py,views,py,UrIS.py和html模板文件共四个python文件,一个标准App的模型类文件models,py主要用数据类来定义数据存储的结构,运用这个类,可以通过简单的Python的代码来对数据表中的记录进行增加、检索、更新、删除操作,不用关心实际上使用的SQL语句指令,并且提供访问数据库的APl接口。视图类文件VieW.py用来定义编写业务逻辑代码,主要是定义用来处理网页请求的函数,在函数中,把我们要操作的数据出送到网页服务器,这些在views,py中的函数被urls.Py进行对应和派发处理。访问逻辑控制文件urls.py,主要用来指出views.py中需要调用的视图。Django的程序执行流程如下:1.首先,使用PythOnmanage,pyrunserver命令启动服务器,将会载入同一目录下的settings.py文件。该文件的内容包含了项目中的配置信息,在文件中找到ROOTURLeONF的设置,决定将要使用哪一个模块,一般来说不需要修改这里的设置。2 .当访问URL的时候,Django会根据R00TJRLC0NF的设置加载URLconf03 .然后按照URLconf里的Urlpatterns的顺序,逐个匹配网址和正则表达式中的设置Patte门1。如果找到第一个匹配的设置后,则会调用VieWS.py里相关的视图函数,并把HttPReqUeSt的一个对象实例作为第一个参数4 .最后视图生成的数据调用urls.py中Urlpatterns中的HTML页面,返回一个HttpResponse对象实例。Django框架目的主要在于简便快速的开发数据库驱动的网站,注重组件的可重复性使用,为开发者搭建网站提供了极大便利,这是选用DjangO框架作为Web开发关键技术的缘由。2.1. 2Bootstrap框架BootStraP是目前很受欢迎的来自推特的前端框架,是开源的用于前端开发的工具包,其优点在于能兼容大部分JQuery插件。BOOtStraP基于HTML>CSS>JavaScript,它是简单直观的前端开发框架,让Web开发更简单迅速。Bootstrap由动态CSS语言Less写成,提供优雅的HTML和CSS规范,