精华内容
下载资源
问答
  • 自动化测试和自动化运维
    2020-12-06 09:08:53

    现在云计算和DevOps的发展趋势,我觉得一个成熟的自动化运维平台应该包括以下的特性:

    image.png

    一、支持混合云的CMDB现在越来越多的服务器都转到了云上,而主流的公有云、私有云平台都拥有比较完备的资源管理的API,这些API也就是构建一个自动化CMDB的基础。新一代的自动化运维平台应该是可以基于这些API来自动维护和管理相关的服务器、存储、网络、负载均衡的资源的。通过API对资源的操作都应该被作为操作日志记录下来,以备作为后续操作审计的基础数据。

    CMDB这个东西听上去是老生常谈,但这个确实是所有运维工具的基础设施。而基于开源工具做运维平台最大的麻烦,就是如何在各个工具之间把CMDB统一起来。CMDB不统一起来,就意味着一旦要增加一台服务器,可能要在各个运维工具里面都要同步一下,这个还是非常折腾滴。。。

    二、比较完备的监控+应用性能分析(APM)能支持对平台的可用性、服务器的性能、各种服务(web服务、应用服务、数据库服务)的性能进行监控。做的好一些应该能进行更深入、或者关联性的性能分析。

    现在市面上一般都会将资源性能监控和应用性能监控(APM)混合着讲,这里面的产品确实也有很多都是重叠的,两方面都会涉及到。

    开源的性能监控系统主流有的Zabbix、Nagios,国产的开源监控平台有小米OpenFalcon,但这些基本都只是做基本的资源监控(服务器,磁盘、网络等)和简单的服务软件的性能监控(中间件,数据库等)。

    而市面上的APM系统更主打的功能是应用性能分析,比如能精确定位到某个应用的URL的访问速度快慢,某些SQL执行速度的快慢,这些对于开发人员和运维人员快速定位问题还是很有帮助的。APM这方面的商业工具,国外比较主流的有New Reclic、Dynatrace,国内的也就是透视宝、Oneapm、听云等,他们也提供了API进行集成。APM这方面的开源工具有pinpoint(一个韩国团队开源的),zipkin(twitter开源),cat(大众点评开源)。

    三、有一个还不错UI的批量运维工具在业务发展比较快的情况下,从几台服务器,到几十台服务器,再到几百台服务器,批量运维的需求很自然就产生了,老板也希望越少的人干越多的活。

    现在也有不少开源的批量运维工具,也都比较成熟了,比如puppet、chef、ansible、saltstack。puppet和chef都是ruby做的,实话实说,ruby的熟手市面上很少,比python不是难招一点。

    我个人比较推荐使用ansible或者saltstack,这两个系统都是python写的,代码质量和社区活跃度都挺不错的。ansible有官方的web ui——Tower,但实话实说不好用,所以我们也在重新做一套自己用起来更顺手的WEB UI。

    四、日志集中分析工具线上系统最常规的问题定位方式,就是日志分析了。随着服务器的增多,日志的分析定位也成为一个难点和痛点(想象一下,系统出故障之后,要去几十甚至数百个节点去上去查日志,是有多折腾)。

    国内有一家叫日志易的公司,是专门做日志分析方面的运维工具的。另外还有一家log insight,也是做这个领域,但产品好像还处于beta阶段。

    日志分析这个领域现在是一个热点,现在的开源方案也比较多了,比如著名的ELKStack,还有Flume+Kafka+Storm的体系。上面这两个方案相对重一些,部署比较复杂,网上介绍的文章也不少。

    比较轻量级的开源日志集中采集方案有python做的Sentry,他是通过改造各种语言的日志采集框架来实现日志的集中采集,各种主流的开发语言的日志框架都支持得很完整了,比如java的log4j和logpack。Sentry的官网在此: Sentry - Track exceptions with modern error logging for JavaScript, Python, Ruby, Java, and Node.js**

    五、持续集成和发布工具这方面其实比较难有统一的需求,很多公司集成发布的做法都差异挺大的。持续集成方面,一般用jekins的比较多,这方面网上介绍的文章也很多。

    而如何把打好的包发布至各台服务器,则可以通过批量运维工具或者脚本来完成了。版本发布的过程涉及到很多细节,包括了版本文件的上传、分发、版本管理、回滚等各种操作。对于一般不太复杂的项目,我比较推荐的做法是把打包好的文件上传到svn上,然后通过脚本在各台服务器上进行发布操作就行了,这样其实是利用了SVN来完成文件的上传、分发、版本管理、回滚等各种操作。

    六、安全漏洞扫描工具

    现在一个稍微有点知名度的系统,都会遭受各种各样的安全攻击的折磨。一般的公司不太可能请得起专职的安全工程师,所以运维工程师最好能自己借助一些安全扫描工具来发现自己系统的漏洞。安全工具方面我了解不多,不太熟这个领域的开源工具。之前乌云网推出过一个SaaS化的漏扫平台——唐朝巡航,有对外提供漏洞扫描的API,不过最近乌云网一直在升级,所以也就暂时无法调用了。

    更多相关内容
  • 自动化运维管理解决方案

    千次阅读 2020-12-01 12:55:01
    2 应运而生的自动化解决方案... 5 3 自动化应用场景... 7 3.1 灾备切换自动化... 7 3.2 故障现场快照... 8 3.3 批量设备操作自动处理... 8 3.4 周期性作业自动调度... 9 3.5 应急处理流程自动触发... 9 3.6 ...

     

     

     

    目录

    1       IT运维管理面临挑战... 3

    2       应运而生的自动化解决方案... 5

    3       自动化应用场景... 7

    3.1       灾备切换自动化... 7

    3.2       故障现场快照... 8

    3.3       批量设备操作自动处理... 8

    3.4       周期性作业自动调度... 9

    3.5       应急处理流程自动触发... 9

    3.6       重要配置备份、基线比对... 10

    4       方案目标... 12

    4.1       运维脚本集中管理... 12

    4.2       可视化流程配置引擎... 12

    4.3       作业流程人工干预... 12

    4.4       作业执行验证/持续监控... 13

    4.5       作业操作手册自动生成... 13

    4.6       作业执行结果展现... 13

    4.7       配置备份/基线库管理... 13

     

     

    1. IT运维管理面临挑战

    随着企业IT服务多样化发展,IT应用的规模也越来越庞大、IT应用的结构也越来越复杂。随着不断变化的IT应用,需要越来越合理的模式,来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式的保障因素就是IT运维管理。

    据国Gartner网站2013年调研结果显示,在IT 费用中大约有1/2 用于系统运营期的运维管理工作。

     

     

    即使当前企业在IT运维管理方面投入大量时间及费用,但是在IT运维管理方面仍存在诸多问题。主要表现为:

    • 运维管理效率低、人工成本高:
    1. 经验未沉淀为实际运维工作,经验利用率、推广率低;
    2. 分散于各服务器上的运维脚本,存在管理风险,且耗费大量管理成本;
    3. 日常操作消耗大量人力资源,误操作风险较大,操作执行效率低;
    • 操作过程可控度低,运维风险大:
    1. 操作与执行方案匹配度无法保证,实际操作过程可控度较低;
    2. 日常操作对人员水平要求高,人力资源风险大;
    • 运维操作透明度低:
    1. 实际操作不便于监督,存在“黑盒”操作风险;
    2. 日常工作与实际操作无法有效关联,不利于日后审计;
    1. 应运而生的自动化解决方案

    面对IT运维管理中的诸多问题,单靠人工已经无法满足在技术、业务等方面的要求,那么标准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被人们所重视。其中,IT运维自动化是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

    IT运维自动化从诞生发展至今,其重要属性之一已经不仅仅只是代替人工操作,更重要的是深层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。自动化对IT运维的影响,已经不仅仅是人与设备之间的关系,已经发展到了面向客户服务驱动IT运维决策的层面。

    中煤信息技术有限公司运维部借鉴IT运维自动化发展趋势,结合多年IT服务经验中对用户需求的把控,自行研发自动化解决方案。

    自动化方案概述:

    通过自动化手段,实现IT运维管理操作的自动化调度、“一键式”处理;通过异常处理的支持,对操作的结果进行验证,并持续监控作业执行结果;通过时间约束条件,对按照时间计划执行的运维作业进行管理;通过复杂的关系运算条件,处理复杂的作业流程的关系;通过UserTasks人工接口,方便运维人员对作业调度流程的参与;通过图形化的工作流定制平台,实现对业务活动进行整体规划;通过与其它平台的集成,实现了与报警、监控等运维系统的一体化管理。从而实现功能强大、简单易用、安全可靠的作业调度自动化。

    通过自动化解决方案,推动了企业IT运维管理操作的指令化、标准化、流程化进程。

    自动化建设目标:

     

    1.  自动化运维应用场景
      1. 灾备切换自动化

    随着IT设备数量持续增加,IT系统日益复杂,依靠手动方式进行系统灾备切换的传统模式遇到了一定瓶颈,主要表现:

    • 操作效率低:RTO (Recovery Time Objective,复原时间目标)无法保证;
    • 操作风险大:系统复杂度日益增高,操作复杂度也随之增强,操作失误的几率也随之增高;
    • 过分依赖个人水平:在尽短的时间内完成整个切换流程,对操作员本人的技能水平、操作规程熟悉程度、环境熟悉程度有着非常高的要求。
    • 操作过程不透明:灾备切换有相应的操作规程,但是切换过程中,每个环节执行状态、当前执行环节情况只有操作员本人了解,旁人无从知晓。

    通过对灾备切换流程进行标准化配置,实现灾备切换管理的配置可视化、执行可视化、过程可视化、规程可视化。

    • 配置可视化:提供类似Visio配置方式,每个操作环节配置成为一个节点,然后通过拖拽、连线的方式配置整个切换流程,避免了代码编写工作,降低了系统使用门槛,增加了系统易用性;
    • 执行可视化:提供图形界面方式,灾备切换流程无需通过繁琐命令行方式执行,管理员仅需在图形界面中选择相应流程并点击执行即可,执行前还可以在界面进行多人确认;
    • 过程可视化:提供操作流程视图,所有人员在流程图中可以清晰了解灾备切换整体流程情况、当前执行环节,以及每个节点执行状态,为保证不同使用习惯,执行过程提供流程视图、树状视图两种展现形态;
    • 规程可视化:提供自动生成操作规程文档功能,管理员配置完某自动化流程时,系统能够自动生成该流程的操作规程文档,系统使用人员可以根据文档清晰了解到本自动化流程完整信息。
      1. 故障现场快照自动生成

    传统IT监控系统在故障发生时能及时告警,但是运维人员、厂商、开发商仅仅获得一条告警信息,无法从监控平台获取更多的信息完成故障分析及预防。

    通过监控/监控集成、作业调度双重技术手段,在故障发生时,对故障现场的本机环境、跨服务器/跨设备环境进行全方位捕捉,对故障现场进行最大程度的保留,协助管理员、厂商、开发商进行事故后的详细分析,并设定相应预案。

    通过故障现场快照,可以完成:

    1. 故障现场全方位场景获取,获取内容可以根据不同角色需求灵活定制;
    2. 故障发生时系统自行完成场景捕获、保存,并将其分发给不同的角色进行联合“会诊”;
    3. 根据预案内,通过定制化纳入到中,实现故障发生前的预警,并且提供及时处理,避免故障再次发生。
      1. 批量设备操作自动处理

    随着IT规模不断扩大,IT设备数量不断增多,原有简单的运维操作,也随之成倍增长,即增加了运维工作量,又使重复性操作过程中,由于人员注意力降低导致的操作失误次数成倍增长。

    例如:对设备批量程序更新、批量巡检等、批量密码修改等大批量、重复性操作。

    提供批量作业并行处理平台,实现多设备同时批处理操作。通过自动化流程把,将简单的操作在大批量设备上操作,并对作业执行过程进行监控对执行结果进行检查。

    通过部署批量设备操作流程:

    1、批量设备并发执行,缩短批量操作执行时间,提高执行效率,并且提高系统升级一致性;

    2、减少批量操作过程中,由于实施过程中因操作人员操作疲劳、注意力降低导致的误操作,从而减少人工失误导致的生产系统故障;

    3、提高IT运维自动化水平,减少人工投入,降低运营成本;

      1. 周期性作业自动调度

    随着IT应用系统不断上线,运维中周期性、重复性操作逐渐增多。此类操作即占用了运维人员大量日常工作时间,又存在人工误操作的风险。并且对于复杂作业流程,还需要运维人员有较高的技术水平及较高的系统熟练度,由此增加了因人员、岗位变动导致的而操作意外发生几率。

    例如:可以对每日巡检、日终批量操作、事务数据收集、月结批处理、年结批处理等作业执行的自动化。

    提供统一应用运行操控平台,实现跨平台、跨作业段、跨设备的作业协同调度操作。平台将周期性、重复性批处理作业,以及庞大复杂的作业流程,固化为自动化作业流程,通过时间调度引擎,按照既定时间规则,在指定时间点进行调度。从而实现作业的周期性自动化调度,运维人员仅需查看相应的作业执行过程、执行成功与否、执行结果报告(截图、操作命令输出结果等操作结果信息)。通过自动化流程把成百上千的批处理作业组织起来,规范跑批作业,对作业执行过程进行监控对执行结果进行检查。

    通过周期性作业调度自动化:

    1、降低了关键岗位的技能要求:过去,必须由全面掌握各业务系统的运维专家完成各类批处理作业的操作和判断;现在,普通运维人员即可使用自动化工具完成。

    2、消除故障隐患、保证作业效率:一方面,对关键数据的完整性、合规性进行校验;另一方面,在发生异常时快速定位故障数据源,以便排查。

    3、降低日常运维工作中人员的时间投入、精力投入,从而将运维人员解放出来,投入到更重要的IT运维工作中。

      1. 应急处理流程自动触发

    IT系统发生严重故障发生时,时间就是金钱。一方面,如何缩短管理员接收通知到故障处理时间;另一方面,如何缩短故障处理过程花费的时间,并提高故障处理成功率,显得极其重要。

    例如:文件系统满,导致新的日志无法写入;数据库归档日志空间满;数据库表空间满,数据无法写入;生产系统故障,需要紧急切换备份系统等。

    自动化处理与监控告警集成,第一时间发现,调用预定义的故障应急处理流程;故障处理后,系统会调用检查流程,对故障恢复情况进行检查。全部操作完毕后,系统会将故障发生现场镜像、故障处理结果、处理完毕检查确认结果,一并发送给管理员,由管理员确认整个流程执行无误。

    通过应急处理流程:

    1、极大缩短了从故障发生到故障响应的间隔,为系统恢复赢得了宝贵的时间,从而极大的减少了系统故障所产生的影响;

    2、管理员在应急故障处理过程中肩负着极大的压力,精神高度紧张,可能会产生处理流程顺序颠倒或者忘记某一环节等现象,并且存在压力下导致操作失误的可能,由自动化平台应急处理,一方面提高了故障处理过程中的操作效率,一方面提高了故障处理的成功率。

    3、系统自动将故障发生的现场镜像、故障处理过程、结果以及故障恢复后的检查结果,以报告形式保存下来,为今后审查、统计提供了依据。

      1. 重要配置备份、基线比对

    IT系统中配置文件非常重要,因为误操作导致配置文件被删除、内容被修改,经常会导致非常严重的后果。日常运维工作中,管理员需要花费大量的时间,对系统中包括操作系统、数据库、中间件、应用系统及其他软件的重要配置文件进行周期性备份,并且配置文件被误修改、恶意篡改时,不容易被发现,只有当产生严重后果才会被人们注意。

    重要文件例如:Oracle的initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件,操作系统/etc/passwd文件,以及Weblogic、应用系统等配置文件。

    通过基线保护模块,帮助企业建立信息系统的安全基线,并持续监控关键文件和系统的完整性和一致性。平台定期对企业中各层面、各级别配置文件进行周期性备份,并以此建立文件基线。平台会定期对系统中配置文件修改日期、大小、内容等进行扫描,并将扫描结果与基线版本进行比对,当发现两者不一致时,及时通知管理员进行审查,并在极端情况以基线版本为准则,对现有环境进行备份、更新。

    通过文件基线管理功能:

    1、系统自动对重要配置进行备份,极大减轻了管理员日常工作压力,并且减少了备份过程中的遗漏情况发生;

    2、系统通过自动扫描、对比,发现配置异常,改变原来配置文件修改不易发现的缺点;

    3、系统自动恢复被篡改的配置文件,从而完全避免了因配置文件修改导致的重大故障;

    4、保证两地三中心主备系统的配置信息一致性。

     

    1.  方案目标
      1. 运维脚本集中管理

    日常运维工作中,管理员积累了丰富的运维知识,并将部分整理为运维脚本,方便日常运维管理工作。

    提供运维脚本集中管理功能,将日常大量零散的运维脚本集中管理、统一下发。既实现了日常运维脚本的集中存储、统一版本控制,也实现了自动下发、批量下发、批量更新。同时特有版本管理功能,可以清晰统计各Agent端运行的脚本版本情况。

      1. 可视化流程配置引擎

    各种运维操作,都有其一定的业务逻辑关系。流程定制化,就是将这些看似零散又有着复杂的逻辑关系的应用操作以一种常态化固定下来。例如:灾备系统启停操作、数据库启停操作,都是由多个操作步骤、操作指令按照先后顺序执行完成。自动化运维管理平台先将这些零散操作节点化,然后将这些代表每个操作单元的节点以一定的业务逻辑关系定制成可执行流程,甚至流程里面也可嵌套子流程或者引用已有流程的以满足各种庞大的业务逻辑需要。

    提供了类似Visio可视化配置界面,通过鼠标点击和拖拽方式,轻松完成各类复杂流程制定工作。

      1. 作业流程人工干预

    日常运维工作,对于复杂操作流程,需要部分人工干预工作。例如:灾备切换演练过程中,柜台签退确认、演练参与人员签到;重要作业任务执行前,多人复核确认;核心系统自动化任务执行前,人工录入鉴权信息等。

    在作业流程执行过程中,提供图形化人工干预界面。以便管理员在流程执行过程中,进行执行复核确认和重点信息人工录入工作,提升作业流程执行安全性。

      1. 作业执行验证/持续监控

    日常运维作业执行完毕,需要确认作业执行效果。且部分行业监管机构要求,系统投产变更后,需对系统进行3~5天持续监测,确保系统变更后稳定运行。

    提供检查/监控作业功能,在自动化作业执行完毕后,对作业执行效果进行检查、验证。并在一定时间内对系统运行状况进行持续监控,保障业务连续性。

      1. 作业操作手册自动生成

    提供操作手册自动生成功能。针对每个自动化操作流程,自动生成操作手册。记录每个操作流程的操作指令、操作服务器、操作账号、操作说明、操作流程。保障运维操作内容清晰化、透明化,同时保障自动化操作内容与日常运维操作手册同步化。

     

      1. 作业执行结果展现

    为系统管理员、运维操作人员、管理者等不同角色提供不同角度的运维视图。

     

      1. 配置备份/基线库管理

    基线保护模块(简称文件基线保护软件)帮助企业建立信息系统的安全基线,并持续监控关键文件和系统的完整性和一致性。

    基线检查−为文件系统建立基线数据库,并持续监控文件系统的变更。

    数据备份−为文件系统建立完整备份。

    实时告警−创建基线和备份文件系统时通知、文件系统被篡改和恢复时告警。

    变更恢复−及时恢复被篡改的文件系统。

     

     

     

     

    展开全文
  • 持续性的运维建设就需要一套自动化运维体系,那么我们应该从何入手? 其实前期《运维思考》一系列文章已经给我们答案了,就是从运维框架入手分层建设、打好基础,记住“万丈高楼平地起,勿在浮沙筑高台”。 运维...

    需求

    运维是事件驱动,还是自驱动可能是我们在运维工作中不太关注的问题。事件驱动让运维止步于故障,而自驱动让运维不止于建设。持续性的运维建设就需要一套自动化的运维体系,那么我们应该从何入手?

    其实前期《运维思考》一系列文章已经给我们答案了,就是从运维框架入手分层建设、打好基础,记住“万丈高楼平地起,勿在浮沙筑高台”。

    运维框架

    在这里插入图片描述

    通常讲到运维建设,我们脑海中首先浮现的是“一团麻”,因为这不是一个人、一个岗位的工作,而是一整个团队的工作;所以我们将“这团麻”进行由底层向上可划分为:

    • IT基础设施层

      IT基础设施层,主要由基础运维团队负责,主要包括存储、网络、服务器、安全设备等硬件设施;

    • 数据层

      数据层,主要由DBA团队、大数据团队负责,主要包括数据库、缓存、数仓等;

    • 应用层

      应用层,主要由应用运维团队负责,主要包括基础服务、业务应用、中间件等;

    • 管理层

      管理层,主要由配置管理团队、安全团队、应用运维团队负责,主要包括各种自动化操作、安全管理、监控管理等;

    • 展示层

      展示层,主要由各团队综合管理,主要包括各种管理工具、监控工具等;

    通过对运维框架的分解,对各种资源的逻辑隔离,让各个团队明确当前运维建设中的现状与不足。 如果我们能做到对运维框架的持续性关注,通过图片就可以明晰的知道哪个团队的不足,以及日后各团队的重点发力方向。

    运维依据

    如果你觉得运维框架还不够细致,那么针对框架中各个层次的工作拆解就来了,我们在此将其称之为运维依据

    针对这些个运维依据,我们可以展开一些列的针对性措施,如制定规范、自动化流程,如此就能够不断丰富各个团队的制度、规范、流程,何乐而不为?

    在这里插入图片描述

    1.基础设施层

    在基础的硬件设施管理之上,比较重点的工作是

    • 网络分区与隔离

      网络分区应考虑互联网接入区、普通生产区、数据区、外联区等各个区域,保证各区域的合理接入。

      网络隔离对测试、准生产、生产环境各环境进行隔离,避免访问权限混乱。

    • CMDB资产纳管

      CMDB用于管理基础设施层的各项资产,为上层应用提供数据支撑。使用CMDB一定要和业务应用紧密结合,一旦脱离于业务使用,那么CMDB将成为花瓶。

      相关场景可参考《运维思索:接地气的运维自动化建设》。

    • 内部dns

      通过内部dns可以将应用与IP解耦,一旦ip变更则不需要变更代码,生产环境应该尽量少做此种类型变更操作。

    • 服务器快速上架

      为满足业务日益增长的需求,应该具备服务器快速上架、资产实时记录至CMDB等一系列自动化流程。

    • 网络权限变更

      根据应用需求,快速登记并开通网络权限。

    等等。

    2.数据库

    数据库除了特有的集群外,可以考虑数据库工单、sql审核优化等流程。

    3.系统应用

    • 容量规划

    容量规划是指根据业务用户流量增长、现有容量等一定的基础数据之上进行周期性的评估,如果有条件的话可结合压测实际情况,这样数据会更准确。通过容量规划可有效控制服务器规范,避免资源溢出。

    • 环境维护与部署

    为避免因环境差异导致的问题,各环境应用部署需要遵循统一的目录规范,统一的自动化部署方式,分离的应用配置文件。

    等等

    4.配置管理

    • 统一账号管理

      所有和用户登录相关的平台、管理工具,尽量接入ldap统一账号管理,这样一个账号可以实现所有系统的统一登录。

    • 自动化配置中心

      在此秉承基础设施即代码的思想,通过ansible作为配置中心,在操作系统层面实现系统初始化、环境初始化、组件初始化、自动化备份等中心化管理,各环境交付统一规格的服务器。

    • 流程管理

      结合jira等工作流工具实现操作的流程化管理。

    等等

    5.CI/CD

    基于统一的运维规范前提下,CI/CD可以真正的做到将以上各个层面的想法、解决方案进行落地。因此CI/CD能力很大程度上决定了我们自动化运维的高度。

    • 持续集成

      代码质量测试、单元测试、打包测试、自动化测试等。

    • 操作系统交付

      遵循统一的运维规范,交付统一规格的操作系统,完成对运维平台各个管理节点的资源注册。

    • 版本发布

    支持版本平滑发布、回滚、重启等。

    • 自动打包

      Android/IOS 自动打包并上传至应用商店。

    6.监控系统

    • 系统建设

      多维度收集、分析监控数据,实现不同层面的告警;

      对于多维度的数据能够进行分析,实现故障自愈;

    • 监控管理

      监控并不是只要做到告警进行了,而是要做到告警的准确性,因此对告警级别、告警收敛、故障自愈策略等的管理需要我们进行重点关注。

    7.安全防护

    通过必要的WAF、IDS、防火墙等安全设备进行安全防护、流量分析外,还要结合安全渗透去主动发现问题。

    8.数据分析

    通过对应用数据、业务数据、运营数据进行集中分析、展示,帮助我们更好的了解系统运行状况。

    总结

    通过以上各个层面的运维框架和运维依据,希望大家能够结合实际情况进行头脑风暴,做到不止于此。

    当然自动化运维建设不是一蹴而就的,需要结合规范、制度、流程去逐步实现。

    记住运维建设是过程,不仅仅是目标,我们需要跟随技术潮流趋势,持续的优化与丰富这个过程。

    展开全文
  • 在IT行业运维一直是重复性工作较多的重灾区,而通过自动化运维工具不仅可以让工作更加轻松还减少了人为失误。 实现自动化运维就是将复杂的事情简单化、标准化、流程化,通过工具重复性、周期性的实现。例如应用系统...

    在IT行业运维一直是重复性工作较多的重灾区,而通过自动化运维工具不仅可以让工作更加轻松还减少了人为失误。
    实现自动化运维就是将复杂的事情简单化、标准化、流程化,通过工具重复性、周期性的实现。例如应用系统维护自动化,巡检自动化和故障处理自动化等。能够自动解决用户在 IT 管理中的日常运维问题,最终实现提升运维效率的目的。

    今天给大家分享4个常见的自动化运维工具。

    相关教程已经打包好,需要的戳这里领取。
    在这里插入图片描述

    首先一张图简单介绍一下4款自动化运维工具优势特点
    在这里插入图片描述

    ansible

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    Ansible是当下火热的自动化运维工具,它基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,通过集成非常丰富的模块,它可以实现各种管理任务,如批量系统配置、批量程序部署、批量运行命令等。

    重要的是,Ansible操作简单,即使新手也可以轻松上手,同时又提供非常丰富的功能,在运维领域,几乎可以做任何事。

    今天给大家分享一份 Ansible
    教程。内容详实,共91页,从运维自动化发展历程开始讲起,非常适合小白入门学习,同时也包括YAML语法、Ansible
    playbook等进阶知识点,以及3个实战案例,干货满满!

    目录:

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    提示下大家:网盘资源容易被和谐,建议需要的尽快领取

    第一部分:运维自动化发展历程及技术应用

    这一部分不仅介绍了运维自动化发展历程、自动化运维场景、工具,也对当下热门的云计算运维工程师核心技能进行了剖析,帮助小白理清思路,更快的进入学习状态。

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第二部分:ansible命令使用

    第二部分正式进入ansible的学习!从ansible发展史讲起·····

    Ansible发展史
    ansible功能
    Ansible特性
    Ansible架构

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)第三部分:ansible安装及入门

    第三部分:ansible安装及入门

    ansible的多种安装方法,包安装方式、相关配置文件以及按ansible常用模块。

    在这里插入图片描述

    第四部分:YAML语法

    YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、 C语言、Python、Perl以及电子邮件格式RFC2822等。Clark Evans在2001年在首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者.

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第五部分:Ansible playbook

    Ansible playbook基础
    Playbook变量、tags、handlers使用
    Playbook模板templates
    Playbook条件判断 when
    Playbook字典 with_items
    Ansible Roles
    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第六部分:实战案例

    利用playbook实现批量编译安装部署httped-2.4
    利用playbook安装docker
    利用playbook安装docker harbor
    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)Puppet

    Puppet

    在这里插入图片描述

    Puppet是历史悠久的运维工具之一。它是一种基础架构即代码(IaC)工具,使用户可以定义其基础架构所需的状态,并使系统自动化以实现相同状态。

    Puppet可监视用户的所有系统,并防止任何偏离已定义状态的情况。从简单的工作流程自动化到基础架构配置和合规性,Puppet都能做到。

    Puppet通过让客户端检查主站的更新清单来更新节点的配置,然后从主站服务器拉下新的配置。由于这个特点,Puppet比这里提到的许多其他工具更倾向于系统管理员。

    今天给大家分享一份 puppet运维实战手册。

    《Puppet运维实战》,是书名,亦是本书的写作目标,带领大家了解 puppet的工作机理以及它的外围生态系统,并且带领大家一步一步去 搭建从简单的C/S架构到带有webui管理的整套自动化运维管理工具。

    适用人群:

    使用puppet的自动化运维人员
    想对puppet快速入门的运维人员
    具有一定Linux基础的运维人员
    

    本篇文档共有四部分,312页。

    在这里插入图片描述

    第一部分:基础篇

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第二部分:扩展篇

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第三部分:架构篇

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    第四部分:Foreman架构的引入

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    SaltStack

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    Salt由Salt Master和被称为Salt
    Minions的客户端组成,后者作为代理在每个节点机器上运行。Puppet的工作方式是由节点请求更新,而Salt的工作方式与此相反,Salt
    Master将所有配置推送给所有客户机。

    Salt还可以在多主机配置中运行。如果一个Salt主服务器发生故障,代理将连接到配置中列出的另一个主服务器。这一功能提高了整个系统的整体可用性和冗余度。

    Salt的另一个好处是,它允许一次并行执行多个命令。这些命令通过AES(高级加密标准)进行加密,并通过SSH协议推送给客户端节点。

    SaltStack 分享5篇文档及代码

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    01快速入门

    1.1Saltstack基本概述
    1.2Saltstack快速安装
    1.3Saltstack认证⽅式
    1.4Saltstack远程执⾏
    1.5Saltstack配置管理
    1.6SaltStack消息队列
    1.7SaltStack常⽤配置
    

    02数据系统

    2.1数据系统Grains
    2.2数据系统Pillar
    

    03远程执行

    3.1⽬标(Target)
    3.2模块(Modules)
    3.3返回(Return)
    

    04配置管理

    4.1States状态模块(⾼级状态模块、LAMP架构案例)
    4.2States状态依赖
    4.3Jinja模板使⽤
    4.4Salt Job管理
    

    05架构扩展

    Salt多Master架构
    Salt Sydic模式架构
    salt⽆Master架构
    

    Chef

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)

    Chef是配置管理的开源工具,它能使每个环境与基础设施中的相同配置保持一致。它还有一个庞大的支持社区,有大量的文档和指导。Chef主控和节点软件在Unix/Linux系统上都可以使用,但只有客户端和工作站版本可以部署在Windows服务器上。

    注:部分资料来源网络,侵删
    

    上述提到的相关教程已经打包好

    常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)看下图领取!

    戳这里备注:运维自动化 免费领取

    展开全文
  • IT技术持续演进 IT管理者面临的挑战 无边界,零信任模型 云的安全责任分担矩阵 公有云的受攻击面 如何有效阻止攻击 ...多系统联动,构建闭环的自动化运维 在任何位置提供一致的、无缝集成的安全防御
  • 基于LInux平台的自动化运维Devops——自动化系统部署 DevOps简介 DevOps(Development和Operations)是一种重视”软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的惯例,透过自动化“软件交付”和...
  • 自动化运维一体化

    千次阅读 2018-11-11 21:53:43
    运维一体中的平台一体,指的是运维一体与平台一体,其中运维一体是数据中心在运维方面的运营体系,它包括三方面:人员组织一体、流程一体、平台一体。 一、转型: 和目前大部从运维团队一样,我们...
  • 越来越多企业已经开始落地自动化运维,在真正把步子迈出去的时候,发现自动化运维原来并不是一件复杂的工程,很多企业其实早就开始建设了。  说到这里,就要从运维的本原探讨。我们这里把运维的词义进行狭义的...
  • Saltstack,是一款在国内外都有广泛使用的自动化运维工具,基于python开发,C/S架构,支持多平台、高可用以及处理大量的并发。 Salt首先是一个分布式的远程执行系统,这一点也是与另一款著名的自动化运维工具Ansible...
  • 网络自动化运维体系

    千次阅读 2019-09-16 15:57:40
    AT等大型互联网企业都经历了运维发展过程中的各个阶段,运维部门曾经也是被动的、孤立的、分散的"救火队"式的团队,在后来的发展过程中,IT系统架构逐渐走向标准、模型,运...
  • 自动化部署及配置(Cobbler/Kickstart) 红帽发布的网络安装服务器套件Cobbler可以说是一大Linux装机利器,可以快速的建立网络安装环境,据说比Kickstart还要好用。 分布式集中化管理(Puppet/Salt/Ansible) ...
  • 在本章中,我们将学习如何使用目前常用的网络自动化库自动完成各种网络任务。Python可以在不同的网络层上与网络设备进行交互。 首先,Python可以通过套接字编程和socket模块操纵底层网络,从而为Python所在的操作...
  • 自动化运维系列二:Jenkins与gitlab实战一:Jenkins Job介绍二:使用Maven构建Java应用程序 一:Jenkins Job介绍 Job 代表一个任务或者项目;可配置与可执行;执行后的记录称之为Build;日志监控与记录;所有文件...
  • 前言 近几年来,随着云计算、大数据、人工智能技术的高速发展,DevOps、AIOps等新文化、新理念的冲击,几乎所有企业的信息...在这场席卷全球企业的变革中,自动化运维体系建设就是非常重要且基础的一部分内容。 在...
  • 原本需要花费几天时间的资源交付,通过标准运维标准化、流程化的建设后,只需半个小时的时间即可实现自动化的资源交付,这样的提升对于企业的效益是显而易见的。
  • 「点击图片获取最近两年爆款好文」一、Ansible 概述Ansible 是近年来越来越火的一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少...
  • 自动化运维建设整体出发,制定自动化运维实施蓝图,在此蓝图指导下,遵循“近期、中期、远期”的建设路径,结合实际情况,分阶段、分步骤执行建设任务。我们将其概括为“四步走”战略,并且分别罗列制定了不同时期...
  • 浅谈金融行业自动化运维

    千次阅读 2018-04-08 15:09:36
    金融行业的IT架构是最为复杂的,有各种混合的IT技术架构,如小型机、虚拟化、云平台及容器等技术,而且对于金融行业特别是银行业务来说,业务稳定性要求是最高的,因此本文简单闲聊银行IT的自动化运维现状。...
  • CI/CD如何支撑运维自动化

    千次阅读 2021-12-06 16:33:58
    CI/CD不仅能够在企业DevOps进程中发挥重要作用,其实在运维自动化过程中也能做到足够有效的支撑。因此如果我们只将其当作成一个打包工具就大错特错了,其带给我们思想上的转变则更加有意义。
  • 自动化运维系统具备需求描述

    千次阅读 2018-08-21 17:03:22
    根据现在云计算和DevOps的现态,我觉得一个成熟的自动化运维平台应该包括以下的特性: 一、支持混合云的CMDB 现在越来越多的服务器都转到了云上,而主流的公有云、私有云平台都拥有比较完备的资源管理的API,这些...
  • 结合现在云计算和DevOps的发展趋势,我觉得一个成熟的自动化运维平台应该包括以下的特性: 一、支持混合云的CMDB现在越来越多的服务器都转到了云上,而主流的公有云、私有云平台都拥有比较完备的资源管理的API,...
  • 携程网络防火墙自动化运维

    千次阅读 2016-09-02 17:49:36
    2010年加入携程网站运营中心,负责携程技术安全体系建设,包括网络安全架构规划设计、安全方案、产品评估及安全系统运维管理工作。 声明:本文为CSDN投稿文章,未经许可,禁止任何形式的转载。 随着互联网技术的...
  • 从零搭建一个自动化运维体系

    千次阅读 2018-08-29 19:36:03
    正是因为每个运维人员的能力不一样,技术水平参差不齐,甚至是运维习惯和工具也不一样,导致我们必须要创建一套规范的自动化运维体系,来提升工作效率。 二、建设自动化运维体系的目标 再看一下建设这套自动化...
  • Ducter能550x364 - 47KB - JPEG专访运维管理开源平台负责人刁文波:Ducter能550x381 - 45KB - JPEG光宇游戏黄振:开源运维自动化平台架构实现与846x474 - 35KB - JPEGCheungSSH国产自动化运维工具开源Web界面811x525 -...
  • 首先,之前所讲的专题是在运维自动化专场,后来一些交流下来,我们共同的感觉是,听众们都特别的关注运维自动化,恰恰说明了我们现在运维的现状是:有太多的公司还没有自动化或者自动化程度很低,还没有找到明确的...
  • 声明:本文来自于我的这些年运维创业服务经验,基于EasyOps自动化运维平台的经验总结,与大家分享。 近年来后端IT也呈现更复杂的形态,底层IT架构逐渐开放平台化、云化,上层应用微服务...
  • 客户对自动化运维有不同的需要,从下图左侧可以分出运维的几个层次,从最底层的手动运维、到半手工,半自动化运维、再到高度自动化运维、标准化运维以及智能运维(AIOps)、大部分客户的需求集中在中间三层,大部分...
  • Docker: 使用go语言,与K8/mesos/Machine/Compose/Swarm集群部署,与CI/CD jenkins 集成 2. 为什么会出现 Docker的出现是为了开发与运维之间的矛盾与尴尬。 开发在自己开发环境调试修改好代码,交给运维War...
  • 自动化运维架构

    2019-12-19 07:33:05
    1、DevOps定义 ... 强调整个组织的合作以及交付和基础设施变更自动化,从而实现持续集成、持续部署和持续交付 2、DevOps持续交付环 我们把开发交付划分为: 计划 --> 编码 --> 构建 --> 测试 --&g...
  • 云时代IDC自动化运维的几大神器

    千次阅读 2016-09-18 10:27:41
    自动化运维是数据中心、互联网企业高度重视的方向,数据中心的从纯手工、重复地进行软件部署运维,经历编写脚本运维,再到借助第三方工具高效、方便地部署和运维,在转变的过程中已大大提升了运维的效率和性能。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,639
精华内容 17,055
关键字:

自动化运维集成方案