程序员如何管理多台(地理上不同的)Linux 机器?

use*_*398 2 linux cloud

我不是管理员,但我必须管理大约 10 台 Linux 服务器。这些服务器遍布世界各地,一些用作生产服务器,另一些用作登台或开发服务器。

目前没有对这些服务器进行集中管理。如果我必须创建一个用户,我必须在所有机器上手动创建,我必须手动将它们添加到一个组中(并重新阅读手册页以查看它是如何完成的),编辑 sudoers 文件等。

所有这些机器都运行我们的定制软件,所以我需要一种方法来监控进程(可以像重复执行“ps -ef”以确保它启动一样简单)。

我见过一些软件可以集中管理机器,比如nagios、webmin、redhat的spacewalk、ubuntu的landscape等很多变种。

  • 我更喜欢免费软件,但如果易于配置/管理,我愿意支付少量费用(适合两人/三人启动)
  • 看起来进程/机器监控(nagios)通常与管理用户(webmin)是分开的,这仍然与包管理(landscape/spacewalk)不同......真的吗?
  • 既然云计算在小型商店中变得流行(其中许多由开发人员运营,没有管理员),是否有更简单(更好看)的工具来轻松管理多台机器(虚拟或真实)?
  • 同样,由于云计算,许多中间件供应商都包含基于休息的接口——是否有工具可以让我从单个“仪表板”使用这些接口?

wom*_*ble 7

你想要人偶。系统自动化ftw。从程序员的角度来看,Puppet 的另一个好处是您可以有效地编写代码来管理机器,并且您的更多编程最佳实践(如修订控制)自然地映射到 Puppet 的工作方式。