
第一、语言的选择(puppet/chef vs ansible/saltstack)
开源技术,不看官网不足以熟练,不懂源码不足以精通
Puppet、Chef基于Ruby开发,ansible、saltstack基于Python开发的
本人热衷于python(后期可做二次开发),排除Puppet、Chef
第二、速度的选择 (ansible vs saltstack)
管理配置讲究的是更快更稳
ansible基于SSH协议传输数据,Saltstack使用消息队列zeroMQ传输数据
测试SSH和MQ传输速度:
例:分别使用两种工具测试1000台服务器的连通性,结果对比:
可以看出使用MQ通讯和SSH通讯,速度相差大约40倍
显然,从速度的角度,排除ansible,最终选择了Saltstack。
在
python系列的ansible、Saltstack的选择中,有人放弃Saltstack的主要原因是Saltstack需要安装客户端,在服务器有
一定数量的情况下比较麻烦,而ansible不需要安装客户端。我个人认为这个考虑是多余的,Saltstack中的Salt-ssh可以轻易解决这个问
题(后面会写篇使用salt-ssh批量部署客户端的博客),而且ansible也并非是不需要在“客户端”做任何 *** 作。例如,1“客户端”系统
python版本需要满足26+,否则需要进行升级;2ansible使用一些功能也需要“客户端”有对应模块(主要是python模块,即使
python版本满足26+,也需要额外安装)
一、基础数据概况
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、等网络设施。企业信息安全非常重要,在运维管理中也把安全作为一个单独的模块进行管理。通过购买安全硬件设备和安全服务,不断学习和研究,从而保护好企业数据信息。
服务器管理。这里假定企业实现了虚拟化,大部分系统和服务都部署在虚拟机,而虚拟机是部署在物理机上。服务器管理分物理机和虚拟机分开管理,同时又密切关联。虚拟机在哪一台或几台物理机需记录清楚。
根据产品线中定义的运维优先度等级,在资产管理中的每一个节点标注上相应的等级分值,以便出现大规模故障,有选择、有重点、有顺序地逐一解决问题。
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系统文档的一个存放和查阅的地方。
运维标准和运维流程的文档一定是必不可少的。因为运维自动化的前提就是运维的标准化和流程化。如果没有明确的标准和规范的流程,运维自动化就只能一直停留在测试环境的假想空间中。
总结
基础数据在整个运维管理中起到基础、奠基的重要作用,也是做运维管理平台的第一步和以后每一步的重要依据。一定要舍得投入时间、人力等来建立起完整、准确、实时的基础数据。打好地基,以后运维的每一步都将有条不紊地循序渐进,终将建设成属于运维的高楼大厦。
以下是一个简单的安装方法。$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
$ java -version
java version "180_60"
Java(TM) SE Runtime Environment (build 180_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 2560-b23, mixed mode)一、测试开发部门
1、软件测试:负责测试软件的功能、性能、可用性、安全性等,以确保软件的质量。
2、系统测试:负责测试系统的功能、性能、可用性、安全性等,以确保系统的质量。
3、性能测试:负责测试系统在不同硬件、软件环境下的性能,比如内存使用情况、处理器使用情况、系统响应时间等,以确保系统性能。
4、自动化测试:负责使用脚本和测试工具编写测试脚本,可以实现自动化测试,以此来提高测试效率。
5、网络测试:负责测试系统在网络环境下的功能和性能,确保系统稳定、可靠地工作。
二、软件开发部门
1、需求分析:负责了解客户的需求,分析用户的需求,分析系统的功能、性能和可实现性。
2、程序设计:负责根据分析的结果,设计程序的结构和算法,让程序完成实际的功能。
3、程序开发:负责根据设计的结果,使用编程语言和开发工具编写程序,并进行验证。
4、系统维护:负责系统的维护,定期检查系统,及时发现问题并解决问题。
三、自动化开发部门
1、自动化测试:负责使用脚本和测试工具编写测试脚本,可以实现自动化测试,以此来提高测试效率。Opsware是一家美国软件公司,总部设在加州森尼维尔市,其业务主要面向企业客户提供服务器和网络设备配置和管理。它在纽约市、华盛顿州雷德蒙、Cary、北卡罗来纳拥有办事处,并在罗马尼亚克卢日拥有一家工程办公室。
2007年7月,惠普宣布斥资16亿现金(每股1425美元)收购Opsware,该收购于2007年9月21日结束。该收购案是惠普第三大收购案,仅次于收购康柏和Mercury Interactive公司。
公司前身为Loudcloud,该公司于1999年9月9日由Marc Andreesen、本霍洛维茨,蒂姆豪斯和托管服务提供商In Sik Rhee成立的。
Opsware是第一家提供软件即服务计算与基础设施即服务模式之一的公司。据连线杂志报道,该公司是第一家厂商谈论云计算和软件服务的公司。2004年,它收购资产管理系统供应商七巧板企业解决方案公司,以及2005年2月收购网络设备配置管理厂商vendor Rendition Networks。
2006年7月,Opsware收购CreekPath公司数据中心自动化产品,该产品是增加存储组件配置。2007年4月,它收购总部位于西雅图的iConclude。
Opsware拥有三个主要系统市场:
1、服务器自动化系统提供配置,执行,合规报告,并跨越数千台服务器的Windows,Unix和Linux服务器补丁。
2、网络自动化系统是提供网络设备配置,策略执行,安全锁式,软件管理,合规设备供应商,超过500变种跨越数千台设备的型号和 *** 作系统版本报告。
3、此产品也通过思科系统公司贴牌和被称为思科“网络遵从管理器”出售,现在被作为惠普网络自动化软件销售。
Opsware客户包括:母公司惠普、GE、EDS公司(其收购于2008年8月26日完成,现在被称为惠普企业服务),美国联邦政府和许多世界500强企业。1、在副机的设备管理器中添加SPLChaseRef,服务器IP地址为主服务器,这样副机就能通过局域网识别主机了。
2、在副机中创建一条关键的自动化指令ChaseOn,用于启动副机跟随自动。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)