自动化运维 订阅
随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等)。 展开全文
随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等)。
信息
外文名
IT operation and maintenance of automation
管理步骤
4个
中文名
IT运维自动化
存在问题
3个
IT运维自动化介绍
随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等)。从初期的几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求,那么标准化、自动化、架构优化、过程优化等降低IT服务成本的因素越来越被人们所重视。其中,自动化最开始作为代替人工操作为出发点的诉求被广泛研究和应用。IT运维从诞生发展至今,自动化作为其重要属性之一已经不仅仅只是代替人工操作,更重要的是深层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。自动化对IT运维的影响,已经不仅仅是人与设备之间的关系,已经发展到了面向客户服务驱动IT运维决策的层面,IT运维团队的构成,也从各级技术人员占大多数发展到业务人员甚至用户占大多数的局面。因此,IT运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就是实现IT运维的质量,降低成本。可以说自动化一定是IT运维最高层面的重要属性之一,但不是全部。
收起全文
精华内容
参与话题
问答
  • 万丈高楼平地起,高楼稳不稳取决于地基是否扎实。基础数据便是运维管理这座高楼的地基。首先介绍一下我们在运维管理中所涉及到的基础数据有哪一些。请看下图:基础数据大致分为CM...


    万丈高楼平地起,高楼稳不稳取决于地基是否扎实。基础数据便是运维管理这座高楼的地基。

     

    首先介绍一下我们在运维管理中所涉及到的基础数据有哪一些。请看下图:


    基础数据大致分为CMDB、日志、生产DB、知识库四个模块。

    一、基础数据概况

    CMDB中文是配置管理数据库,存储与管理企业IT架构中设备的各种配置信息,与未来的IT运维管理标准化和流程化紧密关联,并且支持流程的运转。运维管理平台创建初期或初版中的CMDB更多是偏向IT资产管理,我们在这里定义的IT资产管理,暂时抛除公司个人使用的普通PC机。

    日志主要存储CMDB中涉及到服务器或是其它设备的日志信息。

    DB主要是所有IT系统的数据库信息,包括运维管理系统本身的数据库。由于数据库的重要性,所以在基础数据中单独一个模块管理数据库,包括生产数据库、测试数据库、开发数据库。数据库的日志放在日志模块进行统一管理,监控和备份。

    知识库主要存储日常运维管理中发生的事件、问题以及一些经典问题的解决和常用的解决方案,主要起到运维管理辅助的功能。

    二、基础数据三要素

    基础数据要求完整、准确、实时,这三个特性缺一不可。

    1.完整性

    完整性,要求在数据采集整理阶段,要一一梳理,不能有遗漏。任何一个设备的疏漏都将会导致未来出现问题。例如最近的勒索病毒在防范上需要给服务器升级打补丁,这个时候就是根据服务器清单一一对照,升级。如果有遗漏落下的服务器未及时打补丁而导致病毒入侵,后果将很严重。那么,如何做到完整性呢?大致可以分为以下几步:

     

    首先数据采集阶段多人(推荐三人以上)同时对IT资产进行采集,那么在数据采集完成后,将会有三份或以上的IT资产清单。

    接下来就是相互确认阶段。相互check对比两方的清单和自己梳理的清单,找到不一样的地方,大家在一起开会进行讨论。经过这个阶段,会产生一份相对完整且三方(或以上)认可的IT资产清单。

    最后就是三方(或以上)一同针对认可的IT资产清单进行最终check,确保最后的清单,是经过多方讨论确认,并最终又check过的IT资产清单。此时这份IT资产清单,相对比较完整。另外在梳理、讨论和check的过程中,针对新增、变更、删除的IT资产一定要及时更新我们的IT资产清单。

    2.准确性

    准确性要求IT资产清单或是CMDB中存储的数据不能与实际情况有任何差异。要做到基础数据的准确性除了在数据采集阶段要下功夫外,要在运维管理的每一个阶段定期对基础数据进行审计,确保基础数据中的数据无误。一般月度一小审,半年一大审,具体情况根据企业的IT规模而定。

    3.实时性

    基础数据的实时性可以确保数据的准确性。即基础数据的每一次变动,包括增加、删除、修改,不论大小,只要有变动(在运维流程完结阶段,执行运维操作成功后,就要及时更新基础数据。忽略基础数据的实时性,必将导致准确性大打折扣,在以后的月审、年审中必将导致额外的工作量。一般在审计的过程中,当数据的错误率达到一定程度后,需要重新梳理全部数据,以确保最终的准确和完整。

    三、CMDB

     

    CMDB总的来说分为:产品线、资产管理、供应商管理三个部分。总的思路是:通过产品线管理IT资产,通过IT资产信息管理硬件或服务提供者,供应商管理。

    1.产品线

    产品线是指整个公司所有IT系统、产品按照属性进行归类划分。这有一个前提,就是梳理整个公司的IT项目和IT服务。这里项目也可以理解为每一套IT系统,例如OA、CRM、订单系统、支付系统等等。

    IT服务主要是指:应用服务(Tomcat、WebLogic、数据库服务等),基础IT服务如Nginx、Varnish、Redis等。通过项目和服务两个维度来管理IT资产,尤其是虚拟机。因为一般系统和服务都是部署在虚拟机上,虚拟机的宿主机则是一台台物理主机。

    产品线的划分一般除了根据业务分类划分几个大的产品线外,还需要划分一些基础产品线,如:信息安全产品线,主要管理信息安全、网络安全等系统和设备等;基础服务产品线,如Nginx反向代理大部分系统,Varnish缓存Web静态资源等。

    在这里单独说一下产品线和项目包括的服务必须制定运维优先级等级。运维等级的制定不能简单定义为多少级,而应该是为每一套系统进行运维优先级打分,分值不能一样。这样保证在大面积故障的时候,可以根据优先级解决问题。

    2.资产管理

    资产管理主要有以下几个方面。首先是比较大的机房管理。有的企业可能会有多个机房,每个机房的基础信息,如带宽、位置、值班电话等都需要加以整理存储用来管理机房信息。机房中的机架、机柜、交换机、路由器等硬件信息,机房的空调、UPS电源、环境监测系统等都属于机房管理的范畴。

    • 安全设备管理。安全设备管理这里主要包含防火墙、IPS、WAF、VPN等网络设施。企业信息安全非常重要,在运维管理中也把安全作为一个单独的模块进行管理。通过购买安全硬件设备和安全服务,不断学习和研究,从而保护好企业数据信息。

    • 服务器管理。这里假定企业实现了虚拟化,大部分系统和服务都部署在虚拟机,而虚拟机是部署在物理机上。服务器管理分物理机和虚拟机分开管理,同时又密切关联。虚拟机在哪一台或几台物理机需记录清楚。

    根据产品线中定义的运维优先度等级,在资产管理中的每一个节点标注上相应的等级分值,以便出现大规模故障,有选择、有重点、有顺序地逐一解决问题。

    3.供应商管理

    供应商管理主要是管理由第三方企业提供的IT系统或设备的服务信息。记录供应商的具体信息、值班电话、硬件备件库等信息。

    以上几个模块单独管理,但是又密切相连。如产品线包含哪些项目,包含哪些服务,这些项目和服务部署在哪些虚拟机上,虚拟机又在哪一些物理机上,物理机分布在哪些机房和在机房中的具体位置,物理机在机房中的网络位置和网络架构如何,经过哪些安全设备等等。

    反过来需要知道某一些机房有哪一些物理机,物理机位置,安全设备,以及安全设备与物理机的网络架构等,物理机上又有哪些虚拟机上部署了哪一些项目和服务等。系统和服务属于哪些供应商提供,供应商又提供了哪些系统、设备或服务器等。都要多维度进行管理。要求做到某一环节的故障,一查就知道所有受影响的系统和服务。CMDB中的信息相互交织,多维度查询和管理,构建出一张完整的总体架构图,通过总体架构图除了展现出各个部分的基础信息外,还描述了所有的依赖关系,做到坏一点而知全面。

    四、日志

     

    通过日志可以比较准确全面地知道系统或是设备的运行情况,可以返查问题产生的原因,还原问题发生的整个过程。通过日志也可以提前预测系统可能要发生的问题或是故障,如系统安全日志,如果网络攻击会在系统安全日志中有一定的体现。

    1.系统日志

    系统日志主要指的是操作系统的日志,主要在/var/log下的各种日志信息。包含系统操作日志、系统安全日志、定时任务日志等。系统日志是运维管理安全模块中审计的重要依据。一般默认的操作系统日志不能满足要求,需要对系统的参数进行修改,如为history命令加上时间戳、IP,并且长久保留历史等功能。并且对日志文件进行处理,不允许用户进行清空命令,只能append。

    2.应用日志

    应用日志主要记录应用服务的健康运行情况以及业务操作的具体日志两部分。应用监控运行情况反应应用服务的健康状态,如果应用占用CPU或是内存过高或是忽高忽低不定,都可以通过分析应用日志结合业务操作日志得出结论。业务操作日志可以为业务审计提供主要依据。有一些系统喜欢把业务操作日志写到数据库中,这个也是需要注意的。不过不管在哪个地方,要求是不可缺少的,它为以后业务审计和问题返查提供依据。

    3.数据库日志

    数据库日志主要反馈数据库的运行情况。通过监控和管理数据库的日志,及时了解数据库的运行情况,遇到问题及时解决等。可以通过数据库日志结合数据库系统自带的数据库如Oracle的系统视图v$开头,MySQL的performance_schema等。虽然数据库的一些信息不是存在日志中而是在数据库里面,但是也可以作为数据库日志的一部分进行管理和监控,已便我们及时知道数据库的监控状况,从而预防可能出现的问题。

    4.设备日志

    设备日志一般是一个比较容易忽略的地方,但设备日志往往可以反映设备的运行情况。交换机故障,防火墙故障等设备故障都可能引起大面积的系统和服务故障。所以设备日志一定要收集,分析和监控预警。常用的设备日志有交换机日志、防火墙日志、网络安全设备日志等。

    在CMDB中梳理的IT基础设施的基础上,对日志进行分类收集、管理、分析和监控,配着监控管理模块的系统,就已经可以达到多方位监控IT系统,保障IT系统的安全稳定。

    五、DB

     

    由于数据和数据库的重要性,在基础数据中,数据库作为单独的模块存在,根据环境划分为:生产数据库、测试数据库、开发数据库。严格区分三种环境的数据库,避免测试数据到生产环境,生产数据到测试环境等。另外数据库中数据也为业务监控提供数据依据。通过查询数据库中的数据,依据业务逻辑进行判断是否有错误或是遗漏的数据。

    六、知识库

     

    知识库在整个运维管理中是一个辅助功能,主要为运维提供事件管理、问题管理。很多朋友可能会疑惑为什么把事件库和问题库放在知识库这里,这些不是应该在CMDB中吗?这里稍微解释一下,其实本人也并不太清楚这种办法是否可行。在CMDB模块中更多是偏向IT资产管理,为以后的运维操作提供运维范围和运维目标。而事件(主要指运维过程中遇到的所有的运维事件)和问题(需要进行变更发布才能解决的事件升级)更多是在IT资产之上,是解决IT资产的过程中遇到的事件和问题。如果把CMDB作为IT运维的基础管理对象和范围目标的话,事件和问题应该单独出来。也许在后面的运维管理中,逐渐强化CMDB的功能,会把事件库和问题库回归到CMDB模块中。

    知识库中还包含经典案例库,主要是解决一些常遇故障、经典问题的解决方法的整理和归档。

    解决方案库只要是一些常用的或是探索中的解决方案,例如:Nginx+Tomcat+Redis部署方案,FastDFS分布式文件服务器方案等。

    文档库主要用来存储运维管理过程中执行的运维标准和规范以及运维的流程规范,常用的一些规范举例:

     

    文档库也包括一些企业或是部门的规章制度,与供应商的合同条文等。主要是涉及到IT系统文档的一个存放和查阅的地方。

    运维标准和运维流程的文档一定是必不可少的。因为运维自动化的前提就是运维的标准化和流程化。如果没有明确的标准和规范的流程,运维自动化就只能一直停留在测试环境的假想空间中。

    总结

    基础数据在整个运维管理中起到基础、奠基的重要作用,也是做运维管理平台的第一步和以后每一步的重要依据。一定要舍得投入时间、人力等来建立起完整、准确、实时的基础数据。打好地基,以后运维的每一步都将有条不紊地循序渐进,终将建设成属于运维的高楼大厦。

    作者:战学超,青航数据架构师。曾任职于NEC软件、海尔B2B平台巨商汇,负责企业数据平台构建、B2B电商平台数据管理与搭建。拥有丰富DBA、系统运维架构经验,擅长数据库、数据平台搭建、私有云部署、自动化运维等。

    来源:http://www.yunweipai.com/archives/19490.html

    8月云计算免费训练营

    时间

    8月23日 - 8月29日 (为期5天,24/25日休息)

    课程内容

    • 什么是Linux、云计算、虚拟化;

    • KVM虚拟化实战;

    • Linux操作系统由来;

    • 企业级Linux服务器安装方案;

    • 破解Linux系统密码;

    • Linux命令行格式;

    • Linux下目录和文件管理;

    • FTP服务器演示;

    • Web服务器演示;

    • DNS服务器演示;

    • 初识网络工程;

    • Linux云计算行业发展前景等等。

    地点达内全国各中心校区,就近选择。

    讲师:行业大咖,技术大牛面授课程。

    免费报名方式长按下方二维码即可免费申请

     

    *本次免费训练营异常火爆,座位有限,各位童鞋抓紧时间,先报先得。

    PS:记得查收小编送你的免费大礼包呦~

    福利 | 一万多套PPT模板等你免费来拿!无条件领取!

    免费送 | 1000多套简历模板免费拿,附赠简历制作教程!

    免费领 | 《Shell脚本 100例》电子书免费拿,运维必备干货~

    ▼▼点击【阅读原文】,22大互联网热门课程任选免费学

    展开全文
  • 本课程主要讲解python在自动化运维中的使用,实现自动化运维的监控和报警; 自动化安装部署,自动化运维管理
  • 从零搭建一个自动化运维体系

    千次阅读 2018-08-29 19:36:03
    DevOps的出现有其必然性。在软件开发生命周期中,遇到了两次瓶颈。第一次瓶颈是在需求阶段和开发阶段之间,针对不断变化的需求,对软件开发者提出了高要求,后来出现了敏捷方法论,强调适应需求、快速迭代、持续交付...

    DevOps的出现有其必然性。在软件开发生命周期中,遇到了两次瓶颈。第一次瓶颈是在需求阶段和开发阶段之间,针对不断变化的需求,对软件开发者提出了高要求,后来出现了敏捷方法论,强调适应需求、快速迭代、持续交付。第二个瓶颈是在开发阶段和构建部署阶段之间,大量完成的开发任务可能阻塞在部署阶段,影响交付,于是有了DevOps。

    DevOps的三大原则:
    1、基础设施即代码(Infrastructure as Code)
    DeveOps的基础是将重复的事情使用自动化脚本或软件来实现,例如Docker(容器化)、Jenkins(持续集成)、Puppet(基础架构构建)、Vagrant(虚拟化平台)等
    2、持续交付(Continuous Delivery)
    持续交付是在生产环境发布可靠的软件并交付给用户使用。而持续部署则不一定交付给用户使用。涉及到2个时间,TTR(Time to Repair)修复时间,TTM(Time To Marketing)产品上线时间。要做到高效交付可靠的软件,需要尽可能的减少这2个时间。部署可以有多种方式,比如蓝绿部署、金丝雀部署等。
    3、协同工作(Culture of Collaboration)
    开发者和运维人员必须定期进行密切的合作。开发应该把运维角色理解成软件的另一个用户群体。协作有几个的建议:1、自动化(减少不必要的协作);2、小范围(每次修改的内容不宜过多,减少发布的风险);3、统一信息集散地(如wiki,让双方能够共享信息);4、标准化协作工具(比如jenkins)

    附上DevOps的定义:
    DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

    对自动化运维体系的需求,是随着业务的增长、对运维效率和质量的要求不断提高而产生的。

    在很多初创公司和中小型企业里,运维还停留在“刀耕火种”的原始状态,这里所说的“刀”和“火”就是运维人员的远程客户端,例如SecureCRT和Windows远程桌面。

    在这种工作方式下,服务器的安装、初始化,软件部署、服务发布和监控都是通过手动方式来完成的,需要运维人员登录到服务器上,一台一台去管理和维护。这种非并发的线性工作方式是制约效率的最大障碍。

    同时,因为手动的操作方式过于依赖运维人员的执行顺序和操作步骤,稍有不慎即可能导致服务器配置不一致,也就是同一组服务器的配置上出现差异。有时候,这种差异是很难直接检查出来的,例如在一个负载均衡组里面个别服务器的异常就很难发现。

    随着业务的发展,服务器数量越来越多,运维人员开始转向使用脚本和批量管理工具。脚本和批量管理工具与“刀耕火种”的工作方式相比,确实提升了效率和工程质量。

    但这个方式仍然有很多问题。

    • 第一是脚本的非标准化的问题。不同运维人员写的脚本在所用的编程语言、编码风格和健壮性方面存在巨大差异,同时这些脚本的版本管理也是一个挑战。

    • 第二是脚本的传承问题,人员的离职和工作交接,都会导致脚本无法很好地在运维人员之间传承和再利用,因为下一个运维人员可能无法理解和修改前一个运维人员编写的脚本功能。

    • 第三是批量管理工具的选择。不同的管理人员选择不同的批量管理工具必然会带来管理混乱的问题,也无法很好地实现在运维人员之间互相备份工作的需求。

    因此,对构建自动化运维体系的要求变得越来越迫切。通过自动化运维体系来实现标准化和提高工程效率,是唯一正确的选择。那么如何建设自动化运维体系呢?

    本案例研究分为三个大的方面:

    • 第一个是为什么要建设自动化运维体系,就是解决“3W”中的Why和What的问题,即为什么和是什么。

    • 第二个是介绍我司各个运维子系统是怎样设计、运行和处理问题的,解决“3W”中的How的问题,也就是怎样去做的。

    • 第三个是对我司在自动化运维过程中遇到的一些问题的思考,做一个总结。

    一、建设自动化运维体系的原因

    先来看一下我们为什么要建设一个自动化运维体系。首先来看运维遇到的一些挑战,如下图所示。

    运维面对的挑战

    第一个是游戏的需求。它表现为三个方面:

    • 一是游戏数量多,我司现在运营的游戏多达近百款。

    • 二是游戏架构复杂。游戏公司和一般的互联网公司有一个很大的区别,就是游戏的来源可能有很多,比如有国外的、国内的,有大厂商的、小厂商的;每个游戏的架构可能不一样,有的是分区制的,有的是集中制的,各种各样的需求。

    • 三是操作系统种类多,这与刚才的情况类似,游戏开发者的背景与编程喜好不一样,会有Windows、Linux等。

    第二个是在硬件环境方面,主要表现为服务器数量多、服务器型号多。因为公司从建立到现在有十几年的时间了,在这个过程中分批、分期采购的服务器几乎横跨各大OEM厂商的各大产品线,型号多而杂。

    最后是人的因素。我们在建设自动化运维体系过程中,有一个比较重要的考虑点是人的因素。如果大家的技术能力都很强,很多时候一个人可以完成所有工作,可能也就不需要自动化运维体系了。正是因为每个运维人员的能力不一样,技术水平参差不齐,甚至是运维习惯和工具也不一样,导致我们必须要创建一套规范的自动化运维体系,来提升工作效率。

    二、建设自动化运维体系的目标

    再看一下建设这套自动化运维体系的目标,也就是说我们的原则是什么?笔者将自动化运维体系的建设目标总结为四个词。

    • 第一个是“完备”,这个系统要能涵盖所有的运维需求。

    • 第二个是“简洁”,简单好用。如果系统的操作流程、操作界面、设计思想都比较复杂,运维人员的学习成本就会很高,使用的效果是会打折扣的,系统的能力、发挥的效率也会因此打折扣。

    • 第三个是“高效”,特别是在批量处理或者执行特定任务时,我们希望系统能够及时给用户反馈。

    • 第四个是“安全”,如果一个系统不安全,可能导致很快就被黑客接管了。所以安全也是重要的因素。

    三、自动化运维体系的结构和运作方式

    下图所示是我司当前自动化运维体系的几个子系统,我们来看一看它们是怎样联合起来工作的。首先服务器会经由自动化安装系统完成安装,然后会被自动化运维平台接管。自动化运维平台会对自动化安检系统、自动化客户端更新系统和服务器端更新系统提供底层支撑。自动化数据分析系统和自动化客户端更新系统会有关联关系。自动化数据分析系统会对自动化客户端更新系统的结果给予反馈。

    自动化运维体系结构图

    下面我们来看一下每个子系统是如何设计和工作的。

    3.1、自动化安装系统

    说到自动化安装,大家可能并不陌生,我们刚才说到挑战是“两多两少”,型号多、操作系统多,但是人少,可用时间也比较少。

    如下图所示,整个流程采用通用的框架,首先由PXE启动,选择需要安装的操作系统类型(安装Windows或者Linux),然后根据Windows系统自动识别出需要安装的驱动。服务器交付用户之前,会进行基本的安全设置,例如防火墙设置以及关闭Windows共享,这在一定程度上提高了安全性,也减少了需要人工做的一些操作。

    自动化安装流程图

    3.2、自动化运维平台

    当服务器由自动化安装系统安装完成以后,就会被自动化运维平台接管。自动化运维平台是运维人员的作业平台,它主要解决的问题就是因服务器、操作系统异构而且数量特别多而带来的管理问题。操作系统是五花八门的,我们在设计系统过程中考虑了以下几个因素:

    • 把整个系统的用户界面设计成基于浏览器的架构。运维工程师无论何时何地都可以登录管理系统进行运维操作,这样的话就比较方便。由Octopod服务器对被操作的机器发布指令。

    • 统一管理异构服务器。大家以前可能对Windows深恶痛绝,其实Windows也可以管得很好。我们使用开源的SSH方式管理Windows,这样就可以对系统进行批量的补丁更新,还可以做批量的密码管理和操作。

    • 充分利用现有协议和工具。这个平台的特点是所有的系统使用SSH管理,而不是自己开发一些Agent,这也体现了自动化运维的观点。很多时候我们没必要重新造轮子,即使自己造出一套客户端的方法,大部分时候也并没有在生产环境里得到严格的验证。而SSH协议本身已经存在很多年了,而且已经在我司使用了很多年,该出的问题已经出了,相对于造轮子,使用SSH更加稳定,更经得起考验,使用起来更方便。

    3.3、自动化安检系统

    下一个系统是自动化安检系统。由于我们的子系统比较多,业务也比较多,怎样设计一套系统去保障它们的安全呢?这里主要是两个系统:自动化安检平台和服务器端。

    • 先来看自动化安检平台。游戏公司和一般的互联网公司有一个区别,就是前者需要给玩家发送很多的客户端(特别是有的客户端比较大),或者补丁文件,去更新、下载和安装。如果这些文件里面出现病毒和木马,将是一件很糟糕的事情,甚至会对业务和公司的声誉造成恶劣影响。当这些文件被发到玩家电脑上之前,必须经过病毒检测系统检测,确保它没有被注入相应的病毒代码。

    • 再来看服务器端,主要是通过安全扫描架构来保障安全。安全并不是一蹴而就,一劳永逸的。如果不对系统持续地检查、检测、探测,那么你的一些误操作会导致系统暴露在互联网上,或者是暴露在恶意攻击者的眼皮之下。通过一种主动、自发的安全扫描架构对所有服务器进行安全扫描,就能在很大程度上规避这样的问题。举一个例子,去年我们遇到过一个情况,某款交换机ACL达到一定的数量的时候,就完全失效了。如果没有相关的配套机制去检查和检测,那么你的服务器、你认为保护得很好的端口或者是敏感的IP可能已经暴露。所以,通过这种主动的探测可以减少很多系统的或者是人为的安全问题。

    3.4、自动化客户端更新系统

    游戏是有周期性的,特别是在游戏发布当天或者有版本更新的时候,这时候玩家活跃度很高,下载行为也是比较多的,但是平时的更新和下载带宽可能并不大,这也是游戏很显著的特点。这个特点对于我们构建这样一个分发系统提出了很大的挑战。第一个挑战就是在高峰时游戏产生的带宽可能达到数百GB。第二是很多小运营商或者中小规模的运营商会有一些缓存机制,这个缓存机制如果处理得不好,会对业务造成影响,也就是非法缓存的问题。第三是关于DNS调度的问题。DNS调度本身是基于玩家本身的Local DNS的机制解析的,会有调度不准确的问题。第四是DNS污染,或者是DNS TTL的机制导致调度不那么灵敏和准确。针对这些问题,我们有下面两套系统来解决。

    第一套是Autopatch系统,它解决的是大文件更新的下载问题,再就是多家CDN厂商流量调度。其操作流程也比较简单,由运维人员上传文件、安检,然后同步到CDN,由CDN分发到相关边缘节点,最后解压文件。刚才说到游戏的周期性特点,就是平时带宽不是很大,但是在某个节点的时候,或者是重大活动的时候,带宽比较大。如果自己构建一套CDN系统,可能不是很划算,所以我们引入国内多家比较大型的CDN厂商调度资源。我们通过302的方法调度,而不是把域名给其中一家或几家。因为直接使用CNAME的话很难按比例调度,特别是带宽大的时候,一家CDN厂商解决不了,或者是一家发生局部故障,需要快速切除。而通过集中的调度系统就可以实现按比例调度的功能。用户发过来的所有请求,首先要在我们这边进行调度,但是本身并不产生直接下载带宽,而是通过相关算法,按比例和区域调度给第三方的CDN厂商,然后玩家实际是由第三方CDN厂商节点去下载客户端的。

    第二套是Dorado系统。刚刚讲到小运营商或者某些运营商的非法缓存机制会对业务造成影响,那么对于某些关键的文件,如果缓存的是一个旧版本,可能会造成很大的问题。比如我们的区服列表,如果我们服务器端增加了新的区服,在客户端没有显现出来,就导致玩家没有办法进入到新的区服去玩。针对这些问题,我们设计了内部代号为Dorado的系统,因为这些文件本身是比较小的,而且数量也不是特别多,但是需要用HTTPS加密,通过加密规避小运营商的缓存问题。所以我们对于这些关键文件,全部有自有节点,在节点上支持HTTPS加密方法,规避小运营商缓存带来的一些问题。

    3.5、自动化服务器端更新系统

    我们采用的服务器端更新模式也是一种比较传统的类似于CDN的方式,是由目标服务器通过缓存节点到中央节点下载,由缓存节点缓存控制,这样可以减少网间传输的数据量以及提高效率。我们在设计这套系统的时候,也想过用P2P去做。大家想P2P是很炫,又节省带宽,但是用于生产环境中大文件分发的时候会有几个问题。一是安全控制的问题,很难让这些服务器之间又能传数据又能进行安全端口的保护。二是在P2P里做流量控制或者流量限定也是一个挑战。所以最终我们采用了一个看起来比较简单的架构。

    3.6、自动化数据分析系统

    说到客户端更新,其实更新的效果如何,玩家到底有没有安装成功或者进入游戏,很多时候我们也很茫然,只能看日志。但是日志里面的很多信息是不完善和不完整的。下载客户端的时候,如果看HTTP的日志的话,里面是206的代码,很难计算出玩家到底完整下载了多少客户端,甚至他有没有下载下来,校验结果是否正确,也很难知道。所以我们最终设计了一个自动化数据分析系统,目标就是分析从用户开始下载到他登录游戏,数据到底是怎样转化的。最理想的一种情况是用户下载客户端以后,就进入了游戏,但这是一个理想情况。很多时候,比如因为网络不好,导致用户最终没有下载成功,或者是因为账号的一些问题,用户最终没有登录到游戏里面去。所以,展现出来的数据就是一个漏斗状。我们的目标就是让最终登录的用户数接近于起初下载客户端的用户数。

    我们来看一下系统的架构。首先由玩家这边的下载器或者是安装客户端,游戏客户端里面集成一些SDK,对于任何一个关键点,比如“下载”按钮或者“终止”按钮的数据都上报,当然这里面不会涉及敏感信息。上报以后会有Tomcat集群,集群处理以后会将数据写入MongoDB。

    看一下这个游戏在引导过程中有什么问题,左边的这一列它分为三个文件,有一个是3MB,有两个是2G多的文件,其实大家可以想像一下。很多时候玩家看到小的文件就把小的文件直接下载安装了,但是实际上并不完整。这一点也告诉我们,其实很多时候在运营或者是业务方面,在引导方面也是要比较合理才能去规避掉一些问题。

    3.7、自动化数据备份系统

    我们第一个版本的备份系统,它的设计和实现是比较简单的:不同的机房会有一台FTP服务器,本机房的数据写入FTP服务器,然后写入磁带,但是这样就导致磁带是分散的,没有集中存放的地方;另外,基于FTP的上传会有带宽甚至有延迟的要求。

    后来我们设计了一个集中的备份系统。它主要解决了以下两个问题。

    第一是简化配置。我们所有机房的全部配置,用一个负载均衡器的IP就可以了,当客户端需要上传文件时,通过负载均衡器获取实际上传的地址,然后上传文件,由左边第二个框里面的服务器进行接收,并且根据MD5值进行校验,如果校验没有问题,就转到Hadoop的HDFS集群里面去。目前这个集群有数十PB的规模,每天上传量有几个TB。

    第二是提高传输效率和成功率。大家会想一个问题,在中国,网络环境十分复杂,运营商之间存在隔阂甚至是壁垒,导致网络不稳定,丢包和延迟的问题是怎样解决的呢?如果基于TCP传输大文件,理论上存在单个连接上带宽延时积的限制。这里我们创新的是,客户端的上传采用UDP协议,UDP本身没有任何控制,说白了就是客户端可以任意、使劲地发文件。最终会由服务器端检查你收到了哪些文件片段,然后通知客户端补传一些没上传的片段就可以了。基于这种方式能规避很多因为网络抖动或网络延迟比较大而导致的问题。当然,在客户端做流量控制也是可以的。在遇到问题的时候多想想,或许能找到不走寻常路的解决方案。

    3.8、自动化监控报警系统

    再看一下游戏的自动化监控报警系统(如下图所示)。游戏的架构中有游戏客户端、服务器端、网络链路,所以必须要有比较完整的体系进行全方位、立体式的监控,才能保证在业务发生问题之前进行预警,或者在发生问题时报警。

    对于机房链路,有IDC(Internet Data Center)的网络质量监控;在服务器、网络设备和硬件方面,我们会做服务器的健康检查、性能监控,以及网络设备和流量监控;在系统程序方面,我们会收集和分析系统日志;在游戏服务器端应用方面,有服务器端的程序监控;在客户端方面,我们会收集植入的SDK做下载更新后的效果,以及收集崩溃的数据。

    作为运维人员,我们考虑问题或者设计架构的时候,视角不能仅局限于一个技术方面,或者选用多炫酷、多么牛的技术,要想想技术在业务方面的架构,或者能否通过业务指标监控我们的运维能力与运维系统。在游戏里,有一个很重要的指标就是在线人数,通过监控在线人数这个业务指标,就可以知道系统是否工作正常,是不是有漏报、误报的情况,因为很多时候任何一个环节出了问题,最终都会体现在业务上,在产生价值的数据上。所以我们有一套监控在线人数的系统,每个游戏上线之前会接入这个系统,把在线的人数实时汇集到系统里面。如果发生异常的抖动,系统中都会有所显示,也就可以知道是否发生了问题。

    以上讲的是一个框架,下面我们看一下细节,怎样做服务器的监控。首先由运维工程师在监控策略平台配置监控策略,监控策略平台会将这些数据格式化成相关格式,然后推送给自动化运维平台。自动化运维平台会判断是这些数据是外部来的,还是远程检测到的;是网络模拟的,还是本地的监控得到的。比如流量、本地进程的监控、本地日志的监控,会分别推给远程探测服务器,或者游戏服务器本身,然后由它们上报数据。数据上报以后,根据运维工程师配置的阈值,会触发相关的报警,然后通知运维工程师进行相关处理。因为虽然游戏多种多样,操作系统五花八门,但是总有一些大家可以公用的东西,比如监控的模板或者监控的策略,我们对服务器的东西也进行了整合汇总。大家可以看到我们里面有很丰富的插件,运维人员只要选择相关的插件,配一下阈值和周期,就可以节省时间和学习成本,提高配置策略的效率。当配置策略完成以后,直接绑定到想要监控的服务器上就可以了。

    总结

    我们从2000年初到现在一直在做自动化运维体系,对过去进行总结,我觉得有3个方面可以供大家参考。

    第一是循序渐进的原则,特别是中小公司或者初创公司,很多时候并不需要一个“高大上”的系统。聚焦当前的问题,把当前的问题处理好,后面的问题也就迎刃而解。如果一开始设计的系统很庞大、功能特别丰富,会导致一些无法控制的局面。比如这个系统可能最后做不下去了,或者因为耦合性太强,开发控制不了了,或者项目因为经费问题搁浅了。但是如果一开始的目标是解决一些特定的问题,有针对性,那么推进起来也会比较简单。在我司的自动化运维体系建设过程中,我们首先构建的是一个基础的服务器批量操作平台,先把一部分需要重复执行的工作搬到平台上来,再依据运维的需求丰富这个操作平台的功能和提升效率,最后把周边的系统打通,相互对接,形成完整的自动化运维体系。

    第二是考虑可扩展性。设计系统的时候,功能或者设计方面可能不用考虑那么多,但是要考虑当服务器数量发生比较大的扩张时,系统是否还能支撑,比如数量级从十到百,或者上千了,这个系统是否还是可用的。

    第三是以实用为目的。这在我们系统中也是有体现的。很多情况下,市面上可能已经有比较成熟的协议和工具,拿来评估看看它们在生产环境里面是否可用,如果能用就直接用,没必要自己再去做一套。自己做的这一套工具,很多方面没有经过验证,可能会带来安全问题。基于成熟的协议和框架去做,可以提升效率,保证稳定性和安全性。在“自动化运维平台”一节可以看到,我们并没有自己从头开始研发一套Agent植入到被管理的服务器上,而是用了开源的SSH协议和成熟的OpenSSH软件。这体现了优先考虑开源方案加一部分二次开发而不是重复造轮子的思想。

    展开全文
  • 自动化运维(一)

    千次阅读 2019-06-08 22:04:02
    一、Shell简介 1、什么是Shell? 是一个概念,不能用;Linux内核与用户之间的解释器程序。 2、什么是Bash? 基于Shell概念做出的一个具体产品,可操作的,是默认解释器。假如Shell是汽车,那么Bash就是宝马X5 ...

    一、Shell简介

    1、什么是Shell?

    是一个概念,不能用;Linux内核与用户之间的解释器程序。

    2、什么是Bash?

    基于Shell概念做出的一个具体产品,可操作的,是默认解释器。假如Shell是汽车,那么Bash就是宝马X5

    二、Bash功能介绍

    1、命令别名:

     alias          #查看系统当前所有别名   【别名优先级高于基本命令】
    alias h5='head -5'
    unalias h5      #取消别名
    

    2、管道与重定向:

    1、标准输入的文件描述为0,标准输出的文件为1,错误输出的文件为2
       >  输出重定向	>> 追加重定向	   <  输入重定向    2>   错误输出重定向
       ls -l abc install.log > all.txt 2>&1或ls -l abc install.log &> all.txt  #标准输出与错误输出均导入all.txt
    2、[ $USER != root ] && echo "aqx" || echo "root"  #如果当前登陆用户是root,则输出root,否则输出aqx
    3、echo "--------" >&	#将前面的输出变成错误输出
    

    3、快捷键
    在这里插入图片描述

    三、Bash使用技巧

    1.将无意义的输出信息导入/dev/null
        如:echo "pass" | passwd --stdin root >/dev/null
    2.正确信息与错误信息分离重定向
        如:id tom >> user 2>>error       #如果存在tom用户,则将信息记录至user文件,否则记录至error文件
    3.把小写字母转换为大写字母
        tr 'a-z' 'A-Z'  
    

    变量

    1、概述

    使用类型(系统变量和自定义两大类)
    在这里插入图片描述
    2、作用:提高脚本灵活度,适应多变的环境
    3、变量=容器,以不变的名称,存储可以变化的值
    4、变量的要求:
    * 等号两边不能有空格
    * 仅由字母、数字、下划线组成,严格区分大小写
    * 不能以数字开头,不要使用关键字和特殊字符

    2、自定义变量

    1. 变量命名建议首字母大写

    typeset -r value	#添加变量只读属性
    declare value		#声明一个变量
    typeset -i value	#设置整数变量
    unset NAME     	    #取消变量
    env     			#列出所有环境变量
    set    			    #列出所有变量
    

    2、read从标准输入中读取变量值
    产生交互;记录用户在键盘上的输入;将记录的内容赋值给一个变量存储

    3、变量的使用范围

    export NAME #设为全局变量
    export -n NAME #取消全局变量

    4、环境变量

    在这里插入图片描述

    1.  修改PATH变量
        如:PATH=$PATH:/root      #在原有路径列表后追加目录
    2.  全局文件为/etc/profile,对所有用户有效;~/.bash_profile,对指定的用户有效
    

    5、位置变量

    $1代表第一个参数,以此类推
    

    6、数组

    动态定义数组,将命令输出结果作为数组的内容: 数组名=($())
    定义数组:

    array=(value1 value2 value3)
    array[0]=value1
    array[1]=value2
    

    7、算术运算与测试

    1、整数运算工具

    (1)expr命令       如:expr $i + 2     expr $i \* 3    expr $i % 4
    (2)使用$[]或$(())      如:echo $[i+2]   echo $[i*3]     echo $[i%4]  
         echo $[2#101]    #把2进制转化成10进制
    (3)使用let命令:可以改变变量的值,不显示结果,可以结合echo来显示
         如:let j=i+4     let i++;echo $i     let i+=2
    

    2、小数运算工具bc

    (1)交互式运算:输入命令bc即可
    (2)非交互式运算:echo 'scale=4;12.34+33.2' | bc    #scale指定保留多少位小数
    

    3、条件测试操作

    (1)字符串测试:==     !=      (每一部分都有空格)           
        (2)一行执行多条命令
                A && B      #A成功执行B
                A || B      #A失败执行B
                A;B        #执行A后执行B  
      (3)-a  逻辑与,两边为真则真      -o  逻辑与,一个为真则真
    

    在这里插入图片描述

    8、预定义变量

    $0代表当前shell程序的名称
    $#代表所有参数的个数
    $*和$@代表所有参数的内容,$*将所有参数作为一个整体,$@把所有参数分别作为个体
    $$代表当前进程ID号
    $?代表程序的退出代码
    $!代表上一个进程号
    
    展开全文
  • 自动化运维

    千次阅读 2019-05-28 21:22:46
    一、传统运维方式简介 传统的IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施...二、自动化运维简介 IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前,运维自动化是IT...

    一、传统运维方式简介
    传统的IT运维仍然是等到IT故障出现后再由运维人员采取相应的补救措施。这种被动、孤立、半自动式的IT运维管理模式经常让IT部门疲惫不堪,主要表现在以下三个方面。
    (1)运维人员被动、效率低。
    (2)缺乏一套高效的IT运维机制
    (3)缺乏高效的IT运维技术工具。

    二、自动化运维简介
    IT运维已经在风风雨雨中走过了十几个春秋,如今它正以一种全新的姿态摆在我们面前,运维自动化是IT技术发展的必然结果,现在IT系统的复杂性已经客观上要求IT运维必须能够实现数字化、自动化维护。
    运维自动化是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化是IT运维工作的升华,IT运维自动化不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

    三、运维自动化的具体内容
    日常IT运维中大量的重复性工作(小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度)由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。
    简单地说,IT运维自动化是指基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发现性能超标或宕机,会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。
    3.1、建立高效的IT自动化运维管理
    建立高效的IT自动化运维管理的步骤主要包括以下几点。
    (1)建立自动化运维管理平台。
    IT运维自动化管理建设的第一步是要先建立IT运维的自动化监控和管理平台。通过监控工具实现对用户操作规范的约束和对IT资源进行实时监控,包括服务器、数据库、中间件、存储备份、网络、安全、机房、业务应用和客户端等内容,通过自动监控管理平台实现故障或问题综合处理和集中管理。
    (2)建立故障事件自动触发流程,提高故障处理效率。
    所有IT设备在遇到问题时要会自动报警,无论是系统自动报警还是使用人员报的故障,应以红色标识显示在运维屏幕上。然后IT运维人员只需要按照相关知识库的数据,一步一步操作就可以。
    (3)建立规范的事件跟踪流程,强化运维执行力度。
    需要建立故障和事件处理跟踪流程,利用表格工具等记录故障及其处理情况,以建立运维日志,并定期回顾从中辨识和发现问题的线索和根源。
    (4)设立IT运维关键流程,引入优先处理原则。
    设置自动化流程时还需要引入优先处理原则,例行的事按常规处理,特别事件要按优先级次序处理,也就是把事件细分为例行事件和例外关键事件。
    3.2、IT自动化运维工具
    对于企业来说,要特别关注两类自动化工具:一是IT运维监控和诊断优化工具;二是运维流程自动化工具。这两类工具主要应用于如下场景:
    (1)监控自动化:是指对重要的IT设备实施主动式监控,如路由器、交换机、防火墙等。
    (2)配置变更检测自动化:是指IT设备配置参数一旦发生变化,将触发变更流程转给相关技术人员进行确认,通过自动检测协助IT运维人员发现和维护配置。
    (3)维护事件提醒自动化:是指通过对IT设备和应用活动的实时监控,当发生异常事件时系统自动启动报警和响应机制,第一时间通知相关责任人。
    (4)系统健康检测自动化:是指定期自动地对IT设备硬件和应用系统进行健康巡检,配合IT运维团队实施对系统的健康检查和监控。
    (5)维护报告生成自动化:是指定期自动地对系统做日志的收集分析,记录系统运行状况,并通过阶段性的监控、分析和总结,定时提供IT运维的可用性、性能、系统资源利用状况分析报告。
    3.3、IT自动化运维体系
    一个完善的自动化运维体系包括系统预备、配置管理以及监控报警三个环节,每个环节实现的功能也各不相同,具体功能如下:
    (1)系统预备类。
    •□ 自动化安装操作系统;
    •□ 自动初始化系统;
    •□ 自动安装各种软件包。
    (2)配置管理类。
    •□ 自动化部署业务系统软件包并完成配置;
    •□ 远程管理服务器;
     配置文件、自动部署Jenkins、网站代码变更回滚。
    (3)监控报警类。
    •□ 服务器可用性、性能、安全监控;
    •□ 向管理员发送报警信息。

    展开全文
  • 系统自动化运维

    千次阅读 2014-10-28 09:55:02
    站在“巨人”的肩膀上运维 现实问题 之前在论坛看到一个运维工程师的帖子,内容如下: “现在的一个IT工作者最头疼的就是加班,秃顶的是IT工作者最多、单身的是IT工作者最多、没有约会,没有休闲,没有...
  • 越来越多企业已经开始落地自动化运维,在真正把步子迈出去的时候,发现自动化运维原来并不是一件复杂的工程,很多企业其实早就开始建设了。  说到这里,就要从运维的本原探讨。我们这里把运维的词义进行狭义的...
  • Python自动化运维之1、Python入门

    千次阅读 2018-09-24 14:02:08
    Python简介  python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白。大家都知道,当下全栈工程师的概念
  • Python自动化运维视频教程
  • Python自动化运维开发实战课程方案 课程简介:    随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务以及日趋多样化的用户需求,不断...
  • Python自动化运维介绍

    千次阅读 2019-01-07 21:19:37
    自动化运维 3 云运维 三 传统运维特点 1 资源少 2 业务结构简单 3 运维工作简单 四 传统运维确定 1 效率低 2 无法跨平台 3 资源分散 4 无标准 五 什么是自动化运维 1 错误定义 ...
  • Python自动化运维 技术与最佳实践-带书签pdf扫描版 。
  • 2019年python自动化运维进阶篇20期视频教程,百度网盘下载视频。 课程目录: ├─01第一天 │ 01.drf vue分享.mp4 │ 02.课程简单介绍.mp4 │ 03 helloworld.mp4 │ 04 httpRequest对象与httpResponse对象.mp4 │ ...
  • Python自动化运维相关总结

    千次阅读 2017-10-13 21:34:58
    Python自动化运维相关总结
  • Python自动化运维学习(一)

    千次阅读 2017-08-21 20:27:09
    我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作. 这些方法包括两大类:1.执行命令,2.接收返回值 ****cursor用来执行命令的方法:****callproc(self, procname, args) ...
  • Python自动化运维之paramiko

    千次阅读 2018-09-14 11:45:15
    公司有20台服务器部署在天津、浙江、...于是,使用Python提供的第三方库paramiko模块编写自动化巡检脚本,自动完成整个检查,每次去只需在输出文件中查看结果,节省不少时间。 上代码: 1.导入模块 import parami...
  • Python自动化运维学习笔记(一)

    千次阅读 2018-11-19 14:41:29
    今天开始学习《Python自动化运维–技术与最佳实践》这本书,将学习的知识做一个笔记记录下来,不定期更新。 Python3虚拟环境venv 因为书中涉及到很多python的第三方包,所以准备用虚拟环境来管理这些三方包,避免...
  • 今天翻看了python自动化运维这本书,里面的内容正是需要恶补的。从最基础的开始来,一步一个脚印,talk is cheap,show your my code! #coding=utf-8 ''' Created on 2018.02.27 @author: Administrator ''' import...
  • python自动化运维--入门篇

    千次阅读 2020-03-31 17:17:00
    随着IT技术的进步以及业务需求的快速增长,服务器也由几十台上升到...目前开源软件社区优秀的自动化运维软件,如Ansible、Airflow、Celery、Paramiko等框架都是用Python语言开发,甚至一些大型商用的自动化部...
  • (1)输出一个网段下的地址数量,并打印出来:from IPy import IP ip = IP('192.168.20.0/24') print ip.len() for X in ip: print(x)(2)ip地址反向解析,以及地址转换:from IPy import IP ...
  • 在日常的办公和学习过程中,...首先你可能会对自动化运维这个名称稍有一些陌生,那么什么叫自动化运维?大灰狼带你一探究竟! 运维自动化是指将IT运维中日常的、大量的重复性工作自动化,把手工执行的工作,通过梳理...
  • 以下为Python入门的几个常见疑惑,现在统一在下面列出。 1、如果使用Python3.5.2,但是一般公司的生产环境上都是linux默认的Python,一般是2.6.6,而且没有权限更改,这种情况下我们有什么好的办法吗? python2...
  • Python自动化运维课程学习--Day1

    千次阅读 2017-02-12 09:39:48
    本文为参加老男孩Python自动化运维课程第一天学习内容的总结。 大致内容如下:  Python介绍  第一个Python程序: Hello World  Python变量  用户交互(用户输入、输出)  流程控制:条件语句(if/elif/...
  • 链接:https://pan.baidu.com/s/1VLXJ0RZr39kpSGthkLkgmA 密码私聊我 转载于:https://www.cnblogs.com/charon2/p/10371797.html
  • 随着IT运维技术日益更新,近几年运维自动化越来越火,而且学习python的人非常的火爆,尤其是python自动化运维开发,得到了很多前辈的推崇。 这里我也记录一下以前学习Django的一点点心得和方法,方便以后自己查阅,...
  • 参考书籍—《Python自动化运维--技术与最佳实践》刘天斯著 模块介绍我们在监测系统状态发送警报信息,或者业务质量报表的时候,可以通过发送邮件来第一时间获取服务状态。SMTP是发送邮件的协议,POP是接收邮件的...
  • 微信小程序监控界面 CMDB 跳板机 代码上线系统 网站用户访问质量监测 分布式监控 ...Docker自动化管理平台 Openstack二次开发 转载于:https://www.cnblogs.com/yangliheng/p/6288195.html...
  • 首先你可能会对Python自动化运维这个名称稍有一些陌生,那么什么叫Python自动化运维?带你一探究竟! 运维早期: 服务器体量小, 部署步骤少、操作简单、对运维人员要求较低(掌握基本的Linux命令即可)。运维人员都是...
  • Python自动化运维(安装、部署、监控、报警、批量运维) 专注提供优质教学...
  • Python职业发展之路 Python自动化运维工程 Python基础 Linux Shell Fabric Ansible Playbook Zabbix Saltstack Puppet Docker paramiko 转载于:https://www.cnblogs.com/plf-Jack/p/11074916.html...

空空如也

1 2 3 4 5 ... 20
收藏数 140,278
精华内容 56,111
关键字:

自动化运维