![我如何从我的 ghost cast 服务器检索统计数据?](https://linux22.com/image/580001/%E6%88%91%E5%A6%82%E4%BD%95%E4%BB%8E%E6%88%91%E7%9A%84%20ghost%20cast%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%A3%80%E7%B4%A2%E7%BB%9F%E8%AE%A1%E6%95%B0%E6%8D%AE%EF%BC%9F.png)
我有一个 GhostCast 服务器正在运行,用于部署图像。我希望每个 ghost cast 会话都向一个文件(可以是多个文本文件或附加到一个已经存在的文件)写入统计信息。我知道这可以根据 GhostCast 软件提供的写入日志文件的选项来实现,但我希望每个要备份和恢复的图像都能自动执行此操作。我不想让我的员工每次都单击写入新文件。
这可能吗?
答案1
好吧,GhostCast 本身写出的统计数据并不是很有用(而且格式也非常愚蠢)。考虑到 GhostCast 本身的设计有多糟糕,我可能建议我创建一个我们在开发产品时内部使用的系统,该系统也供客户使用,我确实这样做了记录并向客户展示。
该工具 (mcservice.exe) 仍未发布,就像我们从 2008 年开始做的许多其他工作一样,当赛门铁克在 2009 年初关闭开发站点并取消 Ghost Solution Suite 产品时,它实际上已经丢失了。但是,由于它在我们的内部持续构建和测试系统中用于进行测试自动化,因此它得到了很好的运用,并且仍然在今天进行基本合同维护的站点中使用和运行。
现在,我最初在 Ghost Solution Suite 中设计并编写了大部分管理系统,而那个小型服务包装器是基于我以前制作它的相同技术构建的 - 使 GhostCast 完全可靠几乎是不可能的,但至少通过用脚本掩盖较大的错误,你可以避免 99% 的错误。
为了支持我的管理系统,GhostCast 在使用该-noninteractive
标志运行时会尝试连接到管理服务 COM 对象,并轮询该对象的状态(当客户端连接到监听但未启动的会话并断开连接时),并定期询问是否应停止监听并转到会话发送阶段。然后,在发送阶段,它会偶尔发回进度信息,并通过调用该 COM 服务,使服务能够取消正在进行的传输。
所以,这不是那很难创建自己的服务包装器;绑定到 Ghost 会话查询 UDP 端口并侦听会话连接,动态启动 GhostCast 实例来满足这些请求,动态选择调整等待更多客户端的时间,然后查看会话并以易于解析的形式写出一些统计信息。
此时,您可以选择两条路线;尽管 Ghost Solution Suite 产品尚未积极开发,而且我们自 2008 年以来所做的大部分工作都不会发布,但它仍然得到维护。如果您的组织有销售代表,我会通过他们(特别是如果您有维护合同)查看您是否可以“按原样”获得此工具,不受支持 - 它是产品构建的标准部分,每天都在使用。由于 Windows 8 发布时可能会有维护汇总,因此也可能将其作为不受支持的额外功能添加到产品中(我当时尝试这样做,但那是当时;现在产品没有未来,想法可能会有所不同)。
否则,您可以通过查看类型库来获取 GhostCast 用来构建类似工具的 COM 接口信息,从头编写一个粗略的等效物;事实上已经存在一个(即使遥不可及)表明了什么是可能的,而这已经是成功的一半。