收集并集中来自多个服务器的信息,有点像 Puppet 的

收集并集中来自多个服务器的信息,有点像 Puppet 的

我们用 Puppet 愉快地管理了数百台 RedHat Enterprise Linux 服务器。其中一个很酷的副作用是,我们可以转到 /var/lib/puppet/yaml/facts 并查看“facter”实用程序(Puppet 的一部分)的输出。

现在,我希望能够以同样的方式方便地获取更多信息,例如哪些服务正在运行或停用,或者已安装的软件包列表。我并不是在谈论监控,因为我对此不太感兴趣,而是更关心如何将信息集中起来进行分析。

我认为这样做有两个部分:

  • 首先是将中央存储库连接到客户端的机制。我记得 net-snmp 已经公开了 RPM 数据库(如果允许的话),我猜它可能会或可能会公开 chkconfig。

  • 第二个是存储上述信息的工具。

哪种工具可以帮助解决这个问题?我正在寻找一种可以以方便的方式存储数据的方法,无论是 SQL、YAML、XML 还是格式一致的文本文件,并且可以轻松地告诉与谁交谈。

答案1

您可能还想结账集体,它已被 puppetlabs 采纳为正式项目。它可进行编排并允许实时查询您的系统。

有各种屏幕录像和简单的插件机制,它使临时问题变得容易,并使用 puppet 的 RAL 和 facter,但还有其他插件可用,您可以编写自己的插件。屏幕录像显示了它的实际操作。

答案2

对于已安装的软件包,net-snmp 可能是最好的方法。

如果你想要一个好的木偶事实界面,你可以尝试领班。git 版本还有一个 REST api,您可以在脚本中使用它。

您可以编写自定义木偶事实并通过领班访问它们。

相关内容