自动化和部署新的Linux服务器

我正在开发一种将新虚拟机自动化到我的环境中的方法。 我们的机器中有90%是虚拟的,但是对于基于物理和基于vmware的映像,这个过程是相似的。 我现在所做的就是使用皮匠来安装基本的操作系统。 kickstart脚本有post hook来修改yum repo并安装puppet和func。 一旦服务器正在运行,我手动将它们添加到Nagios中,并通过puppetmaster签名证书。 我已经迁移了大部分资源来使用mysql作为后端。

我想看看其他人在做什么,我的目标是2011年的目标是傀儡库存的硬件到MySQL,不知何故,我会编写一个python脚本,让纳吉奥斯获取信息,并自动添加为监测目的。 将每个新服务器添加到Nagios,puppet的仪表板,munin等等是一种乏味的工作。

补鞋匠是错综复杂的国际海事组织。 你可以使用工头为你自动完成大部分工作。 (包括木偶证书签名)。 它也可以做库存和Puppet报表监控部分。 所有特点 :

Foreman是一个Rails应用程序,所以它很容易扩展。 您可以添加代码以包含创build/销毁挂钩以在Nagios中添加/删除服务器。 或者只需阅读Foreman主机Db,即可向Nagios提供主机列表。 API在这里可能会有所帮助。

我几乎完全相同的情况。 现在最大的痛点是func和puppet证书,无论是在新版本中,而是经常在现有服务器上重新构build。 那和ssh键。 所以接下来你应该做什么,然后张贴,所以我可以偷走,是弄清楚如何获得func,puppet和ssh来整理他们的钥匙自己废话,所以我不必考虑它。

关于添加到Nagios,如果你只是自己修改configuration文件,我build议看看NConf http://www.nconf.org/dokuwiki/doku.php

另请参阅我在此处回答的NConf的另一个问题监视VPN客户端的状态

它不会自动执行,但它具有克隆function,可以轻松克隆类似的硬件,更新networking地址,然后运行脚本来更新nagiosconfiguration。

这也让我很烦恼,主要是为了将所有的新服务器添加到nagios中。 为了更容易地向nagios添加新的服务器,我开始使用基于web的pipe理工具NagiosQL http://www.nagiosql.org

我尝试了几个Nagios的pipe理工具,我可以说这是我find的最好的,它很容易设置和使用它。 我使用了几个月,我认为使用这个工具设置新服务器比在configuration文件中手动configuration新服务器更快。

我们使用statellite

对于Nagios,我们使用激活码来configuration/软件通道,以便通过通道注册主机并加载正确的软件包。 我们也使用一些东西的前后脚本。 我们手动将服务器添加到nagios,但没有理由不能编写脚本 – 除非我们懒惰。 我们有一个除卫星以外的资产数据库(因为它需要跟踪许多操作系统的主机,而不仅仅是红帽子),我们手动添加服务器。 我们没有编写更新的assertb,但我们打算将XML-RPC接口用于卫星。

我们还将XML-RPC接口与另一个脚本一起使用到另一个脚本中,该脚本还会与ESXi通话,以确定是否有卫星上的机器不再以VM的forms存在,因此可能会被淘汰,并确保所有机器ESX在一个合适的卫星组中,以确保他们得到补丁,我们通过卫星补丁 – 批量修补通过卫星系统组。

我不确定木偶证书方面,因为我从来没有build立木偶,所以不知道涉及到什么。