在Python中创建灵活的脚本分发和数据收集的代理框架最佳方法是什么
我想做的事情是:我有成百上千台服务器,每台服务器上都有很大的日志文件,这些服务器分布在不同的客户那里。我正在写一些很不错的 Python 脚本,用来以不同的方式解析这些日志,并希望能把从所有服务器收集到的数据汇总起来。我还想把这些不断变化的脚本集中管理。我的想法是,创建一个工具,可以连接到每台服务器,把脚本传送到服务器上,然后用 pexpect 或类似的工具运行这个脚本,最后把生成的数据以单独的文件传回,方便汇总,或者(我觉得更好)实时传输数据并即时汇总。我现在没有设置密钥(也不想设置),但我有一个数据库,里面有连接信息、登录名、密码等。
我的问题是:这听起来应该是一个已经解决的问题,我想知道有没有人知道有什么工具可以做到这一点,或者有没有一种可靠的方法可以实现这个功能……
4 个回答
1
看看这个 Func。它是一个用Python编写的框架,可以让你和很多机器进行类似远程过程调用(rpc)的通信。更棒的是,它内置了TLS,这样你就不需要在SSH隧道上再加一层安全保护了。
1
Parallel Python 提供了一些用于分布式计算和通信的功能:
3
看起来 hadoop 是你需要的解决方案。你可以参考这个链接了解更多信息:http://www.michael-noll.com/wiki/Writing_An_Hadoop_MapReduce_Program_In_Python
另外,Pyro 也不错,但我不太确定你是否可以自动分发脚本。你可以查看这个链接了解它的功能:http://pyro.sourceforge.net/features.html