接口自动化测试环境搭建jmeter+ant+git+jenkins

接口自动化测试环境搭建jmeter+ant+git+jenkins,第1张

1、安装java

方式一:安装java环境:yum install java-180-openjdk -y

使用命令检查是否安装成功 java -version

到此安装结束了。这样安装有一个好处就是不需要对path进行设置,自动就设置好了。jdk安装在/usr/lib/jvm目录下
方式二:先下载对应版本到本地,然后解压缩,配置环境变量(详细步骤百度即可)

2、安装jmeter

(1)登录自己服务器,在usr/local下创建文件夹jmeter,命令mkdir jmeter

(2)通过官网下载jmeter到本地

(3)通过xhell上传到对应的目录(cd到要上传的目录)

(4)yum -y install lrzsz(安装了lrzsz,执行该命令是因为服务器有的文件不让上传。让上传就不用执行)

(5)使用 rz -y命令进行文件上传,此时会d出上传的窗口,进行上传即可

(6)上传成功之后进行解压 unzip apache-jmeter-54zip

(7)配置环境变量vi /etc/profile

esc+shift # 键盘同时按住,退出编辑模式

:wq # 保存退出

:q # 不保存退出

添加如下内容:

# set Jmeter enviroment

export JMETER_HOME=/usr/local/jmeter/apache-jmeter-54

export PATH=${PATH}:${JMETER_HOME}/bin

(8)source /etc/profile # 使配置文件生效

(9)jmeter -version
3、安装ant

(1)在usr/local下创建文件夹ant,命令mkdir ant

(2)通过官网下载ant到本地

(3)使用 rz -y命令进行文件上传,此时会d出上传的窗口,进行上传即可 sz 文件名(服务器文件下载到本地)

(4)上传成功之后进行解压 unzip

(5)配置环境变量vi /etc/profile
# set Ant enviroment

export ANT_HOME=/usr/local/ant/apache-ant-11010

export PATH=${PATH}:${ANT_HOME}/bin
(6)source /etc/profile # 使配置文件生效

(7)ant -version
4、ant的配置

(1)将jmeter安装包extras文件夹里ant-jemter-111jar 复制到antlib下

cp ant-jmeter-111jar /usr/local/ant/apache-ant-11010/lib

(2)进入apache-jmeter-30extras运行ant ,查看该目录下是否出现Testjtl、Testhtml文件,若有,则构建成功
5、编写Ant的buildxml文件

(1)创建Jmeter_Test目录,放在/usr/local/下

(2)Jmeter_Test目录下创建buildxml、ResultLog(html,jtl)、Script(放脚本)

(3)buildxml文件内容去>

1、打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在d出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。

2、更新完成后,打开浏览器,输入“>

3、当web服务器搭建成功后,我们下一步所要做的就是把我们开发的网站安装到Web服务器的目录中。一般情况下,当Web服务器安装完成后,会创建路径“%系统根目录%inetpub/>

4、设置防火墙,让局域网当其它计算机也能访问本地网站资源。具体方法:打开控制面板,选择“系统和安全”,点击“允许程序通过Windows防火墙”,在d出的对话框中勾选“万维网服务>

5、在局域网中其它计算机上,打开浏览器,输入 “>

扩展资料:

入门级服务器所连的终端比较有限(通常为20台左右),况且在稳定性、可扩展性以及容错冗余性能较差,仅适用于没有大型数据库数据交换、日常工作网络流量不大,无需长期不间断开机的小型企业。

不过要说明的一点就是目前有的比较大型的服务器开发、生产厂商在后面我们要讲的企业级服务器中也划分出几个档次,其中最低档的一个企业级服务器档次就是称之为"入门级企业级服务器",这里所讲的入门级并不是与我们上面所讲的"入门级"具有相同的含义,不过这种划分的还是比较少。

还有一点就是,这种服务器一般采用Intel的专用服务器CPU芯片,是基于Intel架构(俗称"IA结构")的,当然这并不是一种硬性的标准规定,而是由于服务器的应用层次需要和价位的限制。

一 场景描述

运行着关键业务的windows服务器或托管在IDC机房 或宿主在自家公司的机房(DC) 无论哪一种服务器管理方式 都会面临这样的情境 当运行的关键业务的服务停掉后 即使离数据中心很近 也无法及时处理 更何况出差在外或是旅行当中呢?!

基于以上 那 有没有一种方式可以自动化的管理服务呢 当服务当掉后 可以自动的无人工参于的情况下第一时间侦测到服务当掉 并运行开启服务的指令或动作? 答案是肯定的!

二 解决方式

目前 大部分的关键业务系统运行在微软的Server级别的 *** 作系统上 自从windows server 发布以来 微软就在 事件查看器 管理控制台中内置了这种功能 而已推出一段时间且被广大微软服务器系统爱好者叫好的Windows Server OS 更加扩展和加强了这方面的功能

这个功能的推出 不但和system center家族中的S (S )相关联 更体现了其所倡导的私有云决方案中的 自动化 管理的理念 接下来 我们就来看看如何在Windows Server 上实现服务管理的自动化吧!

(备注 需要说明的 是老方在下文中的截图还是基于Windows Server Beta版本的 但 *** 作方式和内容是和Windows Server 一样的 已验证 )

三 Windows Server 上的服务管理自动化实现

Windows Server 版的安装步骤此处省去 安装好后大部分的管理功能可以通过 服务器管理器 来实现 而本文服务管理自动化所涉及到的功能均通过此管理控制台实现进行

图示 服务器管理器控制台

也可以通过 桌面—鼠标移动至左下角—出现开始预览图示—左键点击(或右键点击) 在出现的工具选项窗口中(或上下菜单中)选择 计算机管理

图示 计算机管理控制台

以下为更详细的步骤

在Windows Server 上运行着DNS Server服务 现在由于某种原因当掉了 打开事件查看器 系统项 会发现已有日志记录

图示 DNS Server日志记录

选定详细事件 右键单击(或是在右下角的控制台中)选定 将任务附加至此事件 此动作的目的就是当此事件发生后 自动运行一个任务来进行相应动作的处理 以实现自动化

图示 右键属性

在 创建基本任务向导 窗口中 输入此任务的自定义的很形象的名称 重启DNS服务

图示 创建基本任务及命名

保留当前界面中的设置不变 下一步

图示 当时间已被记录时

在此窗口中 选择你要执行的任务( 从选项中可以看到这些和S服务报警及服务恢复任务是一样的 如果你选择了发送电子邮件 就可以实现邮件报警 借助于当前的手机上网 当服务当掉时 也能及时知道了 ) 启动程序

图示 执行 *** 作—启动程序

启动程序窗口 在 程序和脚本 下框中输入如图中所示的内容(在 中会详细描述为何如此做)

图示 输入脚本及参数

本段算是插述 介绍服务相关的命令行下的启动及命令

A 打开 服务 控制台 找到DNS Server服务 右键—属性—服务名称 确定此服务的名称为DNS( 非内置服务亦是如此 但要注意服务名称的之间的空格及在 中 把服务名称加双引号 ):

图示 服务名称

B 打开命令行窗口 使用Net exe命令(位置为c:\windows\system \目录下) 测试下启动或停止 Ok 用法参数没有问题(把相关的参数填入 中)

图示 命令方式启动或停止服务

完成概要(图示 ) 如果没有问题 此任务就会以 计划任务 的方式存在于 任务计划程序 控制台中的 事件查看器任务 中(图示 ) 可以查看相应的执行状态等 也可以对此任务进行实际需要的微调

图示 完成概要

图示 任务计划程序中的事件查看器任务

手动停掉DNS Server服务 你会发现 短短几秒呢 DNS Servere服务就又开启了(如果做了邮件通知 也能收到邮件啦) 怎么样 服务管理的自动化就如此实现了

lishixinzhi/Article/program/SQLServer/201311/22092

互联网时代的网络自动化运维

互联网上有两大主要元素"内容和眼球","内容"是互联网公司(或称ICP)提供的网络服务,如网页、游戏、即时通信等,"眼球"则是借指海量的互联网用户。互联网公司的内容往往分布在多个或大或小的IDC中,越来越多的"眼球"在盯着ICP所提供的内容,互联网公司进行内容存储的基础设施也呈现出了爆发式的增长。为了保障对内容的访问体验,互联网公司需要在不同的运营商、不同的省份/城市批量部署业务服务器用以对外提供服务,并为业务模块间的通信建立IDC内部网络、城域网和广域网,同时通过自建CDN或CDN专业服务公司对服务盲点进行覆盖。因此随着业务的增长,运维部门也显得愈发重要。他们经过这些年的积累,逐步形成了高效的运维体系。本文将结合国内互联网公司的经验,重点针对IT基础设施的新一代自动化运维体系展开讨论。

一、运维的三个阶段

● 第一个阶段:人人皆运维

在早期,一个公司的IT基础设施尚未达到一定的规模(通常在几台到几十台机器的规模),不一定有专门的运维人员或部门,运维的工作分担在各类岗位中。研发人员拥有服务器权限,自己维护和管理线上代码及业务。

● 第二个阶段:纵向自动化

随着业务量的增长,IT基础设施发展到了另外一个量级(通常在上百台至几千台机器的规模),开始有专门的运维人员,从事日常的安装维护工作,扮演"救火队员",收告警,有运维规范,但运维主要还是为研发提供后置服务。

这个阶段已经开始逐步向流程化处理进行过渡,运维部门开始输出常见问题处理的清单,有了自己业务范围适用的自动化脚本,开始利用开源软件的拼装完成大部分的工作。

具体表现为:各产品线有自己编写的脚本,利用如SVN+puppet或chef来完成服务器的上线和配置管理等工作。

● 第三阶段:一切皆自动

在互联网化的大潮中,越来越多的黑马团队应运而生,都曾有过短时间内用户访问量翻N倍的经历。在流量爆发的过程中,ICP的互联网基础服务设施是否能够很好的跟进,直接决定了业务内容能否满足海量用户的并发访问。

与此同时,运维系统需要足够地完善、高效、流程化。谷歌、腾讯、百度和阿里等规模的公司内一般都有统一的运维团队,有一套或多套自动化运维系统可供参照,运维部门与开发部门会是相互平行的视角。并且也开始更加关注IT基础设施在架构层面的优化以及超大规模集群下的自动化管理和切换(如图1所示)。

图1大型互联网公司IT基础设施情况概览

二、BAT(百度、阿里、腾讯)运维系统的分析

国内的互联网公司百度、阿里、腾讯(以下简称:BAT)所提供的主要业务内容不同,IT架构不同,运维系统在发展过程中有不同的关注点。

1腾讯运维:基于ITIL的运维服务管理

预计到2015年腾讯在全国将拥有60万台服务器。随着2012年自动化部署实践的成功,目前正在进行自动化验收的工作。在网络设备方面,后续将实现从需求端开始的全自动化工作:设备清单自动生成->采购清单自动下发->端口连接关系、拓扑关系自动生成->配置自动下发->自动验收。整个运维流程也已由初期的传统IT管理演进到基于ITIL的服务管理流程(如图2所示)。

图2腾讯基于ITIL的运维服务管理

2阿里运维系统:基于CMDB的基础设施管理+逻辑分层建模

CMDB(Configuration Management Database) 配置管理数据库(以下简称:CMDB),将IT基础架构的所有组件存储为配置项,维护每个配置项的详细数据,维护各配置项之间的关系数据以及事件、变更历史等管理数据。通过将这些数据整合到中央存储库,CMDB可以为企业了解和管理数据类型之间的因果关系提供保障。同时,CMDB与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。可实现IT服务支持、IT运维以及IT资产管理内部及三者之间的流程整合与自动化。在实际的项目中,CMDB常常被认为是构建其它ITIL流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。

3百度自动化运维:部署+监控+业务系统+关联关系

百度主要面临的运维挑战包括:突发的流量变化、复杂环境的关联影响、快速迭代的开发模式以及运维效率、运维质量、成本之间的平衡等等。百度的运维团队认为,当服务器规模达到上万台时,运维视角需要转为以服务为粒度。万台并不等于"百台100";机器的运行状态,也不再代表业务的工作状态;运维部门为研发提供前置服务,服务与服务之间关系也随着集群的扩大逐渐复杂起来。

图3百度自动化运维技术框架

百度的自动化运维技术框架,划分为部署、监控、业务系统、关联关系四大部分,整个框架更多突出了业务与IT基础设施的融合,注重"关联关系"的联动。所谓关联关系,主要是指任务与任务之间的时序依赖关系、任务与任务之间的数据依赖关系、任务与资源之间的引用依赖关系,分别对应到任务调度、数据传输、资源定位的服务流程中,形成了多条服务链。

关联关系的运维与业务较强相关,需要有一套系统能够理清楚关系的全貌,从而在复杂的服务链上,定位运行所在的环节,并在发生故障时预估影响范围,及时定位并通知相应的部门。在这样的一套系统中,自动化监控系统非常重要。百度的技术监控框架,主要通过数据采集、服务探测、第三方进行信息收集,进行监控评估后交给数据处理和报警联动模块处理,通过API接口进行功能扩充(如图4所示)。

图4百度自动化技术监控框架

其实无论是BAT等互联网企业还是其他行业的企业,在IT建设中都会遵循IT基础架构库(ITIL)或ISO20000服务管理的最佳实践,采用自动化IT管理解决方案以实现重要的业务目标,如减少服务中断、降低运营成本、提高IT效率等等。随着ISO20000、ITIL v30的发布和推广,两者已经成为事实上的某种标准。在当今企业IT管理领域,对两个标准有着很迫切的需求。特别是ISO20000的认证要求,已经成为企业越来越普遍的需求 。ITIL v30包含了对IT运维从战略、设计到转换、运营、改进的服务全生命周期的管理,相关方案往往覆盖了多个领域和多个产品,规划实施和工具的选择会比较纠结。如果选择开源的工具,从CMDB开始就会遇到很多的开发工作,对于很多注重成本收益比的企业,可以参考,但由于无法保证性能与效果并不一定适用。因此,成熟的商业方案会是更好的选择。

最新的iMC V7版本,围绕资源、用户、业务三个维度进行创新,发布了SOM服务运维管理(基于ISO20000、ITIL标准)等组件,增加了对服务器的管理,能很好的满足更多互联网化的场景需求。

通常认为,一个高效、好用的配置管理数据库一般需要满足6条重要标准,即联合、灵活的信息模型定义、标准合规、支持内置策略、自动发现和严格的访问控制。企业IT基础架构的元素类型、管理数据的类型往往有较多种,如网络设备、服务器、虚拟机等,因此对于多种信息的存储需要有合适的联合的方法。虽然 iMC智能管理平台在网络设备、服务器设备等方面已经能够较好的的满足,但是随着服务器虚拟化技术的发展,虚拟机正越来越多的成为IT基础架构的一大元素。因此,针对这一需求华三通信基于CAS CVM虚拟化管理系统,对服务器CPU、内存、磁盘I/O、网络I/O等更细节的重要资源以及虚拟机资源进行全面的管理。与BAT不同,华三通信的网管软件面向全行业,目前虽然没有对域名管理等特殊资源的'管理,但是能够通过API接口等方式与特有系统进行联动,进而满足定制化运维的需求,尤其是在互联网化的场景中,针对不同的业务需求,可以实现很多定制化的对接需求,例如,iMC+WSM组件与国内某大互联网公司自有Portal系统进行了对接,打通了iMC工具与用户自有运维平台,很好的实现了架构融和。另外,与阿里的逻辑分层建模相似,H3C "iMC+CAS"软件体系在上层也做了很多的逻辑抽象、分层,形成了诸多的模块,也即是大家看到的各种组件。

三、网络自动化运维体系

"哪怕是一个只有基础技术能力的陌生人,也能做专业的IT运维;哪怕是一个只有初中学历的运维人员,也能够带队完成中小型机房节点的建设,并负责数百至上千台服务器的维护管理工作"--这是一些公司对自己IT运行维护水平的一个整体评价。看似有些夸大的嫌疑,但实际上依托于强大的IT运维系统,国内已经有不少互联网公司能够达到或者接近这一标准。

这些企业都经历了运维发展过程中的各个阶段,运维部门曾经也是被动的、孤立的、分散的"救火队"式的团队,在后来的发展过程中,IT系统架构逐渐走向标准化、模型化,运维部门建立了完整的设备、系统资源管理数据库和知识库,包括所有硬件的配置情况、所有软件的参数配置,购买日期、维修记录,运维风险看板等等,通过网管软件,进行系统远程自动化监控。运维过程中系统会收集所有的问题、事件、变更、服务级别等信息并录入管理系统,不断完善进而形成一套趋向自动化的运作支撑机制。按照云计算的体系架构,在这样一套系统中,主要的IT资源包括计算、存储、网络资源,近些年随着网络设备厂商的推动,网络设备管理方面的自动化技术也得到十足的发展。

总结来看,一个企业在进行互联网化的建设初期,就需要考虑到随着用户访问量的增加,资源如何进行扩展。具体可以细化为规划、建设、管理、监控、运维五个方面。

1规划模型化

为了确保后续业务能够平滑扩容,网管系统能够顺利跟进,互联网企业一般在早期整体系统架构设计时便充分考虑到标准化、模型化,新增业务资源就好比点快餐,随需随取。

标准化:一是采用标准协议和技术搭建,扩展性好,使用的产品较统一,便于管理;二是采用数据中心级设备,保证可靠性、灵活性,充分考虑业务系统对低时延的要求。

模型化:基于业务需求设计网络架构模型,验证后形成基线,可批量复制,统一管理,也适宜通过自动化提高部署效率、网管效率。

图5常见互联网IDC架构

2建设自动化

互联网IT基础设施具备批量复制能力之后,可以通过自动化技术,提高上线效率。在新节点建设过程中,3~5人的小型团队即可完成机房上线工作。例如某互联网公司某次针对海外紧急业务需求,一共派遣了2名工程师到现场进行设备安装部署和基本配置,而后通过互联网链路,设备从总部管理系统中自动获取配置和设备版本,下载业务系统,完成设备安装到机房上线不超过1周时间。

要达到自动化运维的目标,建设过程中需要重点考虑批量复制和自动化上线两个方面(如图6所示)。

批量复制:根据业务需要,梳理技术关注点,设计网络模型,进行充分测试和试点,输出软、硬件配置模板,进而可进行批量部署。

自动化上线:充分利用TR069、Autoconfig等技术,采用零配置功能批量自动化上线设备,效率能够得到成倍提升。

图6批量配置与自动化上线

○ Autoconfig与TR069的主要有三个区别:

○ Autoconfig适用于零配置部署,后续一般需要专门的网管系统;TR069是一套完整的管理方案,不仅在初始零配置时有用,后续还可以一直对设备进行监控和配置管理、软件升级等。

○ Autoconfig使用DHCP与TFTP--简单,TR069零配置使用DHCP与>1 Puppet
Puppet是一款开源工具,旨在为系统管理员大大简化自动化和报告工作。它基本上是款配置管理软件,有助于配置和维护企业网络中的服务器及其他系统。系统管理员通常每天要花大量时间重复做同样的任务。他们总是想要使这些任务实现自动化,以便有更多的时间来处理其他项目或学习新的概念和脚本语言。管理员可以通过编写脚本使任务实现自动化,但是在拥有大型网络的公司,脚本不是很方便。这时候,Puppet就大有用场,因为借助Puppet,你可以:
为网络上的每个主机定义独特的配置设置;
不断监测网络,查找任何变动;
帮助高效地创建和管理用户;
帮助管理每个开源工具的配置设置。
2 CHEF
Chef是另一款可供Linux系统管理员使用的流行的自动化工具。它用Ruby和Erlang编写,对于配置和维护公司的服务器大有帮助,无论贵公司拥有十台服务器还是上百台。它还可以帮助你将云端服务器与亚马逊EC2、OpenStack、RackSpace或谷歌云整合起来。Chef可以将你的基础设施转变成代码,那样借助代码,你只要更改几行代码,就能轻松撤下一台服务器,从而让你轻松管理服务器。物理节点还意味着:将变更内容部署到生产环境之前,可以对它轻松进行测试,你还可以轻松控制针对代码的每次更新的版本。Chef DK为你提供了测试和管理配置的所有工具,Chef Server充当你所有“菜谱”(recipe)的存储库,可以管理与服务器连接的每个节点。Chef客户软件在每个客户端上运行,时不时收到服务器方面的信息,从而更新其配置设置。
3 CFEngine
面向Linux系统管理员的下一款自动化工具是CFEngine,这是另一个领先的自动化系统,可帮助你轻松管理整套基础设施,并使之实现自动化。一旦你使用CFEngine为网络中的系统定义了配置,那么CF Engine就会自动确保配置符合规范。不用说,如果你的网络中有10个或100个节点,可以在短短几秒内更新或改动任何一个节点或所有节点。CFEngine之所以受到许多Linux系统管理员的青睐,是由于它运行成本低、响应速度快、具有自愈合功能。
4 Ansible
Ansible是Red Hat提供的一款开源配置管理和IT企业自动化软件,随带一种简单的编程语言,让系统管理员能够高效地处理自动化和配置过程。Ansible由控制机器和控制机器控制的节点组成。节点是通过SSH来加以控制的。Ansible的主要特点之一是代理并不是部署到节点 ,但是完全借助SSH来进行通信。易学易用、具有一致性、高可靠性和安全性是让Ansible脱颖而出的其他特性。Ansible的唯一局限就是无法配置裸机和虚拟机。
5 Foreman
Foreman是另一种用于取证分析的开源配置管理工具。Foreman提供了仪表板,我们可以通过仪表板来配置裸机服务器和虚拟机。默认情况下,无论我们何时安装Foreman,它都使用Puppet作为配置工具。不过借助插件,Foreman还支持与其他配置管理工具整合起来,比如Chef、Puppet、Ansible、Salt及其他众多工具。Foreman自动化工具还随带各种各样的接口,包括命令行接口、Web前端以及REST API。Foreman的其他一些显著功能包括如下:
通过仪表板,管理Puppet模块和puppet类方面的改动;
很容易从Foreman仪表板来管理Puppet环境;
由于仪表板,创建主机群(Hosts Group)以及为主机群添加puppet模块变得很轻松;
可以从Foreman仪表板,轻松添加Puppet模块或推送到节点。
6 Katello
Katello是另一种开源自动化工具。换而言之,我们可以说Katello是一种开源版的Red Hat satellite Server;如果我们不想花钱在企业产品及其支持上,就可以用它来代替Red Hat satellite Server。Katello已被Foreman收购,Foreman中的大部分功能在Katello中也得到了支持。Katello Server的主要功能如下:
给基于Linux的服务器(RHEL和CentOS )打补丁;
使用Pulp Service来同步代码库;
使用Foreman进行各种配置;
它还可以处理订阅内容管理,并审计所有已部署的软件包;
借助Katello,你可以为所有主机创建主机群,另外还可以在单一主机或一群主机上批量执行 *** 作。
7 Nagios
Nagios现在名为Nagios Core,它是一种开源自动化和监控工具,可以管理基础设施中的所有系统。它还提供警报服务,一旦察觉到你的网络中哪里有问题,就会提醒系统管理员。借助SNMP以及Nagios,系统管理员还可以控制并管理打印机、路由器和交换机。Nagios让我们得以创建事件处理工具,一旦某个应用程序及其服务停运,就可以自动重启出现故障的那个应用程序及其服务。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存