如何在Ubuntu16.04中用Apache部署Jenkins自动化服务器

如何在Ubuntu16.04中用Apache部署Jenkins自动化服务器,第1张

注意:本教程中使用的ISPConfig31版目前正处于测试状态下,ISPConfig31最终将在2016年6月发布,旧的ISPConfigoldstable305p9无法在Ubuntu1604中使用,而且不兼容PHP7。1初步说明在本教程中,使用的IP地址为1921681100和网关19216811主机名server1examplecom。这些设置可能与你的不同,所以你必须根据你的情况更换。进一步讨论之前,你需要有一个基本的最小安装。2编辑/etc/apt/sourceslist并更新Linux。编辑/etc/apt/sourceslist。注释掉或从文件中删除安装光盘,并确保库启用。应该是这样设置:nano/etc/apt/sourceslist内容如下:##debcdrom:[Ubuntu-Server1604LTS_XenialXerus_–Releaseamd64(20160420)]/xenialmainrestricted#debcdrom:[Ubuntu-Server1604LTS_XenialXerus_–Releaseamd64(20160420)]/xenialmainrestricted#See/ubuntu/xenialuniverse

在测试执行过程中,对测试结果的分析是一个需要进行深入思考的重点问题。分布式系统测试的重点在于对后端服务器集群的测试,而判定系统中是否存在Bug则是我们需要解决的重要问题。那么应该如何确定是否存在Bug呢?

对于测试结果的分析,我们通常观察下面几种情况。

观察前端应用的返回结果。这里需要分两种情况来考虑:第一,按照前端应用业务功能点及流程进行 *** 作,观察返回结果是否符合业务方的需求预期;第二, *** 作后端的服务器(通常是重启、宕机、断网等 *** 作),观察前端应用的返回结果是否符合系统的设计需求。

分析服务器日志。在功能测试过程中,当我们在启动服务器的时候,需要将日志级别定义为Debug级别(最低级别)。这样做的主要目的是为了能便于测试工程师来分析日志和定位问题。为了能更好地定位问题,常常需要在服务器程序代码中进行日志打桩,把程序中的一些重要数据通过日志的方式展现出来。通常情况下,我们需要对日志的格式进行约定,在日志行中增加一些关键字来进行分类,这将便于测试工程师进行日志分析,也有利于开展分布式系统的自动化测试。另外,值得注意的是,我们尽可能地将打桩代码放在Debug代码中,避免影响系统代码,引入新问题。

分析 *** 作系统的一些重要信息。我们测试的分布式系统绝大多数是基于Linux *** 作系统开发的,在测试的过程中,除了详细分析程序日志以外,还需要对 *** 作系统的一些重要数据信息进行分析,从而来诊断服务器程序是否存在异常。以Linux *** 作系统为例,我们常常会使用top命令、netstat命令及sar命令来查看 *** 作系统的一些数据信息。例如,可以通过netstat命令检查服务器程序是否正确地监听了指定的端口等。

借助其他分析工具。例如,如何判断服务器程序是否产生了内存泄漏?通常需要借助于内存检测工具来进行分析。在Linux环境下,我们常用Valgrind来进行内存检测。这是一款非常好用、功能强大的分析工具,可以帮助测试或者开发工程师快速发现很多隐藏的程序Bug,尤其是在内存检测方面(同时它还具有很多其他优秀的功能,读者可以自己查看官网中的使用手册)。对于分布式系统而言,压力测试和性能测试非常重要。在进行压力测试和性能测试的时候,可能会碰到下面一些难点。

数据准备。如何准备海量的测试数据并保证模拟数据的真实性?以一个分布式的文件系统为例,预先存入100GB的数据还是存入100TB的数据、存入的文件是大小基本一致差别不大还是各不相同甚至差异很大(例如,从几十字节至几十兆字节不等),这些因素对于分布式系统的性能影响是有很大差异的。另外,如果需要预先存入100TB的数据,若按每秒写入100MB数据来计算,写入100TB数据需要100×1024×1024/100=1048576秒=29127小时=12天。我们是否能忍受这么长时间的数据准备工作?为了解决这样的问题,我们需要对系统架构设计进行深入分析,设计好测试场景,并提前进行测试用例的设计,以尽早开始准备测试数据。

性能或压力测试工具。通常来说,分布式系统的测试需要开发一些测试工具来满足性能测试的需求。如果可以的话,建议这样的测试工具最好由测试工程师自己来实现,因为测试工程师更清楚自己的测试需求。当需要自己开发测试工具的时候,有两个关键问题需要重点关注:第一,一些关键数据的收集方式与计算将成为性能测试工具的关键,例如,TPS(每秒请求数)、Throughput(吞吐量)计算的准确性;第二,要保证性能测试工具的性能,如果工具本身的性能不好,将无法给予分布式系统足够强大的压力来进行测试。另外,当考虑到多并发(例如有10万客户端同时并发连接)时,如果性能测试工具在一台测试机器上只能运行50个或者更少的话,那么需要的测试机器数量也将会很庞大(例如2000台测试机),这个成本或许是许多公司不能承受的。因此,性能测试工具本身的性能必须要足够好才能满足需求、降低测试成本。自动化测试是测试行业发展的必然趋势,对于分布式系统测试而言也不例外。在实施分布式系统自动化测试的过程中,我们可能会碰到下面两个难点问题。

涉及平台多且硬件杂,测试流程控制困难。在实施自动化测试的过程中,测试脚本需要控制的 *** 作系统和应用程序很多,而且存在跨平台的特性,同时还有可能需要控制一些网络设备。因此,选择一个优秀的自动化测试框架成为了非常重要的工作之一。以我们的实践经验来看,STAF是一个不错的选择,它的平台(Windows及Linux各版本)支持及开发语言的支持都很全面。

测试结果验证复杂。对于分布式系统的自动化测试来说,我们需要通过测试脚本来收集各种测试结果数据以验证测试结果的正确性。在实施自动化测试的过程中,我们可以将测试结果数据收集部分模块化,通过各子模块来检测各项数据是否正确。例如,我们会设计一个日志分析模块,主要负责从服务器应用程序的日志中收集相应数据进行对比验证(本文前面提到的在打桩日志中增加关键字部分就显得格外重要)。

随着互联网的发展,大型分布式系统也越来越多、越来越复杂、越来越重要。如何有效地保证大型分布式系统7×24小时全天候持续稳定地运行也就成为了一个重要课题。

实施OA办公自动化过程中值得注意的问题

相信有很多人都不知道在OA办公自动化过程中有很多值得注意的问题大家都不知道吧?接下来让我为大家整理出来:

1 关注办公自动化内涵的变迁

办公自动化,英文 Office Automation,简称OA,是办公信息处理的自动化,它利用先进的技术,使人的各种办公业务活动逐步由各种设备、各种人机信息系统来协助完成,达到充分利用信息,提高工作效率和工作质量,提高生产率的目的。

办公自动化由70年代未80年代初在我国的提出,到现在已有了近二十年发展历史。由于办公自动化技术的不断发展,办公自动化新产品不断的出现,办公自动化的内涵也不断地丰富和发展。最早的办公自动化指的是传真机、打字机、复印机等办公设备的使用。接着,办公自动化指的是用电脑进行文书存贮、排版、及输出工作,用电脑进行人事、财务等进行管理。 现代的办公自动化系统观点认为:办公实际上是人与人、人与部门、部门之间信息的共享、交换、组织、分类、传递及处理,活动的协调,从而达到企业整体目标的过程。

传统的办公自动化多是指字处理系统、轻印刷系统、文档管理系统,无法实现信息的共享、交换、传递,无法实现单位、企业内部的协调,难以对非文本的如:声频、视频、图形、OLE对象、扫描图象等多媒体信息、超文本信息进行有效的处理。同时,传统的电子邮件系统没有对办公过程中的工作流提供良好的支持,难以根据不同的情况、不同的工作状态采取不同的措施,更好的跟踪事务的处理过程。因此,现代办公自动化系统更着重于提供办公信息的共享、交换、组织、传递、监控功能,提供协同工作的环境。

从这个意义上说,现代的办公自动化系统的作用相当于动物或人类的神经系统。目前成熟的基于客户/服务器结构的电子邮件系统和协作系统,较先进的Intranet/Internet(WEB)方式的办公自动化系统系统,都是企业数字神经系统的重要组成部分。 因此,我们在实施办公自动化时,必须注意到办公自动内涵的发展变化,清楚认识到昨日的OA不是今天的OA,明天的OA也将不同于今天的OA,要密切注意办公自动化技术及产品发展的最新进展。用这种观点来制定办公自动化的有关规划,办公自动化才能用最少的资金,取得最好的效果。

2 办公自动化应用范围的发展

一直以来,许多人对"办公自动化"的理解有误,认为办公自动化只是政府机关的事。实际上,在市场化的经济环境中,企业面临着激烈的竞争,企业成功与否最终取决于企业人员是否可以快速、有效地协调作业。而办公自动化系统是企业的数字神经网络的重要部分,没有一个快速反应的神经网络的协助,任何企业将难以获得长期、稳定、快速的发展。

随着企业对"办公自动化"理解的进一步加深,越来越多的企业已经把办公自动化提到日程上来,很多企业都在不同的层次上实现了办公自动化。事实上,有一些企业已成功地实施MRP或ERP系统,他们在生产、经营数据的收集、分析、处理方面已实现了自动化。但是,一般的MRP或ERP系统并没有在办公、行政事务方面,提供计算机处理功能,这方面的工作,只能依旧利用手工进行。不能全面实施办公自动化,工作、生产效率难以得到进一步提高。

因此,通过办公自动化系统的实施,对于企业提高运作效率与快速反应能力,加强企业的制度化、规范化管理,增强企业的市场竞争能力具有重要的意义。

3 办公自动化对人员素质的要求的变化

不同层次的办公自动化系统对办公人员的要求也不同。从前的办公自动化是个体工作的自动化,不要求所有的办公人员都要懂得办公设备的使用,懂得电脑的 *** 作,懂得电脑打字。这些工作,由秘书或文员来完成就可以了。那时,由于技术的原因,学会电脑的 *** 作(如DOS、WPS),学会汉字输入,还真的要下点功夫,将许多人拒于办公自动化大门之外。 现代的办公自动化系统通过计算机网络将所有员工联系起来,通过网络来完成大部分的办公工作,是全员的办公自动化。这要求所有人员,上至领导,下至各级员工,都应能使用电脑,否则,办公自动化就无法进行。

庆幸的是,现代办公自动化系统的功能越来越先进,但使用起来却越来越简单。尤其是最先进的WEB方式的办公自动化系统,办公人员只要能掌握简单的WINDOWS和WEB的 *** 作,基本上就能应付所有的计算机应用了。也不需担心汉字输入的问题,准确、快速的笔式、声音、扫描录入设备可帮上大忙。但是,容易学并不等于不用学,为了彻底保障办公自动化的成功实施,一定要把对全体员工计算机相关培训的工作列入办公自动化的实施计划中。

4 办公自动化硬件发展

首先,象电话、传真机、复印机等,我们称之为办公设备,而不能称之为办公自动化系统。办公自动化系统,包括硬件和软件两部分。办公自动化硬件从横向,分下列几类:

<1>办公信息的输入、输出设备:如打印机、扫描仪、麦克风、音箱、手写笔等;

<2>信息处理设备:指各种个人计算机、工作站或服务器等;

<3>信息复制设备:指复印机、磁盘、磁带、光盘刻录机等;

<4>信息传输设备:电话、传真机、计算机局域网、广域网等;

<5>信息存储设备:如硬盘、ZIP、光盘存贮系统等;

<6>其他辅助设备:交通工作、空调、UPS、碎纸机、传呼设备等;

从纵向的发展来看,现在办公自动化软硬件的品种越来越多,功能越来越强,性能越来越先进。为实现最终的无纸办公,创造了必要的条件。另外,实施办公自动化,不能脱离办公自动化系统所依赖的环境,INTERNET、CHINANET、邮电通信网如DDN等的建设,都已为办公自动化的发展创造了一个前所未有的条件,使网络的、真正的办公自动化成为可能。 我们要注意一个问题:许多厂商把自己生产的某种办公自动化的硬件,称为办公自动化系统,会常使别人误以为,整个办公自动化就是这么多东西了。办公自动化决不是各种办公自动化设备的购置和使用,先进的设备只是办公自动化的物质基础,没有功能全面的办公自动化软件,最终也还是不能实施办公自动化的。

5办公自动化软件的发展

随着新技术、新产品的出现,办公自动化的软件也随之发展。我们可以将办公自动化软件分为工具及平台软件及系统级应用软件两大类,其中OA工具及平台软件包括:WPS文字处理软件、现在的Office97套装软件(含WORD、EXCEL、Powerpoing、Access、Outlook)、Lotus系统、WPS97、IBM的中文语音识别录入软件、OCR汉字识别软件、手写输入系统、及MS Exchange的消息系统等。 同样,有些厂商,把某些办公自动化工具软件称为办公自动化系统,这是不够准确的。这些软件,作为办公自动化应用的平台或工具,解决个体的办公自动化是不成问题的,但要实现全员的信息的交流、交换,工作的协同,则还不够。还需办公自动化系统级应用软件。

从前,这种综合、大型的办公自动化软件系统,没有通用的产品,需要由办公自动化方案提供商,在确定的平台上,按用户的具体情况度身开发。而现在,市面上已经逐渐出现了通用的商品化办公自动化软件产品,用户只需要购买回来就可以着手实施了。节省大量的时间及开发资金,并避免开发风险。

6 办公自动化软件的层次及发展

办公自动化系统可分为事务型、管理型和分析决策型三种不同的层次。

事务型的办公自动化系统,支持一个机构内各办公室的基本事务活动,主要功能包括信息的产生、收集、加工、存储和查询,如文字处理、文档管理、电子报表、电子邮件、电子日程管理、文档的整理、分类归档、检索等。

管理型的办公系统包含业务管理的那部分功能,是事务型办公系统和支持职能管理活动的管理信息系统的结合。

决策型办公系统包括决策支持功能,是在管理型办公系统的基础上再加上决策支持系统而构成,除具备前述的功能外,还具备对业务数据的进行分析、评测等决策支持的功能。

有些人认为办公自动化"远水解决不了近渴",认为办公自动化"说起来重要,做起来次要"都是由于对办公自动化的层次不理解所致。实际上,现在完全能做到事务性的业务工作自动化。对于大量的信息沟通交换及共享的需要来说,目前的办公自动化技术或产品也已成熟,完全能够满足这方面的需要,只差我们进一步的认识与实施应用了。管理信息系统与事务型办公自动化系统的集成目前也不成问题。随着数据仓库及WEB技术的发展,分析决策型系统的实用化阶段也将来临。

另外,无论是哪种形式的办公自动化系统,都应包含办公过程所必需的信息的沟通、交换、共享等基本功能,需要建设一个高可扩充型、高可靠性、高性能的网络通讯平台。因此,实施办公自动化,应当从建设一个高可扩充性的通讯网络平台着手,从最基本的事务处理层应用开始逐步实施。光有通讯网络的建设,而没有软件应用的配合,绝对是一种浪费。实施办公自动化有必要对其软硬件进行一个长期的规划,逐步实施。

7 办公自动化成功实施因素的变化

最初的办公自动化虽只是办公自动化设备的使用,但它解决了人们办公的许多大问题,效果明显,而涉及、改动的东西少,容易被员工接受,除了资金的问题,谈不上需要领导特别的重视。现代的办公自动化系统,一方面,涉及面大,必须改变传统的工作模式。另一方面,如果办公自动化没有真正全面实施的话,就不会见到进一步的效果。这时候,办公自动化能否成功地实施,就与领导的决心、重视程度以及全体人员的协作有极大的关系。

现代的办公自动化,是一个系统工程,需要上层领导的重视(不能光说,而是要能做到的重视),需要在组织机构上有所保证,需要落实所需的经费,需要进行相关计划的制订和执行。办公自动化的层次越高,工作模式的改变越大,触动的东西越多,越不容易实现,越需要领导在制度、人员等方面切实的支持。没有这些保障,就有可能出现传统的办公方式与办公自动化分离的现象,办公自动化只能是一句空话。举个例子:某实施办公自动化项目的单位为配合OA的实施,制定了一系列的规章制度,例如《关于OA公文管理系统文件处理规定的实施细则》、《关于取消纸质信息、部分纸质文件和文件归档的通知》等文件,从管理方面进一步有力推动了OA项目的实施进度。因此,现代的办公自动化的实施,不管办公自动化软硬件有多好的,离开了领导的重视,就是空话一句。

8 办公自动化软件开发技术的发展

我们说,好的办公自动化软件不一定是用最新的技术来制作的,但先进的计算机技术一定会对我们更好地实现办公自动化产生帮助,在这些技术里,尤其以平台技术最为重要,下面我们将简单介绍以下办公自动化领域的平台技术的发展历史,相信会对我们了解并更好地实施办公自动化项目有所帮助。

最早期的办公自动化软件主要都是完成文件的输入及简单的管理,这个时期的主要平台是FoxPro、DBASE等数据库,其优点主要就是简单, *** 作简单,功能也简单。缺点同样也是简单,由于平台标准太简单导致我们无法可靠地实现非结构化文档的处理、联机备份、全文检索、容错技术、工作流这些重要的OA功能。这个时期主要的成就就是实现了文档的共享及简单的查询功能。

随着数据库技术的发展,客户/服务器结构的出现,使我们的OA系统进入了DBMS的阶段。原来困扰我们的联机备份、容错技术、联机查询等问题迎刃而解,但由于当时的数据库还是集中式处理的结构化数据库,所以非结构化文档的处理、全文检索、工作流等OA功能仍然无法很好地解决。这个时期主要的发展就是OA系统的功能和可靠性都有了很大的发展。

办公自动化软件真正成熟并得到广泛应用是在Lotus Notes 、Microsoft Exchange出现了以后,它提供的工作流平台及非结构化数据库的功能使我们可以很方便地实现非结构化文档的处理、全文检索、工作流这些重要的OA功能,OA应用进入了实用化的阶段。

但随着管理水平的提高,Internet技术的出现。单单实现文档管理和流转已经不能满足我们的要求,我们的领导和员工希望能够获取更广泛的信息来源。 这个时候OA的重心开始由文档的处理转入了数据的分析,即我们所说的决策系统,同样Lotus Notes作为一个非结构化数据库已经越来不能满足我们的需要,这时出现了以信息交换平台和数据库结合作为后台,数据处理及分析程序作为中间层,WEB作为前台(三层次结构)的全新OA模式,这种模式下,我们可以将OA系统纳入由业务处理系统、财务系统等系统构成的单位整体系统内,使我们可以通过OA系统看到、分析得到更全面的信息。我们会将大量的业务数据,甚至是文档数据放回数据库内。随着COM、OLE、WEB等技术的应用,我们将可以通过各种不同的开发工具方便地获取所需的信息。

9 WEB方式的办公自动化系统的优点

目前办公自动化系统较成熟的模式是客户/服务器方式,而新一代的办公自动化系统则应是Internet/Intranet方式(即B/S),才更能适应目前及未来的要求。

Internet/Intranet方式的办公自动化系统是基于WEB的办公自动化系统,其运作模式不同于C/S模式,它由客户在客户端工作站通过浏览器从服务器下载WEB方式的办公自动化应用程序后再动行。这种方式的系统具有下列的好处:

对客户端机器的硬件要求较低,而且目前流行的浏览器支持各种 *** 作系统,使用户可以在保留原有的软件和硬件的基础上运行新的应用系统,保护现有投资。基于WEB的办公自动化系统只需在服务器上作配置和维护,大大降低了用户用于软件系统维护和升级的难度和费用,使办公自动化更加容易实施。象其他基于WEB的应用系统一样,基于WEB的办公自动化系统也是通过浏览器这个简单易用统一的界面来访问的,其界面相当友好, *** 作十分简单,易学易用,用户易于接受,从而节省用户的培训时间和费用。这对减少实施办公自动化的阻力来说,有相当重要的意义。系统安全、可靠、可扩展。10 办公自动化软件开发方法的变化

传统的办公自动化应用软件的开发方法是这样的。如果某个用户需要实施办公自动化,那么他首先就必须经过立项、调研、设计、开发、调试、试用、实施、维护,一个漫长的过程,当然,最后还不一定都能成功。实际上,我们很少看见成功实施的案例,我们经常听到的,不是用户抱怨开发商几年都没有开发出一套完善的系统,就是开发商抱怨用户在开发前提不出明确需求,在开发途中频频改变需求。出现这种现象的根本原因,在于目前开发办公自动化系统的指导思想及开发方法,都是传统的方式,要求系统的需求在开发过程中以及开发后都要明确不变,否则就要进行大量、繁重的的维护、修改工作。这些维护、修改工作,使办公自动化系统的开发陷入"需求不断变化,软件不断修改,周期不断延长,效果难以预料"的"尴尬"局面。

传统的思想指导下开发OA系统,要以用户的需求明确不变为前提,但在当前机构改革、管理不断优化的客观条件下,几乎没有用户能确保其对办公的要求永远不变。因此,如果没有一种新的开发方法,办公自动化发展的缓慢进程将永远得不到改进。由于机构不断变化,管理流程不断优化,所以办公自动化软件必须能适应这些经常性的变化,而且这种适应性的调整不能靠修改程序来进行,必须将这种调整、适应控制对交到用户手中。

;

在日趋激烈的市场竞争中,迫使设计院要迅速转变观念,摆脱传统落后的工作习惯,从先进的计算机技术手段中寻找出路,实现升级改造。建立管理信息系统的要求已十分迫切。
建立管理信息系统,推进管理信息化需要我们转变经营观念,再造业务流程,优化组织机构,减少管理层次,严格规章制度,分流富余人员。推进信息化管理的过程,是对传统的、落后的管理思想和管理方式的改造过程,是深化改革的过程,是一场革命。
如何运用计算机网络实现设计院管理系统,也就是如何利用计算机网络实现设计院管理的科学化、信息化,就此作者想从以下几个方面阐述:
一、 设计院传统管理方式的弊端
设计院是一个以设计开发为主的企业,随着国民经济的迅猛发展,市场竞争日趋激烈,利润率逐渐呈下降趋势,原先在传统的计划经济设计开发模式下表现的不很明显的问题逐渐突现出来。主要有以下几点:
1、 工程项目的设计过程往往需要多个不同专业、不同层次的人员齐心协作才可完成。设计开发组成员之间交流沟通的低效率严重地影响到项目的顺利实施,使用传统的交流协作方式由于其自身的限制已经很难大幅度提高工作效率。
2、 随着设计成果的逐年累积,图纸、文档等资料的数量迅速增加,保存、管理和检索的工作量越来越大,在人工管理的方式下极易出错,甚至会造成图纸、文档等资料的遗失;设计人员非常希望方便地共享并重复利用以前的设计成果。在人工管理的环境下,由于人工 *** 作的限制,过于松散的图档资料管理体制易造成重要资料的流失。而为安全考虑而设置的图档借阅审批机制由于其繁琐的审批程序严重地影响了工作效率。
3、 每位人员的设计成果只存储在自己的机器中,当有硬盘损坏或其他无法恢复的错误发生时将会导致大量数据毁灭。
4、 由于部分设计人员业务素质和职业道德水平不高,出现随意打印各种图纸、文档等资料的现象,甚至打印私人需要的资料,加之许多设计院缺乏对打印设备有效的管理,造成打印出图所用的耗材大量浪费,加大了设计开发的成本。
5、 随着设计院的工作人员逐渐增多,院领导很难快速清楚地了解到工作人员的工作内容及工作效率情况,这对院领导及时准确把握全院工作动态、督促各项工作完成造成许多困难。
综上所述,设计院迫切需要一个能提高沟通协作效率,加强院领导对设计人员的合理调配、优化组合,并能在充分保证安全性的前提下,有利地实现资源共享、反复利用图纸、文档等资料的,简单、实用的管理系统。
二、 设计院建立管理信息系统的指导思想和具体目标
1、 指导思想
建立管理信息系统,实现设计院管理信息化的核心是运用现代信息技术,把先进的管理理念和方法引入到管理流程中,提高管理效率和水平,促进管理创新。提高管理基础工作的规范性和各项管理业务的协同性,全面提升设计院管理水平。
推进设计院管理信息化要以实现科学管理、向管理要效益为宗旨,优化设计院资源配置,提高效率,降低成本,提高质量,改善营销服务,增强透明度,加强内部制衡,完善决策程序,增强设计院的市场应变能力,全面提高设计院管理水平,推进管理创新。设计院管理信息化要与转换经营机制、建立现代企业制度、推进技术进步相结合,通过管理信息化促进机制创新、制度创新和技术创新。
推进设计院管理信息化要根据企业发展战略制定整体规划,避免孤立地设计或实施某项管理,防止形成信息孤岛和重复投资。整体规划要以应用综合性系统为重点,实现主要业务流程电子化以及人力、物力、财力的优化配置和信息资源的高效利用。
2、 具体目标
建立设计院管理信息系统,目的是要探索出一套适合市场经济条件下设计院的管理模式来,这样的管理模式应该实现以下目标:
1)它应该包括生产调度系统、财务系统、计划管理系统、人事管理系统、档案管理系统、公用信息服务系统(包括互联网接入服务、电子邮件服务、企业网站对外信息发布服务、外部信息传输处理服务)、设计院CAD系统、物资管理系统、运销管理系统、各生产部门的公用查询系统等。能将企业日常办公、文档、审批和数据处理都在网络上实现。是一个以MIS为依托的办公流程管理系统。允许使用者自定义各种工作流程,包括综合计划、经营合同、公文、人事、总务后勤等。
2)拥有针对性很强的固定工作流程和充分的自定义工作流程,并且使用方便。根据设计院实际的专业分工,合理分配系统管理工作,将属于专业人员范围的管理和授权工作划给专业人员,减少系统管理员的工作量。为了保障系统的安全,在业务系统外的单位和用户不能直接访问。
3)对数据的采集、统计和录入必须建立严格的责任制度,确保数据的真实性、准确性、一致性和适时性,重要数据要尽量实现备份和容错自动化。每个应用系统都以大型数据库为支撑,具有很强的数据支持能力,符合信息管理类型软件对数据存取的要求。文件服务和应用服务,在充分考虑到安全性的前提下,为设计人员提供一个可方便共享、重复利用图纸、文档等资料,并集成于协同工作平台的图纸、文档管理软件,无缝地实现设计、存储、检索、应用等一体化集成的网络服务,发挥分布网络和集中网络各自的优势,建立完善的文件容错系统,确保使用方便,万无一失。
三、 如何以计算机网络为基础,建立起一套科学的设计院管理信息系统
下面,作者以计算机网络在甘肃省交通规划勘察设计院的具体应用为例来阐述如何利用计算机网络建立起一套科学的设计院管理系统。
我院网络系统自2002年元月起开始运行。该网络系统是一个支持公共信息的访问、网络管理、不同子系统间数据的交互和访问、OA的流转、信息发布、数据库服务和应用服务的网络平台。它是甘肃省交通系统智能化平台网络的主干层,通过cisco6509交换机和交通系统智能化平台的其它单位实现OA的协作,并通过此平台的路由器、防火墙、代理服务器实现internet的访问和包的过滤。通过带路由模块的4006交换机实现本单位部门间特殊业务VLAN的子集划分。本单位内数据的交互和访问在本单位的VLAN内即可实现,实现业务的保密性,减少主干链路的拥塞,提高访问速率。对于移动办公的部门和人员,选用无线接入和PSTN访问的方式。结合intranet的物理链路,建立了以微软的windows 2000 advanced server为 *** 作系统的域管理系统,部门设为管理单元,方便查询和不同部门策略的运用。数据库系统选用Oracle公司的Oracle 8iEE30用户企业版,结合图库软件,便于查询。同时为了实现OA系统和数据库的动态链接,选用了Lotus公司的ESB软件,OS系统软件(办公自动化开发工具)选用Lotus Notes/Domino。网络管理软件选用了cisco works for windows60等,对网络的流量和峰值进行实时监控。数据稳定方面,允许用户在一个服务器失败时,自动转向另一服务器,同时应用程序也能在硬件失败后,以最小的切换时间来重新启动并运行。存储备份软件选用veritas backup exec 90 for windows server,实现人工干预或智能的数据备份。
1、 建立自己的办公自动化系统
这是一个以计算机网络为依托的办公系统。设计院的办公、生产调度等工作都可以以它为平台,根据自己单位的实际情况建立办公流程。管理系统的办公自动化系统能够帮助领导及时、直观地了解员工工作状况,掌握第一手资料,加强对全局的把握和监督,同时有利于不同房间、楼层员工之间的即时交流。它还提供了一个功能更强的局域网通讯工具,员工之间不需电话等设备即可方便地交流。事实上,设计院的办公自动化是实现设计院信息化管理的主要部分,而它的基础就是计算机网络,网络的稳定和安全直接影响办公自动化能否实现,以及功能的健全与否等。
2、 建立项目及图库管理系统
建立计算机网络的原始目的是最大程度地实现资源共享。设计院一般都有海量的数据资料,设计人员对这些数据的调用也很频繁,所以要为设计人员和领导提供一个基于网络环境的"协同工作平台",并提供一系列功能强大的组件模块来降低工作强度和加快沟通交流速度,提高工作人员的工作效率。对项目进行管理的工作流程管理系统,具有设计工作流程(设、校、审等)管理、项目进度计划、质量控制、项目信息统计、工程数据复用、出图、归档管理等功能。当然,这些功能都是通过相应的软件实现的,但这种软件也是基于网络的,没有计算机网络,就不可能完全实现上面生产管理的自动化。
3、 建立科技档案管理系统
建立一个符合国家档案管理部门要求、规模大、功能全的科技档案管理系统,主要是用来管理技术资料,如工程图纸、文档、音视频多媒体文件等。它可以使每位工作人员很方便地在网上查询这些资料目前的状态。这也需要相应的软件支持,而且只有网络版才能够满足设计院档案管理的要求。离开计算机网络,再大的资料库也是信息孤岛,失去实用价值。
4、 建立网络打印服务系统
建立网络打印服务系统,以此来监控打印消耗量,对网络打印、绘图情况进行统计,有利于单位成本核算,减少浪费。并可以非常透明地使多个人员共享一台打印机。
5、 建立完善的文件服务系统
设计院的人员,经常需要掌握第一手资料,这就需要室外勘察作业。如何把勘察所得的数据安全可靠地传输到总部是必须解决好的问题。传统的由人员携带数据送回总部或邮寄等方式费时费力,安全性不高,而网络技术的发展为数据的安全传输提供了最好的方法,利用无线计算机网络更是方便快捷,可以说网络是设计人员步步为营的有效保障。
6、 邮件及Internet服务
通过建立Exchange服务器,可为每位工作人员提供足够空间的电子信箱。单位内部提供的电子信箱,可以使每个人的信箱地址和他的网络登录账号相同,便于记忆。工作人员经常需要上网查询一些相关的信息。利用代理服务器等技术可使每个工作人员随时和Internet保持接通,而一些常用信息被缓存于服务器当中,降低了带宽的占用,提高了上网速度。利用防火墙技术,可有效地阻止外部黑客的侵入。
7、 共享与安全
在计算机网络世界里,共享和安全是一对孪生兄弟,它们总是成对出现。我们在考虑利用计算机网络实现设计院管理的有利一面的时候,同时也要充分估计到它带给我们的副作用,这就是安全问题。我们可以利用比较先进的SAN技术管理存储,利用IP策略对网络进行流控,利用一系列硬件和软件的安全策略对正在生成的和正在计算机网络中传输的数据进行加密,做到万无一失。但应该认识到,就目前的技术而言,绝对的网络安全是不存在的,但这样的结果并不影响我们利用计算机网络实现设计院管理系统的整体效应。
四、 对计算机网络与设计院管理系统的瞻望
在计算机网络技术已十分成熟的今天,利用计算机网络实现设计院管理的信息化已是大势所趋。设计院作为知识密集型企业,始终在探索和实践科学的设计管理手段和方法。然而,大部分管理措施在具体落实时却发现,其实际功效与当初的管理目标常存在相当大的出入甚至是大相径庭。目前大部分单位所建的计算机网络实际只是代替磁盘传递文件,计算机网络很大的利用空间没有得到开发,以至于花了大量的人力物力布设的网络利用率不高或流于形式。
因此,必须找到一个切实可行的方法,既能真正地提高设计单位的工作效率,又可以使先进的技术手段和科学的管理方法的作用得到充分发挥。这里提出的基于计算机网络的设计院管理系统,在计算机网络技术已经十分成熟的今天是易于实现的,所以问题的关键还是要确立我们理想中的设计院管理系统。可以说计算机网络启发了我们的思路,使我们把以前不敢想、不敢提的问题和想法都列举出来,如果按照上述方法实施,其结果一定是设计院的管理系统会更趋于科学完善。上面提到许多的具体实施过程是结合作者在工作中的实践提出的,在这里只是抛砖引玉,希望看到大家更好的想法。

PXE(preboot execute environment)预启动执行环境,主要实现网络引导技术。

下来我们来看看如何配置:

安装需要的组件:

yum install dhcp tftp-server tftp vsftpd syslinux -y

配置DHCP服务:

复制配置文件模版

cp /usr/share/doc/dhcp-411/dhcpdconfsample  /etc/dhcp/dhcpdconf

编辑配置文件 /etc/dhcp/dhcpdconf

option domain-name "tuchaocom";

option domain-name-servers 1921681201;

default-lease-time 43200; //默认最少租用时间

max-lease-time 86400;   //默认最长租用时间

# Use this to send dhcp log messages to a different log file (you also

# have to hack syslogconf to complete the redirection)

log-facility local7;

subnet 19216810 netmask 2552552550 {

range 192168110 1921681110;  //定义地址池

option routers 19216811;       //定义网关

}

next-server 1921681201;   ////指向tftp服务器

filename="pxelinux0";    //tftp根目录的相对路径

配置完成后保存,启动dhcp服务。

/etc/initd/dhcpd start

配置tftp服务器编辑配置文件 vim /etc/xinetdd/tftp

chkconfig tftp on

service xinetd start

复制引导文件到tftp目录下,这个引导文件由syslinux提供

cp /usr/share/syslinux/pxelinux0 /var/lib/tftpboot/

复制需要的引导文件到tftp提供服务的目录下。

cp /var/ftp/pub/images/pxeboot/{vmlinuz,initrdimg} /var/lib/tftpboot/

cp /var/ftp/pub/isolinux/{bootmsg,vesamenuc32,splashjpg} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinuxcfg

cp /var/ftp/pub/isolinux/isolinuxcfg  /var/lib/tftpboot/pxelinuxcfg/default

给default文件赋予写权限,然后编辑。

chmod +w  /var/lib/tftpboot/pxelinuxcfg/default

vim /var/lib/tftpboot/pxelinuxcfg/default

使用system-config-kickstart工具制作一个ks文件,保存至指定的位置。(略)

启动vsftpd服务 //提供安装源

启动xinetd   //提供PXE引导

启动dncpd   //提供动态获取IP,并告知客户端tftp服务器位置。

开启一台虚拟机,设置从网卡启动。

网络引导,一键自动化安装,成功实现。

对于一个开发人员来讲,可能运维并不是自己的职责所在。但是作为一名开发人员,却不能不了解自动化运维的整个流程。因为对于一个信息系统而言,开发和运维本质是一体的,尤其对于一些小公司来讲,可能运维人员本身就是开发人员抽空兼任的。


而自动化运维,本质上是介于开发和运维之间的,是运维和开发的交集,甚至很多时候都要写不少代码。因此,任何一个开发人员,都需要有自动化运维的相关知识。


一个了解好的开发人员,即使自己不做运维相关的工作,也能够知道自己在将项目交付给运维人员的时候,哪些东西是重要的,那些是必须配置的等等。然而在实际工作中,往往开发人员会给运维人员留下一些坑,一些只有他自己知道,而运维人员不知道的东西。导致运维人员自己试了很多次发现不行的时候,找到开发人员,开发人员研究了一下才会告诉他,在某某环境中必须用哪个端口之类的。这样不仅白白浪费了运维人员的时间,也增加了很多沟通的工作量。


反过来也是如此,一些现场的问题如果运维人员不能现场给出问题的定位。对于开发人员来讲是非常难以复现的。比如之前有某家企业,运维人员在客户现场发现问题。费了很大力气从客气的内网里面把日志导出来,发给开发人员,结果开发人员仔细研究了日志之后,发现是网不通的问题。开发人员显然是不可能知道为啥网不通的,搞不好是压根没连网线。


所以今天我们来聊一聊,对于一个程序员来讲,需要了解的自动化运维的那些事。


一、自动化运维的概念

随着信息时代的持续发展,初期的几台服务器已经发展成为了庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求。一个运维人员手工配置几台服务器还可能。配置几百上千台服务器那就累死了,还容易出错。那么就需要对运维工作进行标准化、自动化、架构优化、过程优化等。从面降低运维服务成本。其中,自动化最开始作为代替人工 *** 作为出发点的诉求被广泛研究和应用。

所谓自 动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统724小时高效稳定运行 。这是所有业务系统运维的终极目标。


按照运维的发展成熟度来看, 运维大致可分为三个阶段

(1)依靠纯手工,重复地进行软件的部署与运维;

(2)通过编写脚本,方便地进行软件的部署与运维;

(3)借助第三方工具,高效地进行软件的部署与运维;


二、自动化运维需要解决的问题

自动化运维通常来讲,需要解决以下几个问题: 自动部署配置、风险事前预警、故障事中解决、和故障事后管理


三、自动化运维的常用工具

自动化运维常用的工具包括以下几种:


1、Ansible

ansible是基于Python开发的自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible具有如下一些特性:

(1)模块化:调用特定的模块,完成特殊的任务。

(2)Paramiko(python对ssh的实现),PyYaml,jinja2(模块语言)三个关键模块。

(3)支持自定义模块,可使用任何编程语言写模块。

(4)基于python语言实现。

(5)部署简单,基于python和SSH(默认已安装),agentless,无需代理不依赖KPI(无需SSL)。

(6)安全,基于OpenSSH

(7)幂等性:一个任务执行一次和执行n遍效果一样,不因重复执行带来意外情况。

(8)支持playbook编排任务,YAML格式,编排任务,支持丰富的数据结构。

(9)较强大的多层解决方案role。




2、Chef

Chef是一个功能强大的自动化工具,可以部署,修复和更新以及管理服务器和应用程序到任何环境。

Chef 主要分为三个部分 Chef Server、Workstation 以及 Chef Client。用户在 Workstation 上编写 Cookbook。然后,通过 knife 命令上传到 Chef Server。最后,在 Chef Client 上面实施安装和部署工作。所以,对于 Cookbook 地编写在整个自动化部署中起到了重要的作用。


Chef Server 包含所有配置数据,并存储描述Chef-Client中每个Nodes的Recipe,Cookbook和元数据。配置详细信息通过Chef-Client提供给Nodes。所做的任何更改都必须通过Chef Server进行部署。在推送更改之前,它通过使用授权密钥来验证Nodes和Workstations是否与服务器配对,然后允许Workstations和Nodes之间进行通信。


Workstations 用于与Chef-server进行交互,还用于与Chef-nodes进行交互。它还用于创建Cookbook。Workstations是所有交互发生的地方,在这里创建,测试和部署Cookbook,并在Workstations中测试代码。


Chef命令行工具 是创建,测试和部署Cookbook的地方,并通过此策略将其上载到Chef Server。


Knife 用于与ChefNodes进行交互。


Test Kitchen 用于验证Chef代码


Chef-Repo 是一个通过Chef命令行工具在其中创建,测试和维护Cookbook的存储库。


Nodes 由Chef管理,每个Nodes通过在其上安装Chef-Client进行配置。 ChefNodes 是一台机器,例如物理云,云主机等。

Chef-Client 负责注册和认证Nodes,构建Nodes对象以及配置Nodes。Chef-Client在每个Nodes上本地运行以配置该Nodes。


Cookbook 是Chef 框架的重要基础功能之一。在 Chef Server 对目标机器做安装部署的时候,是通过 Runlist。而 Runlist 里面又包含了一个一个具体的 Cookbook,所以,最终对一个目标机器的部署任务就落到了 Cookbook 上。而对于 Cookbook 来说,其中包含了多个组件,我们可以将 Cookbook 简单地理解成一个容器或者可以理解为一个包,里面包含了 recipes、files、templates、libraries、metadata 等信息。这些信息用于配置我们的目标机器。




3、Puppet

puppet是一种Linux、Unix平台的集中配置管理系统,所谓配置管理系统,就是管理其里面诸如文件、用户、进程、软件包等资源。它可以运行在一台服务器端,每个客户端通过SSL证书连接到服务端,得到本机器的配置列表,然后根据列表来完成配置工作,所以如果硬件性能比较高,维护管理上千上万台机器是非常轻松的,前提是客户端的配置、服务器路径、软件需要保持一致。


客户端Puppet会调用本地facter,facter探测出该主机的常用变量,例如主机名、内存大小、IP地址等。然后Puppetd把这些信息发送到Puppet服务端;

Puppet服务端检测到客户端的主机名,然后会检测manifest中对应的node配置,并对这段内容进行解析,facter发送过来的信息可以作为变量进行处理;

Puppet服务器匹配Puppet客户端相关联的代码才能进行解析,其他的代码不解析,解析分为几个过程,首先是语法检查,然后会生成一个中间的伪代码,之后再把伪代码发给Puppet客户端;

Puppet客户端接收到伪代码之后就会执行,执行完后会将执行的结果发送给Puppet服务器;

Puppet服务端再把客户端的执行结果写入日志。


4、Saltstack

SaltStack是基于python开发的一套C/S自动化运维工具。部署轻松,扩展性好,很容易管理上万台服务器,速度够快。与服务器之间的交流,以毫秒为单位。SaltStack提供了一个动态基础设施通信总线用于编排,远程执行、配置管理等等。它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证书签发的方式进行认证管理,传输采用AES加密。

在saltstack架构中服务器端叫Master,客户端叫Minion。


在Master和Minion端都是以守护进程的模式运行,一直监听配置文件里面定义的ret_port(接受minion请求)和publish_port(发布消息)的端口。当Minion运行时会自动连接到配置文件里面定义的Master地址ret_port端口进行连接认证。


saltstack除了传统的C/S架构外,其实还有一种叫做masterless的架构,其不需要单独安装一台 master 服务器,只需要在每台机器上安装 Minion端,然后采用本机只负责对本机的配置管理机制服务的模式。


saltstack提供如下一些功能:

(1)远程执行:(批量执行命令)在master上执行命令时,会在所有的minion上执行。

(2)配置管理/状态管理 :(描述想到达到的状态,saltstack就会去执行)

(3)云管理(cloud):用于管理云主机

(4)事件驱动:被动执行,当达到某个值会自动触发


这四种自动化运维工具的比较如下,现在主流的基本上ansible和saltstack用的多一些:





欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13313781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-13
下一篇 2023-07-13

发表评论

登录后才能评论

评论列表(0条)

保存