你如何pipe理20个或更多的Linux服务器?

我正在研究关于集中pipe理20台Linux服务器和100台Linux工作站的最精通的方法。

我不确定是否有一些pipe理和监控套件可以实现单站的日常pipe理工作和故障排除。

我有一个站点,有四十个工作站和大约十五个计算节点。

我通过以下方式pipe理工作站:

  • 迫使工程师将所有数据存储在NFSnetworking上,而不是在本地
  • 不要让任何工程师出于任何原因在任何工作站上安装root
  • 将所有的系统日志logging到一个中央的syslog-ng主机上,日志parsing是定期进行的(通常是每天一次,但有时候每小时一次)
  • 用nagios监视上/下
  • 有一个可重复的kickstart环境 – 经验法则是,如果问题不能在30分钟内解决,机器会重新启动(实际上,我们实际上比什么时候启动得快得多,因为在这种设置中很less有三十分钟的故障排除我们可以做),如果kickstart失败,我们开始交换硬件

我以相同的方式pipe理计算场,除了:

  • 有一个本地/暂存目录,任何人都可以写任何东西 – 但是该目录的内容不能保证
  • 性能/使用率计数器是通过中央主机通过munin完成的
  • networking活动通过使用cacti来监控服务器场节点连接的交换机端口来完成

这不是完美的,但它保持了这一个网站。

(哦,这个网站没有现场的全职IT人员,这是PT和点播,上面的监控系统通常可以让你知道遇到电脑的时候)

从你的自动化有几个选项,包括

  • cfengine的
  • 傀儡 (目前我用什么)
  • 厨师

在监测方面,我会build议Icinga或Nagios基本相同。

希望这可以帮助。 真正要做的就是规划你想要使用的自动化和监控,然后根据你的要求select最好的解决scheme。 一切都有自己的优点和缺点,所以仔细计划和select你想要的。

使用厨师来pipe理我的服务器configuration,我获得了最大的价值。 Monit , SEC , Collectd和Icinga帮助我监视它们。

你的“日常pipe理”任务是什么? 你在运行什么发行版?

Logwatch和cron电子邮件可以帮助您及时了解服务器上正在发生的事情。 除此之外,像Puppet这样的产品可以帮助自动执行诸如推出软件包,更改防火墙configuration等。还有一些工具,如并行SSH ,可以帮助您一次性在一堆服务器上手动执行某些命令行。

如果您运行的是基于Debian的解决scheme,则会有一个名为apticron的软件包,它将通过cron定期运行,并可以通过电子邮件通知您哪些软件包需要更新。 我知道Redhat / CentOStypes的发行版有类似的程序,但是目前这个名字正在逃避我。

至于监测,有大量的包,你可以检查出来。 我对Nagios非常偏心,但是有很多免费和付费的系统可以做得很好。 尽pipe没有提供更多的细节,但我们很难为您的具体情况提供良好的build议。