1

在我正在从事的软件项目中,我们将拥有一个管理服务器和数百个客户端。该管理服务器将定义策略并发送客户端(或客户端将接受)。我认为,这种结构就像组策略。是否有 API 或对我的 C++ 程序有用的东西。

我遇到了Netconf命名的东西,但我没有成功运行它。我正在考虑用 RPC 协议编写我的配置管理系统,如果我找不到任何有用的东西但我不知道用 C++ 实现是否容易。

或者我认为我可以使用 Web 服务来更新客户端配置文件。

顺便说一句,我不确定是否将那个东西称为“配置管理器”。

4

2 回答 2

3

如果您的配置文件很大,让我们考虑一下情况。如果您有包含用户列表的文件并且刚刚添加了新文件,那么您不希望将整个文件复制到集群中的所有框。这就是为什么我不得不使用版本控制系统作为配置管理程序的主要原因。

为了实现这一点,只需设置一个流行的 VCS(我使用 Mercurial),将配置放入存储库并克隆然后在客户端的盒子上。如果您需要更新配置,那么您正在将更改推送到 VCS 并为每个客户端/主机执行以下操作

ssh -q user@host "cd $VCS_root && hg pull -u"
于 2013-05-16T19:42:18.803 回答
0

如果服务器可以通过 SSH 连接到客户端,Ansible ( http://ansible.cc ) 可能会完成这项工作。它是一个命令行工具,但您应该能够从 C++ 调用它。

本质上,您将创建一个可以运行以更新客户端策略的剧本。如果客户数量不同且他们的政策不同,您可以将该信息放在动态库存“脚本”中: http: //ansible.cc/docs/api.html#external-inventory-scripts

我们使用这种方法,以便我们从 Java Web 应用程序调用 ansible playbook,并在 playbook 从同一个 Web 应用程序(RESTful Web 服务)运行期间获取库存数据。

于 2013-05-22T21:32:05.980 回答