作为专业的系统管理员,您认为跟踪哪些配置项以执行正确的配置或变更管理是必不可少的?
例如,在 Windows 中,除了硬件或软件之外,您是否跟踪注册表更改?在 Linux 中,你区分配置文件吗?
编辑:为了澄清起见,我正在寻找具体要跟踪(或不跟踪)的内容——如果除了你认为值得跟踪的项目之外,你还想推荐工具,请继续。
作为专业的系统管理员,您认为跟踪哪些配置项以执行正确的配置或变更管理是必不可少的?
例如,在 Windows 中,除了硬件或软件之外,您是否跟踪注册表更改?在 Linux 中,你区分配置文件吗?
编辑:为了澄清起见,我正在寻找具体要跟踪(或不跟踪)的内容——如果除了你认为值得跟踪的项目之外,你还想推荐工具,请继续。
从应用程序的角度来看,文档化至关重要
注意 - 针对 romandas 在问题中的评论,我知道这不完全是一项,但在这种情况下,我认为整个文档是一项
[主要是 Unix/Linux 偏见,我不在 Windows 系统上工作:-)]
任何一旦修改,就会改变正在运行的系统状态的任何东西都需要被跟踪。配置必须存储在支持完整更改历史记录的存储库中,例如 Git 或 Subversion,并且必须以自动化方式部署,例如使用Opscode 的 Chef或Reducing Labs 的 Puppet。
一些改变系统状态的项目示例:
此类跟踪需要使用为审计更改提供足够日志记录的自动化工具来完成。软件存储库历史将显示,呃,存储在所述存储库中的配置文件的更改历史。在像 Chef 或 Puppet 这样的声明性配置工具中,每个配置文件代表一组资源,例如用户、包或服务,并且存储库历史记录将指示这些资源的更改。
对于 Windows,您不需要“跟踪”操作系统的补丁级别,因为可以随时通过 WMI 查询。如果您遵循变更管理,您可以在变更前后进行全局查询,以验证操作系统补丁的结果。(确保已安装 MSI 提供程序)
应跟踪驱动程序更新(可以使用 wmi 查询它们,但不值得尝试全部捕获) 软件应用程序更新应保存在 CMDB 中,但(最初除外)应来自变更管理 如果您真的想要要跟踪注册表更改,请设置组策略以启用文件和对象访问并选择要审核的密钥 ( http://support.microsoft.com/kb/324739 )。这不适用于 CMDB,但可以让您跟踪谁在进行更改。
这就是人们通常希望在 CMDB 中跟踪的内容,以及为什么有时这不是一个好主意,那么应该将什么放入 CMDB。答案是视情况而定。ITIL 定义的 CMDB 可能关心也可能不关心机器配置,除非该特定机器配置与服务相关。ACMDB 还可能包含资产跟踪解决方案(用于硬件配置位置和保修信息等),但更多的是关于特定配置项与其他 CI 的关系。关系包括诸如“负责”、“连接到”、“依赖于”和(更困难但在许多情况下更重要)“SLA 层所需的”等内容。简而言之,记录重新创建服务(而不是服务器)所需的内容。
例如。如果电子邮件是服务,我会列出以下内容:
硬件:64 位 CPU,3gb 内存(基于@today 的用户数)7gb 用于服务器安装的空间,100gb 用于交换 dbs 和恢复的存储空间(基于@today 的使用情况),dvd rom 驱动器。
软件:Server 2003 R2、Exchange 2007 SP2、SAN 的 MPIO 驱动程序
ETC...
CMDB 通常不用于服务器管理员。管理员会对资产管理解决方案感到满意。
操作系统补丁级别。这可能意味着很多事情。理想情况下,您可以在矩阵中跟踪哪些单独的补丁位于哪些机器上。穷人的版本是每台服务器的“最后一个补丁日期”(假设你每次都拉入所有更新,批发)。
对于 UNIX/Linux,我将配置文件分为两组:由操作系统提供的和属于我们自定义应用程序的一部分。
所有应用程序配置文件都保存在我们的源代码库中。我为每个安装(开发、质量保证、生产、预生产、演示......)都有不同的标准副本。当我们确定需要对其中任何一个进行更改时,更改首先发生在源 repo 副本中,然后部署到必要的服务器上。我们还在问题跟踪器中打开了相应的更改请求。
对于操作系统类型的配置文件,我们可能在源代码库中有也可能没有它们。如果是,那么我们使用上面的过程。如果没有,如果更改数量达到某个任意阈值,我们会将它们放入存储库中。在那之前,我们至少在问题跟踪器中打开一张票来跟踪该更改。
此外,我们的问题跟踪器的一个重要功能是能够索引源 repo 提交。它很好地将您的票证与您的配置更改联系起来。
对于网络设备,例如 Cisco 交换机,我喜欢在版本控制系统中收集和跟踪它们的启动和运行配置。如果可能,我也会存储进行编辑的用户名。
我通常通过 Perl 脚本来提取它,除非我可以选择自动监控日志并从日志数据中触发配置收集。
对于网络设备 RANCID(自动配置抓取器)是理想的。
对于服务器,诸如 etckeeper(将 /etc/ 保存在 VCS 中)和 puppet(其配置在 VCS 中)之类的组合。
视窗: