华体会体育(中国)hth·官方网站智能化IT运维管理平台方案建议书标准化是自动化运维的基础,想要实现标准化,首先识别各个运维对象,然后我们日常做的所有运维工作都应该是针对这些对象的运维。
如果运维操作脱离了对象,那就没有任何意义。同样,没有理清楚对象华体会体育(中国)hth·官方网站,运维自然不得章法。例如扩容,首先确定是服务器的扩容,还是应用的扩容,还是对象的扩容。
运维制度的建立包括环境管理、资产管理、介质管理、设备管理、监控管理、管理、系统安全管理、恶意代码防范管理、密码管理、变更管理、备份与恢复管理、安全事件处置,应急预案管理等制度。
1.运维管理制度是衡量运维工作的一把尺子,完善的管理制度能有效的提升运维工作效率,日常工作以管理制度为依据,按规定的要求和规定的流程操作既快速又准确;
2、安装master和minions:我这里服务器的操作系统是centos的,安装命令如下:
随着企业信息化的不断发展,运维人员需要面对越来越复杂的业务和越来越多样化的用户需求,不断扩展的应用需要越来越合理的模式来保障运维服务能灵活便捷、安全稳定地持续。
某企业从初期的几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术、业务、管理等方面的要求,那么标准化、自动化、架构优化、过程优化等降低运维服务成本的因素越来越被人们所重视。
自动化运维范围包括安装自动化、部署自动化、监控自动化、发布自动化、升级自动化、安全管控自动化、优化自动化、数据备份自动化等。
商业的运维系统在功能上要全面一些,服务支持上能好一些,更新与升级有保障,采购成本较高,对运维人员的技术要求相对较低。
运维随着企业业务的发展,自动化作为其重要属性之一已经不仅仅只是代替人工操作,更重要的是深层探知和全局分析,关注的是在当前条件下如何实现性能与服务最优化,同时保障投资收益最大化。
在企业运维过程中,只有当故障已经发生并且造成业务影响时才能发现和着手处理,这种被动“救火”不但使运维人员终日忙碌,也使运维本身质量很难提高,导致IT部门和业务部门对运维服务满意度都不高。
运维人员日常大部分时间和精力是处理一些简单重复的问题,而且由于故障预警机制不完善,往往是故障发生后或报警后才会进行处理,使得运维人员的工作经常是处于被动的状态,怎样才能在故障发生前及时发现并把故障处理掉,使运维工作变被动为主动?
识别这些对像之间的关系,服务器所在的机柜、接入哪个交换机的哪个接口了等信息。服务器物理基础设施的标准化如下图(设备的标准化以此类推):
第二步是应用的标准化,应用服务、中间件,数据库等;例如,数据库的表、视图、存储过程的标准化,表的字段名、值,索引等,表和视图之间的关联关系等。
第三步是流程标准化,如备份、软件升级、杀毒,新业务上线等流程的标准化,下图是现在的运维流程:
2.全面的运维管理制度能在问题和故障还没有出现,没有造成损失前就被及时的发现,从而问题得到有效的处理,业务连续性得到了保障;
3.运维管理制度为运维工作提供了规范化的解决方案,使运维人员在处理问题时有章可循快速找到问题的根本原因,把问题对业务造成的损失降到最低;
4.运维管理制度是为业务服务的,业务是不断发展的,运维管理制度要跟得上业务的不断发展实现管理制度的创新。
优缺点分析:优点是Web界面生成处理报表、资源清单、实时节点管理,push命令可即刻触发变更;
缺点是相对其他工具较复杂、需学习Puppet的DSL或Ruby,安装过程缺少错误校验和生成错误报表。
2) SaltStack是一种全新的基础设施管理方式,部署轻松,在几分钟内可以运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。
如果把服务器的扩容套用到应用的扩容上去,必然会导致流程错乱。同时对于对象理解上的不一致,也会增加无谓的沟通成本,造成运维效率低下。这种情况下的自动化运维不但不能提升效率,还会越自动越混乱。
实现标准化的第一步是物理基础设施的标准化,例如,识别物理对像服务器、交换机、机柜等硬件;识别这些物理对像的属性,服务器的序列号、ip地址、厂商等信息;
用于监控网络上的服务器或服务以及其他网络设备状态的网络管理系统,后台基于C,前台由PHP编写,可与多种数据库搭配使用,提供各种实时报警机制。
优缺点分析:优点是企业级开源、功能强大、入门容易、数据可以图形的方式呈现、提供多种API接口,可定制化开发。
优缺点分析:优点是模块可以用任何语言开发、备管节点不需要安装代理软件、有Web管理界面、安装运行简单;
下图是Puppet、Saltstack、Ansible这三款运维工具处理能力与处理效率的对比:
各种运维工具只是用于帮助人员进行运维的,每种工具都有其使用的优势领域,Puppet适用于软件自动化配置和部署;
某企业初期只有文件共享和邮件服务等几台服务器,运维工作完全由人工操作,随着企业的发展,新业务系统不断上线企业、建设了中心机房,运维工作还是以人工为主,但是这一阶段增加了网络管理系统和环境监控系统,这两个系统在一定程度上减轻了运维的工作量,基本上实现了运维的半自动化。
工具的使用需要人工的干预和决策,工具不能完全代替全部运维工作。还需要结合实际业务逻辑和业务场景,把工具与业务融合到一起。例如,按业务要求对工具进行二次开发,更好的发挥运维与监控工具的优势,提升运维人员工作效率。
Saltstack在企业中实现服务器部署的自动化运维,saltstack是基于python开发的一套C/S架构配置管理工具,它的底层使用zeroMQ pub/sub方式通信,使用SSL证书签发的方式进行认证管理。
自动化运维是基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发现性能超标,超过预先配置的阀值或宕机,就会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制华体会体育(中国)hth·官方网站。
自动化工作平台还可帮助运维人员完成日常的重复性工作,提高运维效率,下图是实现自动化运维的流程图:
运维的自动化能够预测故障、在故障发生前能够报警,让运维人员把故障消除在发生前,将所产生损失减到最低。由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的运维。
SaltStack适用于基础设施管理,在几分钟内可运行起来,很容易管理上万台服务器,速度够快;
1)Nagios是一款免费的开源IT基础设施监控系统,其功能强大,灵活性强,能有效监控Windows、Linux、VMware和Unix主机状态,交换机、路由器等网络设备的网络设置等。
开源运维系统更灵活一些,服务支持需要运维人员自身多投入一些时间和精力,更新与升级更个性化一些,相对成本较低。自建自动化运维系统对人员的技术要求最高,成本也不低,但是当企业发展到一定规模后自建的运维系统才能更适合企业对于自动化运维的要求。
1) Puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,很多大型IT公司均在使用puppet对集群中的软件进行管理和部署。
salt我们选择了0.16.0版,该版中加入了multi-masterr特性,在这种架构下所有的minion将连接到所有配置的master上去。
当一个master出现故障可以使用其余的master继续提供服务,不会影响我们的正常使用,saltstack架构如下图:
企业在运维管理过程中缺少自动化的运维管理模式,没有明确的运维人员角色定义和责任划分,使到问题出现后很难快速、准确地找到根本原因,无法及时地找到相应的人员进行修复和处理。
或者是在问题找到后缺乏流程化的故障处理机制,而在处理问题时不但欠缺规范化的解决方案,也缺乏全面的跟踪记录,企业需要建立一套高效的运维管理制度为运维工作提供方向和依据。
一旦主机或服务状态出现异常时,会发出邮件或报警第一时间通知IT运维人员,在状态恢复后发出正常的邮件或短信通知。
优缺点分析:优点是配置灵活、监控项目很多、自动日志滚动、支持冗余方式主机监控、报警设置多样性。
2)Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
优缺点分析:优点是可以使用简单的配置模块或复杂的脚本,Web界面可以看到运行和监控的工作状态、事件日志华体会体育(中国)hth·官方网站,扩展能力极强;
3) Ansible是新出现的运维工具是基于Python研发的综合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。
Nagios适用于IT基础设施的监控系统,其功能强大,灵活性强,能有效监控各种操作系统的主机、交换路由设备等;
Zabbix提供分布式系统监视以及网络监视功能,用于监控网络上的服务器,服务以及其他网络设备状态的网络管理系统。
以上这五种工具都是开源的,运维人员可以根据企业的规模、业务需要、所要实现的运维功能等要求使用多种工具组合,发挥运维与监控工具各自的优势。
5、saltstack状态文件的编写,saltstack上线后,运维工作从复杂的重复的服务器部署和配置工作转移到saltstack状态文件的编写和维护,状态文件的编写要考虑模块化和通用性,在大批量部署之前要经过测试,没有问题后再部署,以下是一些经常用到的测试命令:
随着信息化建设的深入,企业业务系统日趋复杂,各种各样的网络设备、服务器、存储设备、业务系统等让运维人员难以从容应对,即使加班加点地维护、部署、管理也经常会因设备出现故障而导致业务的中断,严重影响企业的正常运转。
出现这些问题部分原因是企业缺乏事件监控和诊断工具等运维技术工具,因为在没有高效的技术工具的支持下故障事件很难得到主动、快速处理。