作为一名专业的系统pipe理员,您认为哪些configuration项目对跟踪执行适当的configuration或更改pipe理至关重要?
例如,在Windows中,除了硬件或软件之外,还要跟踪registry更改吗? 在Linux中,你不同意configuration文件吗?
编辑:澄清,我正在寻找什么专门跟踪(或不跟踪) – 如果你想build议除了你觉得值得跟踪的项目之外的工具,继续前进。
[主要是Unix / Linux的偏见,我不在Windows系统上工作:-)]
一旦被修改,任何改变正在运行的系统的状态都需要被跟踪。 configuration必须存储在支持完整更改历史logging(例如Git或Subversion)的存储库中,并且必须以自动方式部署,例如Opscode的Chef或Reductive Labs的Puppet 。
一些改变系统状态的例子:
这种跟踪需要使用自动化工具来完成,这些自动化工具为审核更改提供了足够的日志 软件存储库历史logging将显示存储在所述存储库中的configuration文件的变化历史。 在像Chef或Puppet这样的声明式configuration工具中,每个configuration文件代表一组资源,例如用户,包或服务,资源库历史logging将指示这些变化。
从应用的angular度来看,文档是至关重要的
注意 – 为了回应罗曼陀罗对这个问题的评论,我知道这不完全是一个项目,但是我认为在这种情况下整个文档是一个项目
对于Windows,您不需要“跟踪”操作系统的修补程序级别,因为可以随时通过WMI查询修补程序级别。 如果您正在执行更改pipe理,则可以在更改之前和之后执行全局查询,以validation操作系统修补程序的结果。 (确保安装了MSI提供程序)
应该跟踪驱动程序的更新(wmi可以用来查询它们,但不值得努力去捕捉它们)软件应用程序更新应该保存在CMDB中,但是(最初除外)应该来自变更pipe理如果你真的想跟踪registry更改设置组策略以启用文件和对象访问,并select审核哪些键( http://support.microsoft.com/kb/324739 )。 这不是一个CMDB,但可以让你跟踪谁正在做出改变。
所以这就是人们通常想要跟踪CMDB的原因,以及为什么有时候不是一个好主意,那么CMDB应该怎么做。 答案是视情况而定。 ITIL定义的CMDB可能会或可能不关心机器configuration,除非特定的机器configuration属于服务。 ACMDB还可能包含资产跟踪解决scheme(用于硬件configuration位置和保修信息等),但更多的是关于特定configuration项与其他configuration项的关系。 关系包括SLA层所需的“负责”,“连接到”,“依赖”和(更困难,但在许多情况下更重要)的事情。 总之,logging重新创build服务所需的内容 – 而不是服务器。
例如。 如果电子邮件是服务,我会列出的东西,如:
硬件:64位CPU,3gb内存(根据@today上的用户数量)7GB的服务器安装空间,100GB的交换数据存储和恢复(根据截止到今天的使用),DVD光驱。
软件:Server 2003 R2,Exchange 2007 SP2,SAN的MPIO驱动程序
等等…
CMDB通常不用于服务器pipe理员的使用。 资产pipe理解决schemepipe理员将会更加快乐。
OS修补程序级别。 这可能意味着很多事情。 理想情况下,您可以在matrix中跟踪哪些机器上有哪些补丁。 这个可怜的人的版本是每个服务器的“最后补丁date”(假设你每次都要提交所有更新,批发)。
对于UNIX / Linux,我将configuration文件分成两组:由操作系统提供的configuration文件和属于我们的自定义应用程序的configuration文件。
所有的应用程序configuration文件保存在我们的源代码回购。 我为每个安装(dev,QA,制作,前期制作,演示…)提供不同的标准副本。 当我们确定需要对其中的任何一个进行更改时,首先会在源回购副本中进行更改,然后部署到必要的服务器上。 我们还在问题跟踪器中打开相应的更改请求。
对于操作系统types的configuration文件,我们可能会或可能不会在源代码回购。 如果是,那么我们使用上面的过程。 如果没有,如果更改的数量达到一定的任意阈值,我们将把它们放入回购站。 在此之前,我们至less在问题跟踪器中打开一张票来追踪这个变化。
此外,我们的问题跟踪器的一个很大的特点是能够索引源repo提交。 它将您的票据与您的configuration更改很好地绑定在一起。
对于networking设备(如Cisco交换机),我喜欢在版本控制系统中收集并跟踪其启动和运行configuration。 如果可能的话,我保存编辑的用户名。
我通常通过一个Perl脚本来解决这个问题,除非我可以select自动监视日志并从日志数据中触发configuration集合。
对于networking设备RANCID(自动configuration捕获器)是理想的。
对于服务器来说,像etckeeper(在VCS中保持/ etc /)和puppet(在VCS中的configuration)的组合。
视窗: